Repository navigation
setup: match a USB pod to its mDNS entry by public key; nudge outdate… #79
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: ci | |
| # Runs on every push/PR: vet + tests, plus a full GoReleaser snapshot build so | |
| # a cross-platform break (e.g. the macOS cgo/IOKit requirement) is caught before | |
| # tagging a release rather than during it. | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| # release.yml calls this workflow so a tag publishes only after the same checks pass. | |
| workflow_call: | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| # Pinned to ubuntu-24.04: ubuntu-latest moves to Ubuntu 26 from 2026-10-19. Unpin once 26.04 is verified. | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 | |
| with: | |
| go-version-file: go.mod | |
| cache: true | |
| # The firmware's refusal texts are pinned in internal/fwrefusals; the test checks them | |
| # against the firmware's main branch, so a wording change there fails here. | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| repository: embeddedci-com/benchpod-firmware | |
| ref: main | |
| path: benchpod-firmware | |
| sparse-checkout: stm32h563/src | |
| persist-credentials: false | |
| - run: go vet ./... | |
| - run: go test ./... -count=1 | |
| env: | |
| BENCHPOD_FIRMWARE_DIR: ${{ github.workspace }}/benchpod-firmware | |
| build: | |
| # Same runner as release so the macOS cgo build is exercised on every PR. | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 | |
| with: | |
| go-version-file: go.mod | |
| cache: true | |
| - uses: goreleaser/goreleaser-action@f06c13b6b1a9625abc9e6e439d9c05a8f2190e94 # v7.2.3 | |
| with: | |
| distribution: goreleaser | |
| version: "~> v2" | |
| args: release --snapshot --clean --skip=publish |