app: record which build performed the cutover #2
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: | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| name: fmt, vet, test, race | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| # The version go.mod declares, rather than the latest, because that is the | |
| # one the README promises works. | |
| - uses: actions/setup-go@v7 | |
| with: | |
| go-version-file: go.mod | |
| - name: gofmt | |
| run: | | |
| unformatted=$(gofmt -l ./cmd ./internal) | |
| if [ -n "$unformatted" ]; then | |
| echo "not gofmt-clean:" >&2 | |
| echo "$unformatted" >&2 | |
| exit 1 | |
| fi | |
| - run: make vet | |
| # Compiles the integration-tagged files without running them; those and the | |
| # Compose end-to-end suites need PostgreSQL and are run by hand. | |
| - run: make test | |
| # Apply, the copy workers, and the CDC handoff are concurrent, and a race | |
| # between them is not something anyone reproduces by hand twice. | |
| - run: make race |