You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Michał Chęciński 850faad0cf
Fix download old-ish artifacts (#67)
3 years ago
..
node_modules Add download-artifact action (#10) 4 years ago
LICENSE Add download-artifact action (#10) 4 years ago
README.md Add download-artifact action (#10) 4 years ago
action.yml Add download-artifact action (#10) 4 years ago
main.js Fix download old-ish artifacts (#67) 3 years ago
package-lock.json Add download-artifact action (#10) 4 years ago
package.json Add download-artifact action (#10) 4 years ago

README.md

Thanks to dawidd6 and his Download Artifact action! Most of the functionality of this action comes from that. Unfortunately, we needed to handle downloads in a slightly different manner.

Download workflow artifact GitHub Action

An action that downloads and extracts uploaded artifact associated with given workflow and commit or other criteria.

Let's suppose you have a workflow with a job in it that at the end uploads an artifact using actions/upload-artifact action and you want to download this artifact in another workflow that is run after the first one. Official actions/download-artifact does not allow this. That's why I decided to create this action. By knowing only the workflow name and commit SHA, you can download the previously uploaded artifact from different workflow associated with that commit and use it.

Usage

If commit or pr or branch or run_id or workflow_conclusion is not specified then the artifact from the most recent successfully completed workflow run will be downloaded.

Do not specify pr, commit, branch, run_id together or workflow_conclusion and run_id together. Pick just one of each or none.

- name: Download artifact
  uses: dawidd6/action-download-artifact@v2
  with:
    # Optional, GitHub token, a Personal Access Token with `public_repo` scope if needed
    # Required, if artifact is from a different repo
    # Required, if repo is private a Personal Access Token with `repo` scope is needed
    github_token: ${{secrets.GITHUB_TOKEN}}
    # Required, workflow file name or ID
    workflow: workflow_name.yml
    # Optional, the status or conclusion of a completed workflow to search for
    # Can be one of a workflow conclusion:
    #   "failure", "success", "neutral", "cancelled", "skipped", "timed_out", "action_required"
    # Or a workflow status:
    #   "completed", "in_progress", "queued"
    workflow_conclusion: success
    # Optional, will get head commit SHA
    pr: ${{github.event.pull_request.number}}
    # Optional, no need to specify if PR is
    commit: ${{github.event.pull_request.head.sha}}
    # Optional, will use the branch
    branch: master
    # Optional, defaults to all types
    event: push
    # Optional, will use specified workflow run
    run_id: 1122334455
    # Optional, run number from the workflow
    run_number: 34
    # Optional, uploaded artifact name or comma seperated list of artifact names
    # This supports wild card names like "artifact*.zip"
    # If not specified, will download all artifacts
    artifacts: artifact_name
    # Optional, directory where to extract artifact. Defaults to the artifact name (see `name` input)
    path: extract_here
    # Optional, defaults to current repo
    repo: ${{github.repository}}
    # Optional, check the workflow run whether it has an artifact
    # then will get the last available artifact from previous workflow
    # default false, just try to download from the last one
    check_artifacts:  false