Skip to content

fix: harden Trace against the September 2026 security audit findings #3

fix: harden Trace against the September 2026 security audit findings

fix: harden Trace against the September 2026 security audit findings #3

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
# Pinned toolchain, matching the release workflow and sibling repositories.
GO_VERSION: "1.26.6"
# Keep this repository buildable regardless of any go.work file in a
# parent directory of a local multi-repository checkout.
GOWORK: "off"
jobs:
quality:
name: tidy + fmt + build + vet
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: ${{ env.GO_VERSION }}
cache: true
- name: Module tidy is clean
run: |
go mod tidy
git diff --exit-code -- go.mod go.sum
- name: gofmt
run: test -z "$(gofmt -l .)"
- run: go build ./...
- run: go vet ./...
vulncheck:
name: govulncheck
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: ${{ env.GO_VERSION }}
cache: true
- run: go run golang.org/x/vuln/cmd/govulncheck@v1.1.4 ./...
test:
name: test (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
# macOS exercises the sandbox-exec runner; Linux the Docker path.
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
timeout-minutes: 30
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: ${{ env.GO_VERSION }}
cache: true
# The suite starts real listeners and shells out to git and ssh.
- run: go test -count=1 -timeout=20m ./...
race:
name: race
runs-on: ubuntu-latest
timeout-minutes: 40
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: ${{ env.GO_VERSION }}
cache: true
- run: go test -race -count=1 -timeout=30m ./...