From 4147f97f9eca433ce94fe464d8f3902226ce2bd2 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Thu, 23 Oct 2025 17:34:32 +0200 Subject: [PATCH] workflows/merge-group: refactor prepare step to github-script Less Bash, more JavaScript - it's policy! --- .github/workflows/merge-group.yml | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/.github/workflows/merge-group.yml b/.github/workflows/merge-group.yml index fe3d8fcc27d0..0d18cbc4732b 100644 --- a/.github/workflows/merge-group.yml +++ b/.github/workflows/merge-group.yml @@ -23,7 +23,9 @@ jobs: prepare: runs-on: ubuntu-24.04-arm outputs: - systems: ${{ steps.systems.outputs.systems }} + mergedSha: ${{ steps.prepare.outputs.mergedSha }} + targetSha: ${{ steps.prepare.outputs.targetSha }} + systems: ${{ steps.prepare.outputs.systems }} steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: @@ -31,19 +33,28 @@ jobs: sparse-checkout: | ci/supportedSystems.json - - name: Load supported systems - id: systems - run: | - echo "systems=$(jq -c > "$GITHUB_OUTPUT" + - id: prepare + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 + env: + MERGED_SHA: ${{ inputs.mergedSha }} + TARGET_SHA: ${{ inputs.targetSha }} + with: + script: | + core.setOutput('mergedSha', context.payload.merge_group?.head_sha ?? process.env.MERGED_SHA) + core.info(`mergedSha: ${context.payload.merge_group?.head_sha ?? process.env.MERGED_SHA}`) + core.setOutput('targetSha', context.payload.merge_group?.base_sha ?? process.env.TARGET_SHA) + core.info(`targetSha: ${context.payload.merge_group?.base_sha ?? process.env.TARGET_SHA}`) + core.setOutput('systems', require('./ci/supportedSystems.json')) lint: name: Lint + needs: [prepare] uses: ./.github/workflows/lint.yml secrets: CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }} with: - mergedSha: ${{ inputs.mergedSha || github.event.merge_group.head_sha }} - targetSha: ${{ inputs.targetSha || github.event.merge_group.base_sha }} + mergedSha: ${{ needs.prepare.outputs.mergedSha }} + targetSha: ${{ needs.prepare.outputs.targetSha }} eval: name: Eval @@ -58,8 +69,8 @@ jobs: CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }} with: artifact-prefix: ${{ inputs.artifact-prefix }} - mergedSha: ${{ inputs.mergedSha || github.event.merge_group.head_sha }} - targetSha: ${{ inputs.targetSha || github.event.merge_group.base_sha }} + mergedSha: ${{ needs.prepare.outputs.mergedSha }} + targetSha: ${{ needs.prepare.outputs.targetSha }} systems: ${{ needs.prepare.outputs.systems }} # This job's only purpose is to create the target for the "Required Status Checks" branch ruleset.