Update SEO tracking for 2026-07-31 #103
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 | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| jobs: | |
| go: | |
| name: go vet + test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| cache: true | |
| - name: go vet | |
| run: go vet ./... | |
| - name: go test | |
| run: go test ./... | |
| compat: | |
| name: compat (CONTRACT machine-attestation) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| cache: true | |
| - name: resolve compat dependency | |
| # The compat module lives at github.com/quantcli/common/compat | |
| # under a subpath. `go mod tidy` materializes go.sum for it on | |
| # first run; subsequent runs are cache-served. | |
| run: go mod tidy | |
| - name: build liftoff-export | |
| run: go build -o /tmp/liftoff-export . | |
| - name: run compat suite | |
| env: | |
| # Path the compat-tagged test reads from os.Getenv. | |
| LIFTOFF_EXPORT_BIN: /tmp/liftoff-export | |
| run: go test -tags=compat -run TestContractFormats ./... | |
| artifacts: | |
| # Cross-compile review binaries for the platforms reviewers actually use. | |
| # Goreleaser owns tagged releases; this job exists so a PR's diff can be | |
| # tried end-to-end without a local Go toolchain. | |
| # | |
| # One artifact per platform, not one bundle: the PR comment links each | |
| # artifact directly, and a Windows user shouldn't download 33MB of Linux | |
| # and macOS binaries to get their 6MB .exe. | |
| name: review binary (${{ matrix.goos }}/${{ matrix.goarch }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| include: | |
| - { goos: darwin, goarch: arm64 } | |
| - { goos: darwin, goarch: amd64 } | |
| - { goos: linux, goarch: amd64 } | |
| - { goos: linux, goarch: arm64 } | |
| - { goos: windows, goarch: amd64, ext: .exe } | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| cache: true | |
| - name: cross-compile | |
| env: | |
| GOOS: ${{ matrix.goos }} | |
| GOARCH: ${{ matrix.goarch }} | |
| run: | | |
| mkdir -p dist | |
| go build -trimpath -ldflags="-s -w" \ | |
| -o "dist/liftoff-export-${{ matrix.goos }}-${{ matrix.goarch }}${{ matrix.ext }}" . | |
| ls -lh dist/ | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: liftoff-export-${{ matrix.goos }}-${{ matrix.goarch }} | |
| path: dist/ | |
| retention-days: 14 | |
| if-no-files-found: error |