On Tue, Nov 08, 2022 at 07:52:07PM +0100, Ævar Arnfjörð Bjarmason wrote: > I don't know if there's a workaround for that, I'd think it would be the > logical equivalent of e.g.: > > group: sparse-${{ matrix.nr }}-${{ github.ref }}-${{ needs.ci-config.outputs.skip_concurrent ? github.run_id : "" }} Hmm. Did you mean the opposite of the last part of that expression? IOW, shouldn't it be: ${{ needs.ci-config.outputs.skip_concurrent ? "" : github.run_id }} That is: if we're cancelling builds when others are in progress, the group ID shouldn't contain information about the specific run ID. But if we *aren't* cancelling builds, then the group needs to have the run ID in it, that way we're effectively disabling the new behavior altogether. > But the docs say "The expression can only use the github context."[3], > and I don't know if such a thing would fit inside the syntax... That's at the workflow level. When you specify a 'concurrency' block inside of an individual job, you can use any context object excepts the secrets one [2]. Thanks, Taylor [2]: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idconcurrency