Skip to content

Publish each PHP version even when another version's test fails #48

Closed

Description

@rick-lam

Problem

The build job (build and push to Docker Hub) has needs: [matrix, test] and the manifest job has needs: [matrix, build], with no override. If the test for any one PHP version fails, nothing is published for any version.

Since 22 Oct 2026 the 5.6, 7.0, 7.1, 7.2, 8.3 and 8.4 tests fail at pecl install / pecl channel-update, because pecl.php.net returns bad or missing REST data (for example Package "memcached" Version "3.4.0" does not have REST xml available). A re-run failed the same way. This blocks publishing the PHP 7.4 security fix in #47 even though the 7.4 test passes.

Change

Add !cancelled() and needs.matrix.result == 'success' to the if: of the build and manifest jobs, so each version builds and publishes on its own. A version whose build breaks fails only its own build and manifest jobs.

Trade-off: a push to master no longer requires every version's test to pass first. Every PR still runs all the tests.

Not in this issue

  • Removing PHP 5.6 to 7.3 from CI (separate change).
  • The PECL failures themselves.

Activity

  1. self-assigned this
    on Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions