Files that survive a single workflow run
An artifact is a file or directory uploaded by one job and downloadable from another job (in the same workflow run) or from the run UI for 90 days. Artifacts are how you pass data between jobs that run on different runners.
Common uses:
- Test reports (JUnit XML, coverage HTML).
- Build output (
dist/, container images saved as tar). - Screenshots from end-to-end tests.
- Logs and debug bundles when something fails.
The two actions
actions/upload-artifact@v4— upload at the end of a job.actions/download-artifact@v4— download at the start of another job (same run only).
v4 is significantly faster than v3 (different storage backend) and changed the naming rules: artifact names within a run must be unique. If you have a matrix, include the matrix dimensions in the name.