chore(deps): bump actions/setup-go from 5.6.0 to 7.0.0 #36
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: PR validation | |
| on: | |
| pull_request: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: pr-validation-${{ github.event.pull_request.number }} | |
| cancel-in-progress: true | |
| jobs: | |
| validate: | |
| name: PR validation | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Check out repo | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up Go | |
| uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 | |
| with: | |
| go-version-file: go.mod | |
| cache: true | |
| - name: Verify validation routing | |
| run: scripts/gatemoleci-plan-test.sh | |
| - name: Select affected validation | |
| id: plan | |
| env: | |
| BASE_SHA: ${{ github.event.pull_request.base.sha }} | |
| HEAD_SHA: ${{ github.event.pull_request.head.sha }} | |
| run: | | |
| merge_base="$(git merge-base "$BASE_SHA" "$HEAD_SHA")" | |
| git diff --name-only --no-renames "$merge_base" "$HEAD_SHA" \ | |
| > "$RUNNER_TEMP/gatemole-changed-files" | |
| scripts/gatemoleci-plan.sh --paths "$RUNNER_TEMP/gatemole-changed-files" \ | |
| >> "$GITHUB_OUTPUT" | |
| - name: Check formatting | |
| run: | | |
| files="$(gofmt -l .)" | |
| if [ -n "$files" ]; then | |
| echo "Go files need gofmt:" | |
| echo "$files" | |
| exit 1 | |
| fi | |
| - name: Check module tidiness | |
| run: | | |
| go mod tidy | |
| git diff --exit-code -- go.mod go.sum | |
| - name: Run go vet | |
| run: go vet ./... | |
| - name: Run unit tests | |
| run: go test ./... | |
| - name: Set up Python for documentation | |
| if: steps.plan.outputs.docs == 'true' | |
| uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: "3.13" | |
| cache: pip | |
| cache-dependency-path: docs/requirements.txt | |
| - name: Build documentation | |
| if: steps.plan.outputs.docs == 'true' | |
| run: | | |
| python -m pip install -r docs/requirements.txt | |
| mkdocs build --strict | |
| - name: Run GatemoleBench | |
| if: steps.plan.outputs.gatemolebench == 'true' | |
| run: scripts/gatemolebench.sh --out /tmp/gatemole-pr-validation/gatemolebench | |
| - name: Run GatemoleKernelBench | |
| if: steps.plan.outputs.kernelbench == 'true' | |
| run: scripts/gatemolekernelbench.sh --out /tmp/gatemole-pr-validation/kernelbench | |
| - name: Run GatemoleTransactionBench | |
| if: steps.plan.outputs.transactionbench == 'true' | |
| run: scripts/gatemoletransactionbench.sh | |
| - name: Run GatemoleRuntimeBench | |
| if: steps.plan.outputs.runtimebench == 'true' | |
| run: scripts/gatemoleruntimebench.sh | |
| - name: Verify Docker | |
| if: steps.plan.outputs.production == 'true' | |
| run: | | |
| docker version | |
| command -v curl | |
| command -v jq | |
| - name: Build local production fixture image | |
| if: steps.plan.outputs.production == 'true' | |
| id: fixture | |
| run: | | |
| image="$(scripts/gatemoleproductionfixture.sh \ | |
| --tag "gatemole-production-fixture:${GITHUB_SHA}")" | |
| echo "image=$image" >> "$GITHUB_OUTPUT" | |
| - name: Run production OCI acceptance | |
| if: steps.plan.outputs.production == 'true' | |
| env: | |
| GATEMOLE_PRODUCTION_IMAGE: ${{ steps.fixture.outputs.image }} | |
| run: scripts/gatemoleproductionbench.sh | |
| - name: Run paired execution recovery demo | |
| if: steps.plan.outputs.production == 'true' | |
| run: scripts/gatemolepairedexecutiondemo.sh | |
| - name: Summarize validation plan | |
| if: always() | |
| env: | |
| DOCS: ${{ steps.plan.outputs.docs }} | |
| GATEMOLEBENCH: ${{ steps.plan.outputs.gatemolebench }} | |
| KERNELBENCH: ${{ steps.plan.outputs.kernelbench }} | |
| TRANSACTIONBENCH: ${{ steps.plan.outputs.transactionbench }} | |
| RUNTIMEBENCH: ${{ steps.plan.outputs.runtimebench }} | |
| PRODUCTION: ${{ steps.plan.outputs.production }} | |
| CHANGED_COUNT: ${{ steps.plan.outputs.changed_count }} | |
| run: | | |
| { | |
| echo "### PR validation plan" | |
| echo | |
| echo "Changed paths: ${CHANGED_COUNT:-unknown}" | |
| echo | |
| echo "| Validation | Selected |" | |
| echo "| --- | --- |" | |
| echo "| Go format, tidy, vet and unit tests | always |" | |
| echo "| Strict documentation build | ${DOCS:-unknown} |" | |
| echo "| GatemoleBench | ${GATEMOLEBENCH:-unknown} |" | |
| echo "| GatemoleKernelBench | ${KERNELBENCH:-unknown} |" | |
| echo "| GatemoleTransactionBench | ${TRANSACTIONBENCH:-unknown} |" | |
| echo "| GatemoleRuntimeBench | ${RUNTIMEBENCH:-unknown} |" | |
| echo "| Production OCI boundary | ${PRODUCTION:-unknown} |" | |
| } >> "$GITHUB_STEP_SUMMARY" |