Bump PHP to 8.1 + bundle SDKs in CI #3

Merged
jknapp merged 2 commits from feature/webview-softphone into main 2026-05-05 16:32:43 +00:00
Owner

Summary

Unblocks the Gitea release build that was failing because aws/aws-sdk-php 3.371+ requires PHP >= 8.1, while composer.json's platform was pinned to 8.0. Production runs PHP 8.5.4, so 8.1 is well within the runtime envelope.

  • composer.json: php constraint >=8.0>=8.1, platform.php 8.08.1
  • .gitea/workflows/release.yml: setup-php now installs PHP 8.1; added a conditional step that runs composer update --no-install only when no composer.lock is committed, so the build has a resolved lockfile. When a real composer.lock is committed later, the step skips regeneration and uses the committed file for deterministic installs.
  • twilio-wp-plugin.php: added Requires PHP: 8.1 plugin header so WP itself enforces the minimum
  • README.md / CLAUDE.md: doc bump from 8.0 to 8.1, with note that the AWS SDK is the constraint driver

Test plan

  • Gitea release workflow completes successfully (composer resolves AWS SDK with no PHP version conflict)
  • Release zip contains vendor/ with both Twilio and AWS SDKs bundled
  • Plugin auto-update pulls the new release on production (PHP 8.5) without errors
  • Switch SMS provider to "Amazon SNS" in plugin Settings, configure us-west-2 region + AWS keys, send a test SMS via the plugin's admin "Send test SMS" action
## Summary Unblocks the Gitea release build that was failing because `aws/aws-sdk-php` 3.371+ requires PHP >= 8.1, while `composer.json`'s platform was pinned to 8.0. Production runs PHP 8.5.4, so 8.1 is well within the runtime envelope. - `composer.json`: `php` constraint `>=8.0` → `>=8.1`, `platform.php` `8.0` → `8.1` - `.gitea/workflows/release.yml`: `setup-php` now installs PHP 8.1; added a conditional step that runs `composer update --no-install` only when no `composer.lock` is committed, so the build has a resolved lockfile. When a real `composer.lock` is committed later, the step skips regeneration and uses the committed file for deterministic installs. - `twilio-wp-plugin.php`: added `Requires PHP: 8.1` plugin header so WP itself enforces the minimum - `README.md` / `CLAUDE.md`: doc bump from 8.0 to 8.1, with note that the AWS SDK is the constraint driver ## Test plan - [ ] Gitea release workflow completes successfully (composer resolves AWS SDK with no PHP version conflict) - [ ] Release zip contains `vendor/` with both Twilio and AWS SDKs bundled - [ ] Plugin auto-update pulls the new release on production (PHP 8.5) without errors - [ ] Switch SMS provider to "Amazon SNS" in plugin Settings, configure `us-west-2` region + AWS keys, send a test SMS via the plugin's admin "Send test SMS" action
jknapp added 1 commit 2026-05-05 16:30:10 +00:00
The Gitea release build failed because aws/aws-sdk-php 3.371+ requires PHP
>= 8.1, while composer.json's platform was pinned to 8.0. Production runs
PHP 8.5.4, so bumping the minimum to 8.1 is well within the runtime envelope.

Changes:
  composer.json                 — require php >=8.1, platform.php = 8.1
  .gitea/workflows/release.yml  — setup-php now installs PHP 8.1
                                  added pre-install step that runs
                                  `composer update --no-install` only when
                                  composer.lock is absent. If a lock file is
                                  ever committed later, CI uses it directly
                                  for deterministic installs instead of
                                  regenerating.
  twilio-wp-plugin.php          — added "Requires PHP: 8.1" header so
                                  WordPress itself enforces the minimum
  README.md, CLAUDE.md          — doc bump from 8.0 to 8.1, with note that
                                  the AWS SDK is the constraint driver

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jknapp added 1 commit 2026-05-05 16:32:38 +00:00
jknapp merged commit 80167ed6eb into main 2026-05-05 16:32:43 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wp-plugins/twilio-wp-plugin#3