Skip to content

fix(ci): build fork PR images locally, publish only from trusted contexts - #2956

Merged
shikanime merged 1 commit into
mainfrom
ci/fork-aware-build
Oct 28, 2026
Merged

shikanime merged 1 commit into
mainfrom
ci/fork-aware-build

Conversation

@shikanime

Copy link
Copy Markdown
Member

Pourquoi

Les PRs issues d'un fork reçoivent un GITHUB_TOKEN en lecture seule : chaque push ghcr échoue avec installation not allowed to Write organization package et la gate obligatoire Check jobs status reste rouge pendant toute la vie de la PR (#2945). Le contributeur voit un échec qui ne décrit pas son code, le mainteneur une croix rouge inexploitable.

Quoi

job-build.yml calcule une politique de publication : les PRs de fork construisent chaque image localement (conclusion réelle, jobs exécutés, gate verte) tandis que les branches du dépôt, la file de fusion et main continuent de publier. merge, preview, build-label et scan-vuln sont sautés quand rien n'a été publié — la gate n'accepte que success/skipped, elle passe donc.

Vérification

Refs #2945

Co-authored-by: Automata automata@shikanime.studio

@shikanime
shikanime requested a review from a team as a code owner October 28, 2026 10:43
@shikanime
shikanime force-pushed the ci/fork-aware-build branch from 13cbe25 to 2afda09 Compare October 28, 2026 10:59

@StephaneTrebel StephaneTrebel left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La séparation entre construction des forks et publication répond à #2945, mais le nouvel export introduit une écriture implicite de latest depuis les PR internes, reproduite sur un registre local. Un constat important est détaillé en ligne ; la CI est encore en cours et le parcours fork réel reste à exercer.

Comment thread .github/workflows/job-build.yml Outdated
…exts

Fork PRs receive a read-only GITHUB_TOKEN, so every registry push fails
with "installation not allowed to Write organization package" and the
required Check jobs status gate stays red for the PR's whole life (#2945).

The build job now computes a publish policy: fork pull requests build
each image locally (real conclusion, executed jobs, green gate) while
same-repo branches, the merge queue and main keep publishing. merge,
preview, build-label and scan-vuln skip when nothing was published.

Refs #2945

Co-authored-by: Automata <automata@shikanime.studio>
@shikanime
shikanime force-pushed the ci/fork-aware-build branch from 2afda09 to 08801ec Compare October 28, 2026 12:29
@cloud-pi-native-sonarqube

Copy link
Copy Markdown

@shikanime shikanime changed the title fix(ci): publie les images uniquement depuis des contextes de confiance fix(ci): build fork PR images locally, publish only from trusted contexts Oct 28, 2026

@StephaneTrebel StephaneTrebel left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No findings. La publication par digest est rétablie : les deux modes de l’export exact ont été rejoués sur registre local, sans écriture de latest, et le constat précédent est levé. La CI du run 40688236580 est verte ; l’exécution complète sur une PR de fork reste à vérifier dans #2945, dont le ledger est laissé inchangé.

@shikanime
shikanime added this pull request to the merge queue Oct 28, 2026
Merged via the queue into main with commit 8d31e6b Oct 28, 2026
34 checks passed
@shikanime
shikanime deleted the ci/fork-aware-build branch October 28, 2026 13:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants