Hello all - we are trying to update our workflows ...
# github-actions
t
Hello all - we are trying to update our workflows and actions to node20 and are using your excellent
github-action-matrix-outputs-write
and
github-action-matrix-outputs-read
actions.
github-action-matrix-outputs-read
unfortunately is still using an older version of
actions/download-artifact
which uses node16 and I see an automatic PR in your repo to update it is failing :( Are there any plans to update this to use v4 of actions/download to address this? The v4 actions have breaking changes and now uploaded artifacts are immutable so it may be that
github-action-matrix-outputs-write
needs some changes at the same time so that they continue to work as expected?
e
@Igor Rodionov can you help update this
@Gabriela Campana (Cloud Posse)
πŸ‘€ 1
i
Sure
t
That would be great, thanks guys! I tried simply updating the version of actions/download-artifact (ans omse other older version) in a local copy but it didn't work - the download find no artifacts, so I think your write action needs an update of some kind too, though it is not obvious to me what that update should be..
i
The case is that
actions/download-artifact
v3
is not compatible with
v4
. Github changed download API so it needs additional work to update.
e
Can you elaborate @Igor Rodionov? You mean the official GHA doesn't support GitHub's own API?
i
sure
@Erik Osterman (Cloud Posse) 1. download-artifact@v4+ is not currently supported on GHES yet. If you are on GHES, you must use v3. 2. Downloading artifacts that were created from
action/upload-artifact@v3
and below are not supported. 3. In
v3
, Artifacts are mutable so it’s possible to write workflow scenarios where multiple jobs upload to the same Artifact. In v4, Artifacts are immutable (unless deleted). So you must change each of the uploaded Artifacts to have a different name and filter the downloads by name to achieve the same effect. This was key feature we used. Now we need to change write/read action to suppor that
links
so we can not just pin new version
t
Perhaps you could simply prefix them all with the `matrix-step-name`in the write action and then in the read action, pass the
pattern
argument as
<matrix-step-name>*
and
merge-multiple: true
to
actions/download-artifact. I
think that would essentially get you back to what you have today right?
e
Yes, I that sounds like what should happen. Merge on download and use jq to aggregate.
Interestingly I faced a related issue (on an unrelated workflow) over three weekend. I put it on hold but think I will do exactly this.
πŸ‘ 1
t
@Igor Rodionov @Erik Osterman (Cloud Posse) have you guys given any thought to an ETA for a fix for the github actions? Thanks
i
@Tony I am working on it now. I will delivery the fix this week
t
Awesome @Igor Rodionov - thanks!
i
t
Hi @Igor Rodionov Great! I will hopefully be able to look at this tomorrow or Friday latest and report back to you.
πŸ‘ 2
@Igor Rodionov I have tested today on my pipeline which merges output from two parallel jobs - the output with the old version and the new version of your actions looks the same so it does appear to be working as expected.
πŸŽ‰ 1
Thanks again for actioning this so quickly
πŸ™ 1