Skip to content

ci: run image publish in a separate parallel job#1026

Merged
mnencia merged 2 commits into
mainfrom
dev/parallel-publish-job
Jul 21, 2026
Merged

ci: run image publish in a separate parallel job#1026
mnencia merged 2 commits into
mainfrom
dev/parallel-publish-job

Conversation

@mnencia

@mnencia mnencia commented Jul 20, 2026

Copy link
Copy Markdown
Member

Neither task depends on the other's output: task ci runs lint, tests, e2e, and docs, while task publish builds and pushes the multi-arch images. Running them as sequential steps in one job only adds their durations. Splitting publish into its own job lets it run alongside ci instead, and lets each job carry only the permissions it actually needs: ci never writes to the registry, and neither task touches repository contents, so only packages: write on the publish job remains.

QEMU is only needed for publish, since it's the only job that builds non-native (arm64) platforms; ci's e2e-ephemeral image build is amd64-only. The disk cleanup steps aren't needed for publish either: it only builds two lean multi-arch images, well within the free disk space available even on the default ubuntu-latest runner.

Note that publishing testing images no longer waits on ci passing, since gating it away would remove the parallelism this is meant to gain.

Note: main's required status checks are currently ["DCO", "ci"]. A failure in the new publish job will no longer block merging a PR, since it isn't in that list (today it does, since publishing is a step inside the required ci job). Flagging for a decision on whether publish should be added as a required check.

@mnencia
mnencia requested a review from a team as a code owner July 20, 2026 17:49
@dosubot dosubot Bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Jul 20, 2026
@mnencia
mnencia force-pushed the dev/parallel-publish-job branch 2 times, most recently from 608e6e8 to 3b4223a Compare July 20, 2026 20:35
@litaocdl
litaocdl force-pushed the dev/parallel-publish-job branch from 3b4223a to 8c2cf04 Compare July 21, 2026 06:44
@dosubot dosubot Bot added the lgtm This PR has been approved by a maintainer label Jul 21, 2026
@NiccoloFei
NiccoloFei force-pushed the dev/parallel-publish-job branch from 8c2cf04 to fa3d76e Compare July 21, 2026 07:54
mnencia and others added 2 commits July 21, 2026 15:02
Neither task depends on the other's output: task ci runs lint,
tests, e2e, and docs, while task publish builds and pushes the
multi-arch images. Running them as sequential steps in one job
only adds their durations. Splitting publish into its own job
lets it run alongside ci instead, and lets each job carry only
the permissions it actually needs: ci never writes to the
registry, and neither task touches repository contents, so only
packages: write on the publish job remains.

QEMU is only needed for publish, since it's the only job that
builds non-native (arm64) platforms; ci's e2e-ephemeral image
build is amd64-only. The disk cleanup steps aren't needed for
publish either: it only builds two lean multi-arch images, well
within the free disk space available even on the default
ubuntu-latest runner.

Note that publishing testing images no longer waits on ci
passing, since gating it away would remove the parallelism this
is meant to gain.

Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
Signed-off-by: Niccolò Fei <niccolo.fei@enterprisedb.com>
@NiccoloFei
NiccoloFei force-pushed the dev/parallel-publish-job branch from 8832b87 to 583128e Compare July 21, 2026 13:02
@mnencia
mnencia merged commit 1d77743 into main Jul 21, 2026
9 checks passed
@mnencia
mnencia deleted the dev/parallel-publish-job branch July 21, 2026 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants