diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 8abd84f..1657a68 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -27,6 +27,7 @@ jobs: - 8.2 - 8.3 - 8.4 + - 8.5 steps: - name: Checkout uses: actions/checkout@v3 diff --git a/CHANGELOG.md b/CHANGELOG.md index f8f636e..289fc09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [Unreleased] +### Added +- PHP-8.5 support + ## [3.0.12] - 2025-07-03 ### Added - PHP-8.4 support diff --git a/build/Makefile b/build/Makefile index 9c90389..5d807b1 100644 --- a/build/Makefile +++ b/build/Makefile @@ -17,7 +17,7 @@ help: | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' build: ## build php images - docker-compose build + docker compose build test: ## test all against all php images $(MAKE) test-php-7.0 diff --git a/build/docker-compose.yml b/build/docker-compose.yml index d3205f2..dcbfba0 100644 --- a/build/docker-compose.yml +++ b/build/docker-compose.yml @@ -70,4 +70,11 @@ services: context: php-8.4 volumes: - ..:/app + network_mode: host + + php-8.5: + build: + context: php-8.5 + volumes: + - ..:/app network_mode: host \ No newline at end of file diff --git a/build/php-7.0/Makefile b/build/php-7.0/Makefile index 9f16c05..62c467c 100644 --- a/build/php-7.0/Makefile +++ b/build/php-7.0/Makefile @@ -1,10 +1,10 @@ .PHONY: prepare-php-7.0 test-php-7.0 test-suite-php-7.0 prepare-php-7.0: ## load dependencies with php 7.0 - docker-compose run -T php-7.0 /usr/bin/composer update + docker compose run -T php-7.0 /usr/bin/composer update test-php-7.0: prepare-php-7.0 ## run tests against php 7.0 - docker-compose run -T php-7.0 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml + docker compose run -T php-7.0 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml test-suite-php-7.0: prepare-php-7.0 ## run suite tests against php 7.0, ex: make test-suite-php-7.0 SUITE="unit" - docker-compose run -T php-7.0 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file + docker compose run -T php-7.0 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file diff --git a/build/php-7.1/Makefile b/build/php-7.1/Makefile index b3a33d3..26cbfad 100644 --- a/build/php-7.1/Makefile +++ b/build/php-7.1/Makefile @@ -1,10 +1,10 @@ .PHONY: prepare-php-7.1 test-php-7.1 test-suite-php-7.1 prepare-php-7.1: ## load dependencies with php 7.1 - docker-compose run -T php-7.1 /usr/bin/composer update + docker compose run -T php-7.1 /usr/bin/composer update test-php-7.1: prepare-php-7.1 ## run tests against php 7.1 - docker-compose run -T php-7.1 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml + docker compose run -T php-7.1 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml test-suite-php-7.1: prepare-php-7.1 ## run suite tests against php 7.1, ex: make test-suite-php-7.1 SUITE="unit" - docker-compose run -T php-7.1 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file + docker compose run -T php-7.1 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file diff --git a/build/php-7.2/Makefile b/build/php-7.2/Makefile index 46d4374..6cb0833 100644 --- a/build/php-7.2/Makefile +++ b/build/php-7.2/Makefile @@ -1,10 +1,10 @@ .PHONY: prepare-php-7.2 test-php-7.2 test-suite-php-7.2 prepare-php-7.2: ## load dependencies with php 7.2 - docker-compose run -T php-7.2 /usr/bin/composer update + docker compose run -T php-7.2 /usr/bin/composer update test-php-7.2: prepare-php-7.2 ## run tests against php 7.2 - docker-compose run -T php-7.2 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml + docker compose run -T php-7.2 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml test-suite-php-7.2: prepare-php-7.2 ## run suite tests against php 7.2, ex: make test-suite-php-7.2 SUITE="unit" - docker-compose run -T php-7.2 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file + docker compose run -T php-7.2 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file diff --git a/build/php-7.3/Makefile b/build/php-7.3/Makefile index d866e53..99e7817 100644 --- a/build/php-7.3/Makefile +++ b/build/php-7.3/Makefile @@ -1,10 +1,10 @@ .PHONY: prepare-php-7.3 test-php-7.3 test-suite-php-7.3 prepare-php-7.3: ## load dependencies with php 7.3 - docker-compose run -T php-7.3 /usr/bin/composer update + docker compose run -T php-7.3 /usr/bin/composer update test-php-7.3: prepare-php-7.3 ## run tests against php 7.3 - docker-compose run -T php-7.3 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml + docker compose run -T php-7.3 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml test-suite-php-7.3: prepare-php-7.3 ## run suite tests against php 7.3, ex: make test-suite-php-7.3 SUITE="unit" - docker-compose run -T php-7.3 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file + docker compose run -T php-7.3 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file diff --git a/build/php-7.4/Makefile b/build/php-7.4/Makefile index 412c121..d68c343 100644 --- a/build/php-7.4/Makefile +++ b/build/php-7.4/Makefile @@ -1,10 +1,10 @@ .PHONY: prepare-php-7.4 test-php-7.4 test-suite-php-7.4 prepare-php-7.4: ## load dependencies with php 7.4 - docker-compose run -T php-7.4 /usr/bin/composer update + docker compose run -T php-7.4 /usr/bin/composer update test-php-7.4: prepare-php-7.4 ## run tests against php 7.4 - docker-compose run -T php-7.4 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml + docker compose run -T php-7.4 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml test-suite-php-7.4: prepare-php-7.4 ## run suite tests against php 7.4, ex: make test-suite-php-7.4 SUITE="unit" - docker-compose run -T php-7.4 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file + docker compose run -T php-7.4 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file diff --git a/build/php-8.0/Makefile b/build/php-8.0/Makefile index e834ead..b8b7eaf 100644 --- a/build/php-8.0/Makefile +++ b/build/php-8.0/Makefile @@ -1,10 +1,10 @@ .PHONY: prepare-php-8.0 test-php-8.0 test-suite-php-8.0 prepare-php-8.0: ## load dependencies with php 8.0 - docker-compose run -T php-8.0 /usr/bin/composer update + docker compose run -T php-8.0 /usr/bin/composer update test-php-8.0: prepare-php-8.0 ## run tests against php 8.0 - docker-compose run -T php-8.0 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml + docker compose run -T php-8.0 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml test-suite-php-8.0: prepare-php-8.0 ## run suite tests against php 8.0, ex: make test-suite-php-8.0 SUITE="unit" - docker-compose run -T php-8.0 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file + docker compose run -T php-8.0 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file diff --git a/build/php-8.1/Makefile b/build/php-8.1/Makefile index 517275d..607d37b 100644 --- a/build/php-8.1/Makefile +++ b/build/php-8.1/Makefile @@ -1,10 +1,10 @@ .PHONY: prepare-php-8.1 test-php-8.1 test-suite-php-8.1 prepare-php-8.1: ## load dependencies with php 8.1 - docker-compose run -T php-8.1 /usr/bin/composer update + docker compose run -T php-8.1 /usr/bin/composer update test-php-8.1: prepare-php-8.1 ## run tests against php 8.1 - docker-compose run -T php-8.1 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml + docker compose run -T php-8.1 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml test-suite-php-8.1: prepare-php-8.1 ## run suite tests against php 8.1, ex: make test-suite-php-8.1 SUITE="unit" - docker-compose run -T php-8.1 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file + docker compose run -T php-8.1 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file diff --git a/build/php-8.2/Makefile b/build/php-8.2/Makefile index c7788aa..3867be5 100644 --- a/build/php-8.2/Makefile +++ b/build/php-8.2/Makefile @@ -1,10 +1,10 @@ .PHONY: prepare-php-8.2 test-php-8.2 test-suite-php-8.2 prepare-php-8.2: ## load dependencies with php 8.2 - docker-compose run -T php-8.2 /usr/bin/composer update + docker compose run -T php-8.2 /usr/bin/composer update test-php-8.2: prepare-php-8.2 ## run tests against php 8.2 - docker-compose run -T php-8.2 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml + docker compose run -T php-8.2 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml test-suite-php-8.2: prepare-php-8.2 ## run suite tests against php 8.2, ex: make test-suite-php-8.2 SUITE="unit" - docker-compose run -T php-8.2 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file + docker compose run -T php-8.2 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file diff --git a/build/php-8.3/Makefile b/build/php-8.3/Makefile index 3b913f1..886f5d4 100644 --- a/build/php-8.3/Makefile +++ b/build/php-8.3/Makefile @@ -1,10 +1,10 @@ .PHONY: prepare-php-8.3 test-php-8.3 test-suite-php-8.3 prepare-php-8.3: ## load dependencies with php 8.3 - docker-compose run -T php-8.3 /usr/bin/composer update + docker compose run -T php-8.3 /usr/bin/composer update test-php-8.3: prepare-php-8.3 ## run tests against php 8.3 - docker-compose run -T php-8.3 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml + docker compose run -T php-8.3 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml test-suite-php-8.3: prepare-php-8.3 ## run suite tests against php 8.3, ex: make test-suite-php-8.3 SUITE="unit" - docker-compose run -T php-8.3 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file + docker compose run -T php-8.3 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file diff --git a/build/php-8.4/Makefile b/build/php-8.4/Makefile index 05d45e3..bd4cfd0 100644 --- a/build/php-8.4/Makefile +++ b/build/php-8.4/Makefile @@ -1,10 +1,10 @@ .PHONY: prepare-php-8.4 test-php-8.4 test-suite-php-8.4 prepare-php-8.4: ## load dependencies with php 8.4 - docker-compose run -T php-8.4 /usr/bin/composer update + docker compose run -T php-8.4 /usr/bin/composer update test-php-8.4: prepare-php-8.4 ## run tests against php 8.4 - docker-compose run -T php-8.4 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml + docker compose run -T php-8.4 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml test-suite-php-8.4: prepare-php-8.4 ## run suite tests against php 8.4, ex: make test-suite-php-8.4 SUITE="unit" - docker-compose run -T php-8.4 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file + docker compose run -T php-8.4 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file diff --git a/build/php-8.5/Dockerfile b/build/php-8.5/Dockerfile new file mode 100644 index 0000000..c93d62d --- /dev/null +++ b/build/php-8.5/Dockerfile @@ -0,0 +1,6 @@ +FROM composer:latest AS composer +FROM php:8.5-cli-alpine + +COPY --from=composer /usr/bin/composer /usr/bin/composer + +WORKDIR /app/ \ No newline at end of file diff --git a/build/php-8.5/Makefile b/build/php-8.5/Makefile new file mode 100644 index 0000000..3a38702 --- /dev/null +++ b/build/php-8.5/Makefile @@ -0,0 +1,10 @@ +.PHONY: prepare-php-8.5 test-php-8.5 test-suite-php-8.5 + +prepare-php-8.5: ## load dependencies with php 8.5 + docker compose run -T php-8.5 /usr/bin/composer update + +test-php-8.5: prepare-php-8.5 ## run tests against php 8.5 + docker compose run -T php-8.5 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml + +test-suite-php-8.5: prepare-php-8.5 ## run suite tests against php 8.5, ex: make test-suite-php-8.5 SUITE="unit" + docker compose run -T php-8.5 php vendor/bin/phpunit --configuration tests-resources/phpunit.xml --testsuite $(SUITE) \ No newline at end of file diff --git a/composer.json b/composer.json index ee46693..dd8d42e 100644 --- a/composer.json +++ b/composer.json @@ -16,7 +16,7 @@ } }, "require": { - "php": "^7 || ~8.0 || ~8.1 || ~8.2 || ~8.3 || ~8.4", + "php": "^7 || ~8.0 || ~8.1 || ~8.2 || ~8.3 || ~8.4 || ~8.5", "ext-json": "*", "psr/log": "^1 || ^2 || ^3", "psr/http-message": "~1.0 || ~1.1 || ~2.0", diff --git a/src/SmsapiClient.php b/src/SmsapiClient.php index eb8591a..564843f 100644 --- a/src/SmsapiClient.php +++ b/src/SmsapiClient.php @@ -12,7 +12,7 @@ */ interface SmsapiClient extends LoggerAwareInterface { - const VERSION = '3.0.12'; + const VERSION = 'Unreleased'; public function smsapiPlService(string $apiToken): SmsapiPlService;