A GitHub Action for uploading files and directories as workflow artifacts, enabling data sharing between jobs and runs.
`@actions/upload-artifact` is an official GitHub Action that uploads files and directories generated during a workflow run as persistent artifacts. It solves the problem of sharing data between jobs or preserving build outputs, logs, or test results for later analysis. The action integrates seamlessly into GitHub Actions workflows, providing configurable options for path selection, compression, and artifact lifecycle management.
Developers and DevOps engineers using GitHub Actions for CI/CD who need to pass build artifacts, test results, or other files between jobs or retain them post-workflow. It's essential for teams building, testing, and deploying software with GitHub's automation platform.
Developers choose this action because it's the official, maintained solution for artifact uploads on GitHub Actions, offering high performance, reliability, and deep integration with the platform. Its immutable artifact design prevents data corruption, and features like compression tuning and wildcard support provide flexibility not always found in custom scripts.
@actions/upload-artifact is an official GitHub Action that allows developers to upload files, directories, or files matching wildcard patterns as artifacts from their workflow runs. These artifacts are stored by GitHub and can be downloaded later or used by other jobs in the same workflow, facilitating data persistence and sharing across CI/CD steps.
The action is designed to be a reliable, performant, and secure method for persisting workflow data, with sensible defaults that prioritize safety (like excluding hidden files) while offering granular control for advanced use cases.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
v4 offers up to 90% faster upload speeds and creates immutable archives, preventing data corruption from concurrent modifications, as highlighted in the 'Improvements' section.
Supports wildcards, exclusions, and multiple paths for precise file selection without manual scripting, demonstrated in examples like 'Upload using Multiple Paths and Exclusions'.
Allows compression level adjustment from 0 to 9, optimizing for speed or size based on file types, with specific guidance for large binaries in the 'Altering compression level' example.
Provides artifact IDs, URLs, and digests as outputs for automation with the GitHub REST API and inter-job data passing, detailed in the 'Outputs' and 'Using Outputs' sections.
v4 removed the ability to upload to the same artifact from multiple jobs, breaking previous workflows and requiring careful artifact naming in matrices, as warned in the 'Breaking Changes'.
Latest versions (v4+) are not supported on GitHub Enterprise Server, forcing users to stick with older, deprecated versions, noted in the 'v4 - What's new' section.
File permissions are lost during upload, and artifacts are always Zip files with no alternative formats, limiting use cases for executables or direct access, as stated in 'Limitations'.