download-artifact/README.md
Konrad Pabjan d0b19596d3
V2 Updates (#36)
* Update README with compatibilty differences between v1 and v2

* NPM package updates and rebuild index.js

* Update README

* Compat update
2020-04-30 22:50:01 +02:00

3.1 KiB

Download-Artifact v2

This downloads artifacts from your build

See also upload-artifact.

What's new

  • Download all artifacts at once
  • Port entire action to typescript from a runner plugin so it is easier to collaborate and accept contributions

Refer here for the previous version

Usage

See action.yml

Download a Single Artifact

Basic (download to the current working directory):

steps:
- uses: actions/checkout@v2

- uses: actions/download-artifact@v2
  with:
    name: my-artifact
    
- name: Display structure of downloaded files
  run: ls -R

Download to a specific directory:

steps:
- uses: actions/checkout@v2

- uses: actions/download-artifact@v2
  with:
    name: my-artifact
    path: path/to/artifact
    
- name: Display structure of downloaded files
  run: ls -R
  working-directory: path/to/artifact

Compatibility between v1 and v2

When using download-artifact@v1, a directory denoted by the name of the artifact would be created if the path input was not provided. All of the contents would be downloaded to this directory.

   current/working/directory/
      my-artifact/
          ... contents of my-artifact

With v2, there is no longer an extra directory that is created if the path input is not provided. All the contents are downloaded to the current working directory.

   current/working/directory/
      ... contents of my-artifact

To maintain the same behavior for v2, you can set the path to the name of the artifact so an extra directory gets created.

- uses: actions/download-artifact@v2
  with:
    name: my-artifact
    path: my-artifact

Download All Artifacts

If the name input parameter is not provided, all artifacts will be downloaded. To differentiate between downloaded artifacts, a directory denoted by the artifacts name will be created for each individual artifact.

Example, if there are two artifacts Artifact-A and Artifact-B, and the directory is etc/usr/artifacts/, the directory structure will look like this:

  etc/usr/artifacts/
      Artifact-A/
          ... contents of Artifact-A
      Artifact-B/
          ... contents of Artifact-B

Download all artifacts to a specific directory

steps:
- uses: actions/checkout@v2

- uses: actions/download-artifact@v2
  with:
    path: path/to/artifacts
    
- name: Display structure of downloaded files
  run: ls -R
  working-directory: path/to/artifacts

Download all artifacts to the current working directory

steps:
- uses: actions/checkout@v2

- uses: actions/download-artifact@v2

- name: Display structure of downloaded files
  run: ls -R

@actions/artifact package

Internally the @actions/artifact NPM package is used to interact with artifacts. You can find additional documentation there along with all the source code related to artifact download.

License

The scripts and documentation in this project are released under the MIT License