Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
0ba12a6
feat(containers): fork-safe automatic image build/push and registry-a…
rfay Aug 14, 2026
1ee8eea
docs(containers): note follow-up to automate the full db variant matr…
rfay Aug 14, 2026
7912163
fix(ci): bump actions/download-artifact to v8 to drop the Node 20 dep…
rfay Aug 14, 2026
f03becd
fix(ci): delete intermediary per-arch tags after creating the manifes…
rfay Aug 14, 2026
2d734fb
don't run workflow [skip ci]
rfay Aug 14, 2026
c2cc267
fix(ci): guard GitHub-hosted test workflows against the same image-pu…
rfay Aug 15, 2026
ec700f4
fix(ci): finish wiring the wait-for-images guard into GitHub-hosted t…
rfay Aug 15, 2026
2bdf394
feat(ci): skip the approval gate entirely for non-fork image changes,…
rfay Aug 15, 2026
57cf290
fix(ci): use separate GitHub Environments for the build and push appr…
rfay Aug 15, 2026
a7ec6b5
feat(ci): drop the pre-build approval gate, keep only the push-side a…
rfay Aug 15, 2026
2bdced7
fix(ci): skip the image-push approval gate entirely for non-fork comp…
rfay Aug 15, 2026
28ee766
fix(ci): pass DOCKER_ORG into wait-for-images.sh's GitHub-hosted call…
rfay Aug 15, 2026
32526f2
fix(ci): widen wait-for-images.sh's default retry budget, for #8609 […
rfay Aug 15, 2026
0066f66
fix(ci): recompute wait-for-images.sh's tags instead of trusting vers…
rfay Aug 15, 2026
33c06ba
feat(ci): print a confirmation line when wait-for-images.sh finds eac…
rfay Aug 15, 2026
77d90bd
don't run workflow [skip ci]
rfay Aug 14, 2026
ec98f6d
Minor comment changes [skip ci]
rfay Aug 16, 2026
f246ff4
fix(ci): resolve image tags the way autotag.sh does, for #8609
rfay Aug 16, 2026
c788123
temp add HANDOFF.md [skip ci]
rfay Aug 16, 2026
20be57b
fix(ci): build every db variant when ddev-dbserver changes, for #8609
rfay Aug 16, 2026
e4d707b
docs: record the db variant matrix as a must-test item in HANDOFF.md …
rfay Aug 16, 2026
ce502b6
fix(ci): derive the manual push workflows' tag instead of asking for …
rfay Aug 16, 2026
aa3de1f
feat(images)!: make image tags bare content hashes, for #8609
rfay Aug 16, 2026
bfcbe38
docs: record the hash-only tag migration in HANDOFF.md [skip ci]
rfay Aug 16, 2026
8a91a75
fix(ci): publish the branch alias from the manual push workflows too,…
rfay Aug 16, 2026
2be6c3d
feat(images): add standard OCI metadata as labels and index annotatio…
rfay Aug 16, 2026
ae36357
build(images): retag after the OCI metadata change, for #8609
rfay Aug 16, 2026
df4e002
feat(build): fail staticrequired when versionconstants.go is stale, f…
rfay Aug 16, 2026
67767f1
fix(ci): resolve fork PRs by querying the fork's own repo for the com…
rfay Aug 16, 2026
adf8376
fix(ci): read DOCKER_ORG from the public-variables branch for fork PR…
rfay Aug 16, 2026
90163b0
test: trivial fork PR change for #8609 phase 2 manual test 12
rfay Aug 16, 2026
a39cc04
fix(ci): tolerate a missing DOCKER_ORG file on the public-variables b…
rfay Aug 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .buildkite/perf.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ if [[ ${BUILDKITE_MESSAGE:-} == *"[skip buildkite]"* ]] || [[ ${BUILDKITE_MESSAG
exit 0
fi

# A changed image may still be waiting on image-push.yml's approval
"$(dirname "$0")/../containers/wait-for-images.sh"

os=$(go env GOOS)

# shellcheck source=lib-provider.sh
Expand Down
3 changes: 3 additions & 0 deletions .buildkite/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ while IFS= read -r varname; do
done < <(MSYS_NO_PATHCONV=1 git ls-tree --name-only refs/public-variables-tmp:.github/public-variables/)
git update-ref -d refs/public-variables-tmp

# A changed image may still be waiting on image-push.yml's approval
"$(dirname "$0")/../containers/wait-for-images.sh"

export PATH=$PATH:/home/linuxbrew/.linuxbrew/bin
os=$(go env GOOS)

Expand Down
Empty file.
6 changes: 5 additions & 1 deletion .github/public-variables/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ Current variables:
- **Bats tests:** each pattern is matched as a case-sensitive substring against the bats filename (without `.bats`) or the `@test` description. E.g. `sveltekit` skips all tests in `sveltekit.bats`; `Symfony Composer` skips only the Composer-flavored test in `symfony.bats`. Go and bats patterns can be combined: `TestLagoonPull|sveltekit`.
- `workflow_dispatch` runs skip loading the `public-variables` branch entirely, so maintainers can verify fixes without removing them from the embargo list first.
- `DDEV_EMBARGO_PHP_VERSIONS` - comma-separated PHP versions to skip in `TestPHPConfig`, e.g. `7.0,7.1`
- `DOCKER_ORG` - the DockerHub org images are built/pushed under, e.g. `ddev`. `vars.DOCKER_ORG` isn't
available to a fork PR's untrusted `detect`/`build` jobs in `image-build-push.yml`, so those jobs read
it from here instead.

## Adding a new variable

Expand All @@ -42,7 +45,8 @@ No workflow changes are needed - any file in this directory is picked up automat
## How it works

Used in `.buildkite/test.sh`, `.github/workflows/test-reusable.yml`,
`.github/workflows/test-wsl2-reusable.yml`, and `.github/workflows/quickstart.yml`.
`.github/workflows/test-wsl2-reusable.yml`, `.github/workflows/quickstart.yml`, and
`.github/workflows/image-build-push.yml`.

Each CI run does `git fetch --depth=1 --no-tags https://github.com/ddev/ddev public-variables:refs/public-variables-tmp`,
reads all files via `git ls-tree` + `git show`, then deletes the temporary ref.
Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/container-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,18 @@ jobs:
- uses: actions/checkout@v7
- name: Run containers/autotag_test.sh
run: containers/autotag_test.sh
- name: Run containers/db_variants_test.sh
run: containers/db_variants_test.sh
- name: Run containers/required_image_tag_test.sh
run: containers/required_image_tag_test.sh
- name: Run containers/registry_tag_exists_test.sh
run: containers/registry_tag_exists_test.sh
- name: Run containers/validate_image_tag_test.sh
run: containers/validate_image_tag_test.sh
- name: Run containers/validate_image_repo_test.sh
run: containers/validate_image_repo_test.sh
- name: Run containers/wait_for_images_test.sh
run: containers/wait_for_images_test.sh

container-build-and-test:
name: ${{ matrix.os }} - Test container ${{ matrix.containers }}
Expand Down
Loading
Loading