Skip to content

[v0.2.0] Add fast race-only smoke job to CI #69

Description

@neverDefined

Problem

The full matrix ((ubuntu, macos) × (1.25, 1.26) + Foundry install + race) is the source of truth for correctness, but it takes minutes to feedback. A fast smoke lane that only runs -race on a tiny subset would cut iteration time during PR development.

Proposal

Add a separate job to .github/workflows/ci.yml:

smoke:
  runs-on: ubuntu-latest
  steps:
    - uses: actions/checkout@v6
    - uses: actions/setup-go@v6
      with:
        go-version: '1.26'
    - uses: foundry-rs/foundry-toolchain@v1
      with:
        version: v1.5.1
    - run: go test -race -short ./...  # exercises -short flag

Mark unit tests as -short-friendly. Tests that take >1s should call if testing.Short() { t.Skip(...) }.

Acceptance criteria

  • Smoke job lands in <60s wall-clock.
  • Existing tests audited: any test taking >1s gates on testing.Short().
  • Non-blocking: smoke can fail; the matrix job is still required for merge. (Or make smoke required and demote the matrix to "nightly" — needs a decision in the PR.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:ciGitHub Actions, release automationtype:choreHousekeeping, no user-visible change

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions