Draft: ci: adopt framework test:go:integration for the Postgres suite (Half A)
Draft — Half A of removing .gitlab/ci/common-ci-tasks-patches.yml.
What
- Rename the Postgres integration job
test:integration→test:go:integrationso it overrides the framework's default integration job (pulled in fromgo-testviagolang-build, nowgo-test@v0.3.0ongolang-build@v4.22). - Delete the now-dead
test:go:integrationdisable fromcommon-ci-tasks-patches.yml.
Why
The framework's default test:go:integration runs go test -tags=integration ./... with no services, which is why it was disabled. By naming our Postgres suite test:go:integration, that default no longer runs (the .gitlab-ci.yml main file takes precedence over includes, so our definition — with its own extends/script/services/rules — wins over both golang-build's job and the patch override). The disable is then unnecessary.
No behaviour change to the suite itself: same matrix, services, script, coverage, and rules — only the job name changes.
Scope: Half A only
post-test:go:coverage stays disabled (kept in the patch). It gates a single threshold over merged coverage-integration*.txt profiles, but our ~10 integration jobs each emit their own per-job cobertura report. Removing that half (Half B) needs each job to emit a distinct coverage-integration-<name>.txt wired into the coverage job's needs — framework support for that just landed in modular-feature-testing!36 (pending a go-test release + golang-build bump to reach us).
Review notes / decisions
- I did not add
.test:go:integrationto the job'sextends— it would pull the base'sbefore_scriptinto a merge with.garage-backend's, risking the Garage setup. Half A only needs the job name to override the default; framework wiring (metrics export) can come with the Half B coverage restructure. - A couple of comments in other jobs still say "test:integration" in prose (e.g. the redis GOFLAGS note) — left as-is; can tidy if you want.
- Validation: the MR pipeline is the real check that
test:go:integrationcomposes and runs as our suite (this repo's CI resolves the includes).