37 lines
934 B
YAML
37 lines
934 B
YAML
name: hermetic-ci
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
GOFLAGS: -mod=readonly
|
|
GOTOOLCHAIN: local
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
- uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
|
|
with:
|
|
go-version-file: go.mod
|
|
cache: false
|
|
- name: Download locked modules
|
|
run: go mod download
|
|
- name: Formatting
|
|
run: test -z "$(gofmt -l .)"
|
|
- name: Hermetic full test suite
|
|
run: ./scripts/test-hermetic.sh
|
|
- name: Static analysis
|
|
run: go vet ./...
|
|
- name: Documentation contract
|
|
run: ./scripts/check-docs.sh
|
|
- name: Reproducible cross-builds and checksums
|
|
run: ./scripts/test-release.sh
|
|
- name: Clean-machine verification
|
|
run: ./scripts/verify-clean-machine.sh
|