Skip to content

chore/drop EOL PHP 7.0 and 7.1 from CI matrix#18

Merged
rick-lam merged 1 commit into
mainfrom
chore/drop-eol-php-from-matrix
May 7, 2026
Merged

chore/drop EOL PHP 7.0 and 7.1 from CI matrix#18
rick-lam merged 1 commit into
mainfrom
chore/drop-eol-php-from-matrix

Conversation

@rick-lam
Copy link
Copy Markdown
Contributor

@rick-lam rick-lam commented May 7, 2026

Summary

Narrow the CI matrix to PHP 7.2-7.4. Drops 7.0 and 7.1 (EOL since 2018 and 2019). Also drops the now-redundant Composer 2.2 workaround on the audit.block-insecure step.

The immediate trigger is Dependabot PR #14 (phpunit 7.3.1 -> 8.5.52), which fails CI on the 7.0 and 7.1 rows because phpunit 8 requires PHP >= 7.2. Trimming the matrix lets that PR (and any future bumps with similar floors) proceed against the PHP versions we actually still support.

Notable changes

  • .github/workflows/ci.yml:
    • matrix.php from ['7.0', '7.1', '7.2', '7.3', '7.4'] to ['7.2', '7.3', '7.4'].
    • Drop the || true workaround and explanatory comment on the composer config audit.block-insecure false step. PHP 7.2+ ship with Composer >= 2.7 via setup-php, which understands the key, so the soft-fail is no longer needed.

composer.json still says "php": "^7.0". Widening that constraint changes semver and is a separate call — leaving it alone keeps the package install metadata honest about what packagist still claims is supported, while CI focuses on what we actually exercise.

QA

  • Inspect PR CI: 6 jobs (3 PHP versions x prefer_lowest yes/no) + 1 Markdown.
  • After merge, re-run dependabot/composer/phpunit/phpunit-8.5.52 on PR Bump phpunit/phpunit from 7.3.1 to 8.5.52 #14 and confirm all 6 PHP jobs go green.

PHP 7.0 and 7.1 are long past EOL (2018 and 2019 respectively) and
testing them has been actively painful: the legacy Composer 2.2 they
ship with via setup-php doesn't recognise newer composer config keys
(see the now-removed `|| true` workaround on the audit.block-insecure
step), and any phpunit bump past 7.x trips an unsatisfiable
constraint on those rows — the immediate trigger here was Dependabot
PR #14 (phpunit 7.3.1 -> 8.5.52) failing on PHP 7.0/7.1 because
phpunit 8 requires PHP >= 7.2.

Composer.json's `"php": "^7.0"` constraint is intentionally left as
is; widening it touches semver and is a separate decision.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 7, 2026 10:28
@rick-lam rick-lam merged commit 446a9c9 into main May 7, 2026
9 checks passed
@rick-lam rick-lam deleted the chore/drop-eol-php-from-matrix branch May 7, 2026 10:30
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the GitHub Actions CI workflow to stop testing end-of-life PHP versions (7.0/7.1), aligning the CI matrix with the currently exercised support window and unblocking dependency updates that require PHP ≥ 7.2.

Changes:

  • Reduce the CI matrix to run tests on PHP 7.2–7.4 only.
  • Remove the || true soft-fail workaround for composer config audit.block-insecure false now that the dropped PHP versions are no longer in the matrix.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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