3.2 KiB
@actions/artifact
Interact programmatically with Actions Artifacts.
This is the core library that powers the @actions/upload-artifact
and @actions/download-artifact
actions.
v2 - Major Performance and Behavioral Improvements
[!IMPORTANT] @actions/artifact v2+, download-artifact@v4+ download-artifact@v4+ are not currently supported on GHES yet. The previous version of this package can be found at this tag and on npm.
The release of @actions/artifact@v2
(including download-artifact@v4
and download-artifact@v4
) are major changes to the backend architecture of Artifacts. They have numerous performance and behavioral improvements.
Improvements
- All upload and download operations are exponentially faster, up to 80% faster download times and 96% faster upload times in worst case scenarios.
- Once uploaded, Artifacts becoming immediately available in the UI and REST API. Previously, you would have to wait for the run to be completed.
- Artifacts are immutable once they are uploaded. They cannot be altered by subsequent jobs. (Digest/integrity hash coming soon in API!)
- This library (and
actions/download-artifact
) now support downloading Artifacts from other repositories and runs if aGITHUB_TOKEN
with sufficientactions:read
permissions are provided.
Breaking changes
-
Firewall rules required for self-hosted runners.
If you are using self-hosted runners behind a firewall, you must have flows open to Actions endpoints. If you cannot use wildcard rules for your firewall, see the GitHub meta endpoint for specific endpoints.
e.g.
curl https://api.github.com/meta | jq .domains.actions
-
Uploading to the same named Artifact multiple times.
Due to the behavior of how Artifacts are created in this new version, it is no longer possible to upload to the same named Artifact multiple times. You must either split the uploads into multiple names Artifacts, or only upload once.