Bump PHP to 8.1 minimum and resolve composer.lock in CI

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>
This commit is contained in:
Claude
2026-05-05 09:19:39 -07:00
parent a2f450bb19
commit d5a09fb337
5 changed files with 15 additions and 5 deletions

View File

@@ -19,9 +19,18 @@ jobs:
- name: Setup PHP - name: Setup PHP
uses: shivammathur/setup-php@v2 uses: shivammathur/setup-php@v2
with: with:
php-version: '8.0' php-version: '8.1'
tools: composer tools: composer
- name: Generate composer.lock if missing
run: |
if [ ! -f composer.lock ]; then
echo "No composer.lock present — resolving dependencies."
composer update --no-dev --no-install --no-interaction --prefer-dist
else
echo "Using committed composer.lock."
fi
- name: Install Composer dependencies - name: Install Composer dependencies
run: composer install --no-dev --prefer-dist --optimize-autoloader --no-interaction run: composer install --no-dev --prefer-dist --optimize-autoloader --no-interaction

View File

@@ -6,7 +6,7 @@
- **URL**: `https://phone.cloud-hosting.io/` - **URL**: `https://phone.cloud-hosting.io/`
- **Deployment**: rsync to Docker (remote server only, not local) - **Deployment**: rsync to Docker (remote server only, not local)
- **SDK**: Twilio PHP SDK v8.7.0 - **SDK**: Twilio PHP SDK v8.7.0
- **PHP**: 8.0+ required - **PHP**: 8.1+ required (AWS SDK v3.371+ requires PHP 8.1; production runs 8.5)
- **Optional**: AWS SDK (`aws/aws-sdk-php`) for SNS SMS provider - **Optional**: AWS SDK (`aws/aws-sdk-php`) for SNS SMS provider
- **External SDK**: `wp-content/twilio-sdk/` (survives plugin updates) - **External SDK**: `wp-content/twilio-sdk/` (survives plugin updates)

View File

@@ -41,7 +41,7 @@ This plugin **requires** the Twilio PHP SDK v8.7.0 to function. The plugin will
## Requirements ## Requirements
- **PHP 8.0+** (required for Twilio SDK v8.7.0) - **PHP 8.1+** (required by AWS SDK for SNS provider; Twilio SDK works on 8.0+)
- **WordPress 5.0+** - **WordPress 5.0+**
- **Twilio Account** with active phone number - **Twilio Account** with active phone number
- **curl** and **tar** (for SDK installation) - **curl** and **tar** (for SDK installation)

View File

@@ -3,7 +3,7 @@
"description": "WordPress plugin for Twilio voice and SMS integration - REQUIRES Twilio SDK", "description": "WordPress plugin for Twilio voice and SMS integration - REQUIRES Twilio SDK",
"type": "wordpress-plugin", "type": "wordpress-plugin",
"require": { "require": {
"php": ">=8.0", "php": ">=8.1",
"twilio/sdk": "^8.7", "twilio/sdk": "^8.7",
"aws/aws-sdk-php": "^3.0" "aws/aws-sdk-php": "^3.0"
}, },
@@ -19,7 +19,7 @@
"config": { "config": {
"optimize-autoloader": true, "optimize-autoloader": true,
"platform": { "platform": {
"php": "8.0" "php": "8.1"
} }
}, },
"scripts": { "scripts": {

View File

@@ -4,6 +4,7 @@
* Plugin URI: https://repo.anhonesthost.net/wp-plugins/twilio-wp-plugin * Plugin URI: https://repo.anhonesthost.net/wp-plugins/twilio-wp-plugin
* Description: WordPress plugin for Twilio integration with phone scheduling, call forwarding, queue management, and Eleven Labs TTS * Description: WordPress plugin for Twilio integration with phone scheduling, call forwarding, queue management, and Eleven Labs TTS
* Version: {auto_update_value_on_deploy} * Version: {auto_update_value_on_deploy}
* Requires PHP: 8.1
* Author: Josh Knapp * Author: Josh Knapp
* License: GPL v2 or later * License: GPL v2 or later
* Text Domain: twilio-wp-plugin * Text Domain: twilio-wp-plugin