Skip to content

20260821 test fork pr image - #47

Merged
rfay merged 8 commits into
ddev-test:mainfrom
ddltest:20260821_test_fork_pr_image
Aug 24, 2026
Merged

20260821 test fork pr image#47
rfay merged 8 commits into
ddev-test:mainfrom
ddltest:20260821_test_fork_pr_image

Conversation

@ddltest

@ddltest ddltest commented Aug 21, 2026

Copy link
Copy Markdown

Testing forked PR push, should require auth, from not-authorized ddev-test/ddev fork

rfay and others added 8 commits August 18, 2026 21:57
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
…authorized authors [skip ci]

Moves the maintainer approval for a fork PR's image build/push from after the build finishes to right after detect knows a build is needed, and skips it entirely when the PR author already has push access to the repo.

Follow-up to ddev#8707. Two rough edges in the fork-PR image build/push flow:

1. The approval gate lived in image-push.yml, triggered via workflow_run only after the entire (often multi-minute, multi-arch) fork build finished. A maintainer had no visibility into the pending approval until well after it was actually knowable.
2. A maintainer's own fork PR (author_association OWNER/MEMBER/COLLABORATOR) still had to wait on the same approval as an unknown external contributor, even though they already have push access.

- image-build-push.yml's detect job gains an `is_authorized` output (from `github.event.pull_request.author_association`) alongside the existing `is_fork`.
- A new `approve` job runs right after detect, gated on the `image-push` environment, only when the PR is from a fork and the author is not authorized. The `build` job now depends on it.
- image-push.yml no longer has its own approval gate — by the time an artifact exists to push, image-build-push.yml's `approve` job already required sign-off.
- Updated the workflow header comments and the two docs pages (building-contributing.md, release-management.md) that described the old flow.
- Added a bullet to CLAUDE.md's Comments section: write comments as a plain description of the current design, not framed relative to what changed.

- `actionlint .github/workflows/image-build-push.yml .github/workflows/image-push.yml` passes clean.
- Open a PR from an external fork that touches `containers/**`: confirm the `image-push` environment approval request appears as soon as the "Image build" workflow's `detect` job completes, not after `build` finishes.
- Open a PR from a maintainer's own fork: confirm no approval is requested and the image still builds and pushes via the existing fork-safe split.
- Open a same-repo PR or push to main: confirm behavior is unchanged (no gate, direct build-and-push).

No new automated tests — this is GitHub Actions workflow orchestration, validated with actionlint and manual PR runs as described above.

No user-facing behavior change. Affects only the internal container image build/push CI flow for ddev/ddev.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@ddltest
ddltest deployed to image-push August 21, 2026 13:12 — with GitHub Actions Active
@github-actions

Copy link
Copy Markdown

Pushed updated container image(s) for this PR:

  • ddevhq/ddev-traefik-router:21b2fc9ff1

@github-actions

Copy link
Copy Markdown

@rfay
rfay merged commit fc402ad into ddev-test:main Aug 24, 2026
15 of 18 checks passed
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in the v1.106.2 release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants