Replies: 11 comments 19 replies
-
I explained this another way at https://github.51.almunity/t/roll-up-matrix-outputs/253564 This is a huge limitation of the current interface IMO. I like the idea of a
|
Beta Was this translation helpful? Give feedback.
-
An alternative might be stop hacking around with dynamic matrixes and be able to run dynamic workflows. In gitlab there's an equivalent feature where you can generate and run a child pipeline. The advantage of generating a whole pipeline/workflow is that at this point you can just dynamically hardcode everything exactly like you need. |
Beta Was this translation helpful? Give feedback.
-
💀 Sad Github changes discussion links under the hood destroying contex 💣 ! It seams an intended Github feature to prevent people from accumulating comparable discussions/threads. |
Beta Was this translation helpful? Give feedback.
-
Verry informative and helpful post... Thank you! |
Beta Was this translation helpful? Give feedback.
-
Is there any update on this? Is github working on this? |
Beta Was this translation helpful? Give feedback.
-
I've worked around this by using artifacts to generate the matrix. jobs:
matrix:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
- target: mafiapigs-macos
metaId: 2177361
otherId: 2177360
- target: project-windows
metaId: 2177362
otherId: 2177360
steps:
- run: |
matrix=$((
echo '${{ toJSON(matrix) }}'
) | jq -c .)
echo "$matrix" > matrix
echo "::set-output name=matrix::$matrix"
id: matrix
if: github.event_name == 'workflow_dispatch' && (github.event.inputs.build_target == matrix.target || github.event.inputs.build_target == '*' || github.event.inputs.build_target == '')
- uses: actions/upload-artifact@v3
with:
name: ${{ hashFiles('matrix') || 'none' }}
path: matrix
if-no-files-found: warn
check-matrix:
runs-on: ubuntu-22.04
needs: [ matrix ]
outputs:
matrix: ${{ steps.matrix.outputs.matrix }}
steps:
- uses: actions/download-artifact@v3
- run: |
matrix="$(cat */matrix | jq -c --slurp .)"
echo "::set-output name=matrix::$matrix"
id: matrix
steam:
name: "Release ${{ matrix.includes.target }}"
needs: [check-matrix]
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
includes: ${{ fromJSON(needs.check-matrix.outputs.matrix) }}
steps: |
Beta Was this translation helpful? Give feedback.
-
"Support matrix context in output keys" merged 2 days ago! |
Beta Was this translation helpful? Give feedback.
-
An FYI for anyone struggling with this and hacking their way around the limitations: the PR for the runner landed to support the new context, but the team working on the necessary server-side implementation has been completely laid off, leaving this feature in purgatory. See this comment from the contributor on the Runner issue. |
Beta Was this translation helpful? Give feedback.
-
2024 here and this is still an issue facepalm |
Beta Was this translation helpful? Give feedback.
-
OMG, how is this still not solved? 🤯 Interestingly, the docs say:
However, I couldn't find any more references as to how to use this or if this supports sharing outputs between jobs. |
Beta Was this translation helpful? Give feedback.
-
Is there really no update all on this? Nearly 18 months of being basically ready to ship, silence... On a such a relevant feature. upload/download artifacts is not a workaround for stricter security requirements. |
Beta Was this translation helpful? Give feedback.
-
This need has already been discussed in multiple threads on github.51.almunity, so I’m quoting a great summary that was posted in one of those threads by consideratio:
GitHub team, please take a look at the above feature requests and please consider implementing them! The current situation, wherein each successive job instance overwrites the outputs of the prior instance, is really not great. Thank you.
Beta Was this translation helpful? Give feedback.
All reactions