From 5ddb63fe13c213a7cd1e0866186cbed933fbfbc1 Mon Sep 17 00:00:00 2001 From: John Titor <50095635+JohnRTitor@users.noreply.github.com> Date: Tue, 3 Dec 2024 22:39:54 +0530 Subject: [PATCH] ci/eval: use the get-merge-commit workflow --- .github/workflows/eval.yml | 46 +++++++++----------------------------- 1 file changed, 11 insertions(+), 35 deletions(-) diff --git a/.github/workflows/eval.yml b/.github/workflows/eval.yml index f291e288c434..fe3262295e2e 100644 --- a/.github/workflows/eval.yml +++ b/.github/workflows/eval.yml @@ -16,53 +16,29 @@ permissions: contents: read jobs: + get-merge-commit: + uses: ./.github/workflows/get-merge-commit.yml + attrs: name: Attributes runs-on: ubuntu-latest + needs: get-merge-commit outputs: - mergedSha: ${{ steps.merged.outputs.mergedSha }} + mergedSha: ${{ needs.get-merge-commit.outputs.mergedSha }} baseSha: ${{ steps.baseSha.outputs.baseSha }} systems: ${{ steps.systems.outputs.systems }} steps: - # Important: Because of `pull_request_target`, this doesn't check out the PR, - # but rather the base branch of the PR, which is needed so we don't run untrusted code - - name: Check out the ci directory of the base branch - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - path: base - sparse-checkout: ci - - name: Check if the PR can be merged and get the test merge commit - id: merged - env: - GH_TOKEN: ${{ github.token }} - GH_EVENT: ${{ github.event_name }} - run: | - case "$GH_EVENT" in - push) - echo "mergedSha=${{ github.sha }}" >> "$GITHUB_OUTPUT" - ;; - pull_request_target) - if mergedSha=$(base/ci/get-merge-commit.sh ${{ github.repository }} ${{ github.event.number }}); then - echo "Checking the merge commit $mergedSha" - echo "mergedSha=$mergedSha" >> "$GITHUB_OUTPUT" - else - # Skipping so that no notifications are sent - echo "Skipping the rest..." - fi - ;; - esac - rm -rf base - name: Check out the PR at the test merge commit uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 # Add this to _all_ subsequent steps to skip them - if: steps.merged.outputs.mergedSha + if: needs.get-merge-commit.outputs.mergedSha with: - ref: ${{ steps.merged.outputs.mergedSha }} + ref: ${{ needs.get-merge-commit.outputs.mergedSha }} fetch-depth: 2 path: nixpkgs - name: Determine base commit - if: github.event_name == 'pull_request_target' && steps.merged.outputs.mergedSha + if: github.event_name == 'pull_request_target' && needs.get-merge-commit.outputs.mergedSha id: baseSha run: | baseSha=$(git -C nixpkgs rev-parse HEAD^1) @@ -70,18 +46,18 @@ jobs: - name: Install Nix uses: cachix/install-nix-action@08dcb3a5e62fa31e2da3d490afc4176ef55ecd72 # v30 - if: steps.merged.outputs.mergedSha + if: needs.get-merge-commit.outputs.mergedSha - name: Evaluate the list of all attributes and get the systems matrix id: systems - if: steps.merged.outputs.mergedSha + if: needs.get-merge-commit.outputs.mergedSha run: | nix-build nixpkgs/ci -A eval.attrpathsSuperset echo "systems=$(> "$GITHUB_OUTPUT" - name: Upload the list of all attributes uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 - if: steps.merged.outputs.mergedSha + if: needs.get-merge-commit.outputs.mergedSha with: name: paths path: result/*