Skip to content

chore(deps): bump actions/checkout from 4.4.0 to 7.0.1 #18

chore(deps): bump actions/checkout from 4.4.0 to 7.0.1

chore(deps): bump actions/checkout from 4.4.0 to 7.0.1 #18

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@40f1582b2485089dde7abd97c1529aa768e1baff # v5
with:
go-version-file: go.mod
cache: true
- name: Verify validation routing
run: scripts/vouchci-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/vouch-changed-files"
scripts/vouchci-plan.sh --paths "$RUNNER_TEMP/vouch-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@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
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 VouchBench
if: steps.plan.outputs.vouchbench == 'true'
run: scripts/vouchbench.sh --out /tmp/vouch-pr-validation/vouchbench
- name: Run VouchKernelBench
if: steps.plan.outputs.kernelbench == 'true'
run: scripts/vouchkernelbench.sh --out /tmp/vouch-pr-validation/kernelbench
- name: Run VouchTransactionBench
if: steps.plan.outputs.transactionbench == 'true'
run: scripts/vouchtransactionbench.sh
- name: Run VouchRuntimeBench
if: steps.plan.outputs.runtimebench == 'true'
run: scripts/vouchruntimebench.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/vouchproductionfixture.sh \
--tag "vouch-production-fixture:${GITHUB_SHA}")"
echo "image=$image" >> "$GITHUB_OUTPUT"
- name: Run production OCI acceptance
if: steps.plan.outputs.production == 'true'
env:
VOUCH_PRODUCTION_IMAGE: ${{ steps.fixture.outputs.image }}
run: scripts/vouchproductionbench.sh
- name: Summarize validation plan
if: always()
env:
DOCS: ${{ steps.plan.outputs.docs }}
VOUCHBENCH: ${{ steps.plan.outputs.vouchbench }}
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 "| VouchBench | ${VOUCHBENCH:-unknown} |"
echo "| VouchKernelBench | ${KERNELBENCH:-unknown} |"
echo "| VouchTransactionBench | ${TRANSACTIONBENCH:-unknown} |"
echo "| VouchRuntimeBench | ${RUNTIMEBENCH:-unknown} |"
echo "| Production OCI boundary | ${PRODUCTION:-unknown} |"
} >> "$GITHUB_STEP_SUMMARY"