0
0
mirror of https://github.com/go-gitea/gitea.git synced 2026-06-19 22:03:43 +02:00
silverwind 8d6615f939
ci: shard integration tests across 2 runners per database
Splits each database integration job (pgsql/sqlite/mysql/mssql) into
two parallel matrix shards. Test names are enumerated from the
integration source and partitioned round-robin (~301/302 of 603
tests per shard); names that don't match the shard are filtered out
via -test.run.

Migration tests (~50-90 s, fast, sequential) only run on shard 1.

The original job names (test-pgsql, test-sqlite, test-mysql,
test-mssql) are kept as one-step aggregator jobs that depend on the
shards job and report success only when all shards passed. This
keeps any branch-protection rule referencing those names valid.

Source-based enumeration is used because the test binary's
-test.list calls TestMain, which boots the full Gitea environment
and panics without a configured database.

Co-Authored-By: Claude (Opus 4.7) <noreply@anthropic.com>
2026-05-09 01:35:03 +02:00
..