Prepare PHP CI images with ext-zip #13

Merged
alan merged 3 commits from chore/ci-php-zip-v2 into main 2026-09-09 01:58:33 +00:00
Owner

Summary

Prepare the PHP 8.2 and PHP 8.5 CI discovery images for the upcoming fitment CSV/ZIP runtime by adding PHP ext-zip.

This is a CI-toolchain prerequisite only. It does not yet replace the qualified immutable PHP image digests used by routine CI.

Changes

  • Add the libzip build dependency and PHP ZIP extension to the PHP CI image.

  • Advance the PHP discovery tags to:

    • ci-php:8.2-v2
    • ci-php:8.5-v2
  • Extend image qualification to require the zip extension.

  • Add --php-only build/publish mode so PHP-image qualification does not rebuild or move the unchanged Nextcloud image tag.

  • Document the separate build → publish → digest verification → qualified-pin workflow.

Qualification model

Routine Forgejo CI continues to use the currently qualified immutable v1 PHP image digests.

After this PR passes CI:

  1. Build and locally qualify the two v2 PHP images.
  2. Publish only the PHP v2 discovery tags.
  3. Capture their registry RepoDigests.
  4. Land a separate reviewed patch updating qualified-images.json and workflow pins to those immutable digests.

The upcoming CSV/ZIP runtime will not be applied until the new PHP images are independently qualified and pinned.

## Summary Prepare the PHP 8.2 and PHP 8.5 CI discovery images for the upcoming fitment CSV/ZIP runtime by adding PHP `ext-zip`. This is a CI-toolchain prerequisite only. It does not yet replace the qualified immutable PHP image digests used by routine CI. ## Changes * Add the `libzip` build dependency and PHP ZIP extension to the PHP CI image. * Advance the PHP discovery tags to: * `ci-php:8.2-v2` * `ci-php:8.5-v2` * Extend image qualification to require the `zip` extension. * Add `--php-only` build/publish mode so PHP-image qualification does not rebuild or move the unchanged Nextcloud image tag. * Document the separate build → publish → digest verification → qualified-pin workflow. ## Qualification model Routine Forgejo CI continues to use the currently qualified immutable v1 PHP image digests. After this PR passes CI: 1. Build and locally qualify the two v2 PHP images. 2. Publish only the PHP v2 discovery tags. 3. Capture their registry RepoDigests. 4. Land a separate reviewed patch updating `qualified-images.json` and workflow pins to those immutable digests. The upcoming CSV/ZIP runtime will not be applied until the new PHP images are independently qualified and pinned.
Prepare PHP CI images with ext-zip
All checks were successful
CI / PHP 8.2 (pull_request) Successful in 24s
CI / Frontend and generated assets (pull_request) Successful in 30s
CI / PHP 8.5 (pull_request) Successful in 1m1s
CI / Nextcloud 34 / sqlite (pull_request) Successful in 1m35s
CI / Nextcloud 34 / pgsql (pull_request) Successful in 2m0s
CI / Unsigned install candidate (pull_request) Successful in 6s
859bae481f
Pin qualified PHP CI v2 images
Some checks failed
CI / Frontend and generated assets (pull_request) Failing after 24s
CI / PHP 8.5 (pull_request) Successful in 27s
CI / PHP 8.2 (pull_request) Successful in 27s
CI / Nextcloud 34 / pgsql (pull_request) Has been skipped
CI / Nextcloud 34 / sqlite (pull_request) Has been skipped
CI / Unsigned install candidate (pull_request) Has been skipped
f528ddd83a
Fix CI image pin validator lint
All checks were successful
CI / PHP 8.2 (pull_request) Successful in 8s
CI / PHP 8.5 (pull_request) Successful in 9s
CI / Frontend and generated assets (pull_request) Successful in 25s
CI / Nextcloud 34 / pgsql (pull_request) Successful in 1m9s
CI / Nextcloud 34 / sqlite (pull_request) Successful in 1m39s
CI / Unsigned install candidate (pull_request) Successful in 3s
c75a084fc7
alan merged commit 6c81f94203 into main 2026-09-09 01:58:33 +00:00
alan deleted branch chore/ci-php-zip-v2 2026-09-09 01:58:33 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
alan/maintenance_tracker_for_nextcloud!13
No description provided.