Accessing artifacts from triggering workflow run

I have two workflows:

  1. Builds everything on every commit
name: Push workflow
on:
  push:
jobs:
  ...
  1. Release if 1. was run on branch ‘release’
name: Release workflow
on:
  workflow_run:
    workflows: ["Push workflow"]
    branches:
      - "release"
    types:
      - completed

    # do a release

“Push workflow” compiles and packages the binary outputs and it uploads them as a workflow run artifact.
I’m trying to access these artifacts from the “Release workflow”, as I don’t want to compile everything again.

I tried actions/download-artifact@v2 but didn’t work, which make sense as this are 2 different workflow runs.

Is there any field/url pointing to the triggering workflow run that I can use to download it’s artifacts?
Or do I have to change the strategy and have a single workflow with 2 dependent jobs ?

Thanks

Thanks for your feedback.
As mentioned in the official document:
If you need to access artifacts from a previous workflow run, you’ll need to store the artifacts somewhere. For example, you could run a script at the end of your workflow to store build artifacts on Amazon S3 or Artifactory, and then use the storage service’s API to retrieve those artifacts in a future workflow.
At the same time I found a post with a similar topic, you could leave a comment and keep track of this feature over there.

Thanks for your reply @niconbw I understand the current limitations.
I was hoping that I could somehow get a reference the triggering workflow (id? url? sha1?) to be used as a based for any external storage system, or to retrieve it’s run artifacts using the api.
I will be following the mentioned ticket and wait for updates.
Thanks again for your help.

You may find this Action useful:

1 Like

This looks exactly what I was looking for.
Thanks

dawidd6
You may find this Action useful:

I noticed in some cases the incorrect artifacts are downloaded.
Still haven’t been able to pinpoint the specific branch/commit flow that causes this though.