[INF-1722] Add configurable migration controller #67
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, govulncheck, 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. The toolchain line is the patched stdlib. | |
| - 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 | |
| # Reachability, not Dependabot's module list: the released binary, not the | |
| # integration-tagged testcontainers graph. | |
| - name: govulncheck | |
| run: go run golang.org/x/vuln/cmd/govulncheck@latest ./cmd/pgmigrate ./internal/... | |
| # 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 |