Files
wehub-resource-sync 26f897c1ec
release / release-please (push) Failing after 1m49s
docs / build (push) Failing after 6m34s
release / build-and-upload (arm64, linux) (push) Has been cancelled
release / build-and-upload (arm64, windows) (push) Has been cancelled
release / build-darwin (amd64, darwin) (push) Has been cancelled
release / checksums (push) Has been cancelled
release / finalize (push) Has been cancelled
release / build-darwin (arm64, darwin) (push) Has been cancelled
release / build-and-upload (amd64, linux) (push) Has been cancelled
release / build-and-upload (amd64, windows) (push) Has been cancelled
docs / deploy (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:34:16 +08:00

72 lines
1.7 KiB
YAML

name: CI
on:
pull_request:
branches:
- main
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
- name: Format check
run: |
output=$(gofmt -l .)
if [ -n "$output" ]; then
echo "Files not formatted:"
echo "$output"
exit 1
fi
- name: Vet
run: go vet ./...
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
timeout-minutes: 25
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
- name: Test on Unix
if: runner.os != 'Windows'
run: go test -race ./...
- name: Test on Windows
if: runner.os == 'Windows'
run: go test -v -timeout=15m ./...
- name: Build
run: go build ./cmd/no-mistakes
e2e:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
# The e2e suite drives the real no-mistakes binary against a fake
# agent through `git push -> daemon -> pipeline -> push to upstream`
# for claude, codex, and opencode. It builds the binary itself, so
# no separate build step is needed. Linux-only for now: opencode's
# ephemeral HTTP server picks up unused ports via :0, which is
# fine on Linux runners but flakes on Windows agent harnesses.
- name: End-to-end suite
run: make e2e