Search code examples
githubcontinuous-integrationgithub-actions

Share artifacts between workflows / Github Actions


I know that you can share artifacts between jobs of the same workflow...

But how can I share artifacts across different workflows?


Solution

  • GitHub has now added a REST API for downloading artifacts. Basically you do

    GET repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}
    

    And then you'll have to look for Location: in the response, and then access that url to download the artifact. The url is valid for 1 minute.

    There's a GitHub Action that uses the API above that you can easily add to your workflow. I use it like this

    - name: Download artifact
      uses: dawidd6/action-download-artifact@v2
      with:
        workflow: ${{ github.event.workflow_run.workflow_id }}
        workflow_conclusion: success
    

    Read more about it here: https://github.com/dawidd6/action-download-artifact