Skip to content

chore(deps): bump actions/setup-go from 5.6.0 to 7.0.0 #36

chore(deps): bump actions/setup-go from 5.6.0 to 7.0.0

chore(deps): bump actions/setup-go from 5.6.0 to 7.0.0 #36

Workflow file for this run

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"