From 908e104a4a0782668479f9ec15f2e1634bce063e Mon Sep 17 00:00:00 2001 From: Niels Braczek Date: Mon, 15 Aug 2022 20:01:53 +0200 Subject: [PATCH] Enable CI for PHP 8.2 --- .drone.jsonnet | 10 +- .drone.yml | 531 +++++++++++++++++++++++++++++++------------------ composer.json | 2 +- 3 files changed, 344 insertions(+), 199 deletions(-) diff --git a/.drone.jsonnet b/.drone.jsonnet index fbbde583..0bedfefe 100644 --- a/.drone.jsonnet +++ b/.drone.jsonnet @@ -18,14 +18,14 @@ local composer(phpversion, params) = { volumes: volumes, commands: [ "php -v", - "composer update " + params + "composer update " + params, ] }; local phpunit(phpversion) = { name: "PHPUnit", image: "joomlaprojects/docker-images:php" + phpversion, - [if phpversion == "8.0" then "failure"]: "ignore", + [if phpversion == "8.2" then "failure"]: "ignore", commands: ["vendor/bin/phpunit"] }; @@ -61,7 +61,7 @@ local pipeline(name, phpversion, params) = { depends: [ "composer" ], commands: [ "vendor/bin/phpcs --config-set installed_paths vendor/joomla/coding-standards", - "vendor/bin/phpcs -p --report=full --extensions=php --standard=ruleset.xml src/" + "vendor/bin/phpcs --standard=ruleset.xml src/" ] }, { @@ -110,5 +110,7 @@ local pipeline(name, phpversion, params) = { pipeline("7.2", "7.2", "--prefer-stable"), pipeline("7.3", "7.3", "--prefer-stable"), pipeline("7.4", "7.4", "--prefer-stable"), - pipeline("8.0", "8.0", "--ignore-platform-reqs --prefer-stable") + pipeline("8.0", "8.0", "--prefer-stable"), + pipeline("8.1", "8.1", "--prefer-stable"), + pipeline("8.2", "8.2", "--prefer-stable --ignore-platform-reqs"), ] diff --git a/.drone.yml b/.drone.yml index 5939422a..e51fa1af 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,204 +1,347 @@ --- -kind: pipeline -name: Codequality - -platform: - os: linux - arch: amd64 - -steps: -- name: composer - image: joomlaprojects/docker-images:php7.4 - commands: - - php -v - - composer update - - composer require phpmd/phpmd phpstan/phpstan - volumes: - - name: composer-cache - path: /tmp/composer-cache - -- name: phpcs - image: joomlaprojects/docker-images:php7.4 - commands: - - vendor/bin/phpcs --config-set installed_paths vendor/joomla/coding-standards - - vendor/bin/phpcs -p --report=full --extensions=php --standard=ruleset.xml src/ - -- name: phpmd - image: joomlaprojects/docker-images:php7.4 - commands: - - vendor/bin/phpmd src text cleancode - - vendor/bin/phpmd src text codesize - - vendor/bin/phpmd src text controversial - - vendor/bin/phpmd src text design - - vendor/bin/phpmd src text unusedcode - failure: ignore - -- name: phpstan - image: joomlaprojects/docker-images:php7.4 - commands: - - vendor/bin/phpstan analyse src - failure: ignore - -- name: phploc - image: joomlaprojects/docker-images:php7.4 - commands: - - phploc src - failure: ignore - -- name: phpcpd - image: joomlaprojects/docker-images:php7.4 - commands: - - phpcpd src - failure: ignore - -volumes: -- name: composer-cache - host: - path: /tmp/composer-cache - +{ + "kind": "pipeline", + "name": "Codequality", + "steps": [ + { + "commands": [ + "php -v", + "composer update", + "composer require phpmd/phpmd phpstan/phpstan" + ], + "image": "joomlaprojects/docker-images:php7.4", + "name": "composer", + "volumes": [ + { + "name": "composer-cache", + "path": "/tmp/composer-cache" + } + ] + }, + { + "commands": [ + "vendor/bin/phpcs --config-set installed_paths vendor/joomla/coding-standards", + "vendor/bin/phpcs --standard=ruleset.xml src/" + ], + "depends": [ + "composer" + ], + "image": "joomlaprojects/docker-images:php7.4", + "name": "phpcs" + }, + { + "commands": [ + "vendor/bin/phpmd src text cleancode", + "vendor/bin/phpmd src text codesize", + "vendor/bin/phpmd src text controversial", + "vendor/bin/phpmd src text design", + "vendor/bin/phpmd src text unusedcode" + ], + "depends": [ + "composer" + ], + "failure": "ignore", + "image": "joomlaprojects/docker-images:php7.4", + "name": "phpmd" + }, + { + "commands": [ + "vendor/bin/phpstan analyse src" + ], + "depends": [ + "composer" + ], + "failure": "ignore", + "image": "joomlaprojects/docker-images:php7.4", + "name": "phpstan" + }, + { + "commands": [ + "phploc src" + ], + "depends": [ + "composer" + ], + "failure": "ignore", + "image": "joomlaprojects/docker-images:php7.4", + "name": "phploc" + }, + { + "commands": [ + "phpcpd src" + ], + "depends": [ + "composer" + ], + "failure": "ignore", + "image": "joomlaprojects/docker-images:php7.4", + "name": "phpcpd" + } + ], + "volumes": [ + { + "host": { + "path": "/tmp/composer-cache" + }, + "name": "composer-cache" + } + ] +} --- -kind: pipeline -name: PHP 7.2 lowest - -platform: - os: linux - arch: amd64 - -steps: -- name: composer - image: joomlaprojects/docker-images:php7.2 - commands: - - php -v - - composer update --prefer-stable --prefer-lowest - volumes: - - name: composer-cache - path: /tmp/composer-cache - -- name: PHPUnit - image: joomlaprojects/docker-images:php7.2 - commands: - - vendor/bin/phpunit - -volumes: -- name: composer-cache - host: - path: /tmp/composer-cache - +{ + "kind": "pipeline", + "name": "PHP 7.2 lowest", + "steps": [ + { + "commands": [ + "php -v", + "composer update --prefer-stable --prefer-lowest" + ], + "image": "joomlaprojects/docker-images:php7.2", + "name": "composer", + "volumes": [ + { + "name": "composer-cache", + "path": "/tmp/composer-cache" + } + ] + }, + { + "commands": [ + "vendor/bin/phpunit" + ], + "image": "joomlaprojects/docker-images:php7.2", + "name": "PHPUnit" + } + ], + "volumes": [ + { + "host": { + "path": "/tmp/composer-cache" + }, + "name": "composer-cache" + } + ] +} --- -kind: pipeline -name: PHP 7.2 - -platform: - os: linux - arch: amd64 - -steps: -- name: composer - image: joomlaprojects/docker-images:php7.2 - commands: - - php -v - - composer update --prefer-stable - volumes: - - name: composer-cache - path: /tmp/composer-cache - -- name: PHPUnit - image: joomlaprojects/docker-images:php7.2 - commands: - - vendor/bin/phpunit - -volumes: -- name: composer-cache - host: - path: /tmp/composer-cache - +{ + "kind": "pipeline", + "name": "PHP 7.2", + "steps": [ + { + "commands": [ + "php -v", + "composer update --prefer-stable" + ], + "image": "joomlaprojects/docker-images:php7.2", + "name": "composer", + "volumes": [ + { + "name": "composer-cache", + "path": "/tmp/composer-cache" + } + ] + }, + { + "commands": [ + "vendor/bin/phpunit" + ], + "image": "joomlaprojects/docker-images:php7.2", + "name": "PHPUnit" + } + ], + "volumes": [ + { + "host": { + "path": "/tmp/composer-cache" + }, + "name": "composer-cache" + } + ] +} --- -kind: pipeline -name: PHP 7.3 - -platform: - os: linux - arch: amd64 - -steps: -- name: composer - image: joomlaprojects/docker-images:php7.3 - commands: - - php -v - - composer update --prefer-stable - volumes: - - name: composer-cache - path: /tmp/composer-cache - -- name: PHPUnit - image: joomlaprojects/docker-images:php7.3 - commands: - - vendor/bin/phpunit - -volumes: -- name: composer-cache - host: - path: /tmp/composer-cache - +{ + "kind": "pipeline", + "name": "PHP 7.3", + "steps": [ + { + "commands": [ + "php -v", + "composer update --prefer-stable" + ], + "image": "joomlaprojects/docker-images:php7.3", + "name": "composer", + "volumes": [ + { + "name": "composer-cache", + "path": "/tmp/composer-cache" + } + ] + }, + { + "commands": [ + "vendor/bin/phpunit" + ], + "image": "joomlaprojects/docker-images:php7.3", + "name": "PHPUnit" + } + ], + "volumes": [ + { + "host": { + "path": "/tmp/composer-cache" + }, + "name": "composer-cache" + } + ] +} --- -kind: pipeline -name: PHP 7.4 - -platform: - os: linux - arch: amd64 - -steps: -- name: composer - image: joomlaprojects/docker-images:php7.4 - commands: - - php -v - - composer update --prefer-stable - volumes: - - name: composer-cache - path: /tmp/composer-cache - -- name: PHPUnit - image: joomlaprojects/docker-images:php7.4 - commands: - - vendor/bin/phpunit - -volumes: -- name: composer-cache - host: - path: /tmp/composer-cache - +{ + "kind": "pipeline", + "name": "PHP 7.4", + "steps": [ + { + "commands": [ + "php -v", + "composer update --prefer-stable" + ], + "image": "joomlaprojects/docker-images:php7.4", + "name": "composer", + "volumes": [ + { + "name": "composer-cache", + "path": "/tmp/composer-cache" + } + ] + }, + { + "commands": [ + "vendor/bin/phpunit" + ], + "image": "joomlaprojects/docker-images:php7.4", + "name": "PHPUnit" + } + ], + "volumes": [ + { + "host": { + "path": "/tmp/composer-cache" + }, + "name": "composer-cache" + } + ] +} --- -kind: pipeline -name: PHP 8.0 - -platform: - os: linux - arch: amd64 - -steps: -- name: composer - image: joomlaprojects/docker-images:php8.0 - commands: - - php -v - - composer update --ignore-platform-reqs --prefer-stable - volumes: - - name: composer-cache - path: /tmp/composer-cache - -- name: PHPUnit - image: joomlaprojects/docker-images:php8.0 - commands: - - vendor/bin/phpunit - failure: ignore - -volumes: -- name: composer-cache - host: - path: /tmp/composer-cache - +{ + "kind": "pipeline", + "name": "PHP 8.0", + "steps": [ + { + "commands": [ + "php -v", + "composer update --prefer-stable" + ], + "image": "joomlaprojects/docker-images:php8.0", + "name": "composer", + "volumes": [ + { + "name": "composer-cache", + "path": "/tmp/composer-cache" + } + ] + }, + { + "commands": [ + "vendor/bin/phpunit" + ], + "image": "joomlaprojects/docker-images:php8.0", + "name": "PHPUnit" + } + ], + "volumes": [ + { + "host": { + "path": "/tmp/composer-cache" + }, + "name": "composer-cache" + } + ] +} +--- +{ + "kind": "pipeline", + "name": "PHP 8.1", + "steps": [ + { + "commands": [ + "php -v", + "composer update --prefer-stable" + ], + "image": "joomlaprojects/docker-images:php8.1", + "name": "composer", + "volumes": [ + { + "name": "composer-cache", + "path": "/tmp/composer-cache" + } + ] + }, + { + "commands": [ + "vendor/bin/phpunit" + ], + "image": "joomlaprojects/docker-images:php8.1", + "name": "PHPUnit" + } + ], + "volumes": [ + { + "host": { + "path": "/tmp/composer-cache" + }, + "name": "composer-cache" + } + ] +} +--- +{ + "kind": "pipeline", + "name": "PHP 8.2", + "steps": [ + { + "commands": [ + "php -v", + "composer update --prefer-stable --ignore-platform-reqs" + ], + "image": "joomlaprojects/docker-images:php8.2", + "name": "composer", + "volumes": [ + { + "name": "composer-cache", + "path": "/tmp/composer-cache" + } + ] + }, + { + "commands": [ + "vendor/bin/phpunit" + ], + "failure": "ignore", + "image": "joomlaprojects/docker-images:php8.2", + "name": "PHPUnit" + } + ], + "volumes": [ + { + "host": { + "path": "/tmp/composer-cache" + }, + "name": "composer-cache" + } + ] +} --- kind: signature -hmac: fd34b409212347b04b3c00fe4c1087fa8d3c74b7ea98f44a3c54afaef1a5e0b3 +hmac: c530f0707df30212bf8c49664a88df806a6817183dd5c4a33e421a765c30196f ... diff --git a/composer.json b/composer.json index d2d6fa2c..8239ef01 100644 --- a/composer.json +++ b/composer.json @@ -6,7 +6,7 @@ "homepage": "https://github.com/joomla-framework/di", "license": "GPL-2.0-or-later", "require": { - "php": "^7.2.5|~8", + "php": "^7.2.5|~8.0.0|~8.1.0", "psr/container": "^1.0", "symfony/deprecation-contracts": "^2.1" },