Skip to content

Commit

Permalink
Support Symfony 7 (#1158)
Browse files Browse the repository at this point in the history
* Update to symfony7

* Comply with parent return type

* Use correct branch of annottaed-command

* Allow Symfony 6

* Updated lock

* Add -W to composer update in CI

* Add token

* struggle

* Lock

* Use return type void as per console 7

* Downgrade roave's php

* Fix constraint

* Remove self update command, make consolidate/self-update suggested rather than required.

* Add output of composer info to CI logs

* Drop support for PHP < 8.2

* Skip Windows test that requires zlib

* Update supported PHP versions and dependencies

---------

Co-authored-by: Lee Rowlands <[email protected]>
Co-authored-by: Moshe Weitzman <[email protected]>
Co-authored-by: Greg Anderson <[email protected]>
  • Loading branch information
4 people authored Apr 17, 2024
1 parent 08a20c5 commit 961f080
Show file tree
Hide file tree
Showing 9 changed files with 864 additions and 680 deletions.
32 changes: 15 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,12 @@ on:
branches:
- 3.x
- 4.x
- 5.x
push:
branches:
- 3.x
- 4.x
- 5.x

name: CI

Expand All @@ -26,7 +28,7 @@ jobs:
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.0
php-version: 8.3
coverage: none

- name: Install dependencies
Expand Down Expand Up @@ -55,7 +57,7 @@ jobs:
- name: Install PHP with extensions
uses: shivammathur/setup-php@v2
with:
php-version: 8.0
php-version: 8.2
coverage: none
extensions: intl

Expand All @@ -82,7 +84,7 @@ jobs:
- windows-latest

php-version:
- "8.0"
- "8.2"

php-ini-values:
- assert.exception=1, zend.assertions=1, phar.readonly=false
Expand All @@ -92,17 +94,7 @@ jobs:

include:
- os: ubuntu-latest
php-version: "8.0"
dependencies: lowest
php-ini-values: assert.exception=1, zend.assertions=1, opcache.enable=1, opcache.enable_cli=1, opcache.optimization_level=-1, opcache.jit_buffer_size=4096M, opcache.jit=1205, phar.readonly=false

- os: ubuntu-latest
php-version: "8.1"
dependencies: highest
php-ini-values: assert.exception=1, zend.assertions=1, opcache.enable=1, opcache.enable_cli=1, opcache.optimization_level=-1, opcache.jit_buffer_size=4096M, opcache.jit=1205, phar.readonly=false

- os: ubuntu-latest
php-version: "8.2"
php-version: "8.3"
dependencies: highest
php-ini-values: assert.exception=1, zend.assertions=1, opcache.enable=1, opcache.enable_cli=1, opcache.optimization_level=-1, opcache.jit_buffer_size=4096M, opcache.jit=1205, phar.readonly=false

Expand All @@ -117,6 +109,9 @@ jobs:
coverage: pcov
extensions: ${{ env.PHP_EXTENSIONS }}
ini-values: ${{ matrix.php-ini-values }}
# https://github.com/composer/composer/issues/9084#issuecomment-752134788https://github.com/composer/composer/issues/9084#issuecomment-752134788
env:
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Determine composer cache directory on Linux
if: matrix.os == 'ubuntu-latest'
Expand Down Expand Up @@ -144,16 +139,19 @@ jobs:
if: matrix.dependencies == 'locked'
run: |
composer install --no-ansi --no-interaction --no-progress
composer update --no-ansi --no-interaction --no-progress phpunit/phpunit --with-all-dependencies
# composer update --no-ansi --no-interaction --no-progress phpunit/phpunit --with-all-dependencies

- name: Install lowest dependencies with composer
if: matrix.dependencies == 'lowest'
run: composer update --no-ansi --no-interaction --no-progress --prefer-lowest
run: composer update --no-ansi --no-interaction --no-progress --prefer-lowest -W

- name: Install highest dependencies with composer
if: matrix.dependencies == 'highest'
run: composer config --unset platform.php && composer update --no-ansi --no-interaction --no-progress
run: composer config --unset platform.php && composer update --no-ansi --no-interaction --no-progress -W

- name: Show composer dependencies
run: composer info

- name: Run tests with phpunit
run: composer unit

Expand Down
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,16 @@

| Branch | Support Level | Symfony | League Container | psr/log | PHP Versions |
| ------ | ------------- | ------- | ---------------- | ------------ | ------------ |
| [4.x](https://github.com/consolidation/robo/tree/4.x) | Stable | 6 | 3 | 2 - 3 | 8.0 - 8.1 |
| [5.x](https://github.com/consolidation/robo/tree/5.x) | Stable | 6 - 7 | 3 | 2 - 3 | 8.2 - 8.3 |
| [4.x](https://github.com/consolidation/robo/tree/4.x) | Stable | 6 | 3 | 2 - 3 | 8.0 - 8.3 |
| [3.x](https://github.com/consolidation/robo/tree/3.x) | Not supported | 4 - 6 | 3 | 1 - 2 | 7.1 - 8.1 |
| [2.x](https://github.com/consolidation/robo/tree/2.x) | Not supported | 4 - 5 | 2 | 1 - 2 | 7.1 - 7.4 |
| [1.x](https://github.com/consolidation/robo/tree/1.x) | Not supported | 2 - 4 | 2 | 1 - 2 | 5.5 - 7.4 |

All versions are roughly compatible; the breaking changes introduced at each major version are fairly minor, and typically only affect classes that are not used by most clients.

Note also that Robo 5.x removed consolidation/self-update as a direct dependency. You will need to explicitly add it if you are using it to update your application phar.

## Installing

### Phar
Expand Down
3 changes: 3 additions & 0 deletions RoboFile.php
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,9 @@ public function pharBuild(ConsoleIO $io)
->dev()
->noUpdate()
->args($devProjectsToRemove)
->taskComposerRequire()
->dependency('consolidation/self-update', '*')
->noUpdate()
->taskComposerInstall()
->dir($roboBuildDir)
->noScripts()
Expand Down
26 changes: 13 additions & 13 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,27 +23,26 @@
"robo"
],
"require": {
"php": ">=8.0",
"php": ">=8.2",
"consolidation/annotated-command": "^4.8.1",
"consolidation/config": "^2.0.1",
"consolidation/log": "^2.0.2 || ^3",
"consolidation/config": "^3",
"consolidation/log": "^3",
"consolidation/output-formatters": "^4.1.2",
"consolidation/self-update": "^2.0",
"league/container": "^3.3.1 || ^4.0",
"phpowermove/docblock": "^4.0",
"symfony/console": "^6",
"symfony/event-dispatcher": "^6",
"symfony/filesystem": "^6",
"symfony/finder": "^6",
"symfony/process": "^6",
"symfony/yaml": "^6"
"symfony/console": "^6 || ^7",
"symfony/event-dispatcher": "6 || ^7",
"symfony/filesystem": "^6 || ^7",
"symfony/finder": "^6 || ^7",
"symfony/process": "^6 || ^7",
"symfony/yaml": "^6 || ^7"
},
"require-dev": {
"natxet/cssmin": "3.0.4",
"patchwork/jsqueeze": "^2",
"pear/archive_tar": "^1.4.4",
"squizlabs/php_codesniffer": "^3.6",
"phpunit/phpunit": "^7.5.20 || ^8",
"phpunit/phpunit": "^7.5.20 || ^8 || ^9",
"yoast/phpunit-polyfills": "^0.2.0"
},
"scripts": {
Expand All @@ -64,14 +63,15 @@
"optimize-autoloader": true,
"sort-packages": true,
"platform": {
"php": "8.0.17"
"php": "8.2.18"
}
},
"suggest": {
"pear/archive_tar": "Allows tar archives to be created and extracted in taskPack and taskExtract, respectively.",
"totten/lurkerlite": "For monitoring filesystem changes in taskWatch",
"patchwork/jsqueeze": "For minifying JS files in taskMinify",
"natxet/cssmin": "For minifying CSS files in taskMinify"
"natxet/cssmin": "For minifying CSS files in taskMinify",
"consolidation/self-update": "For self-updating a phar-based app built with Robo"
},
"conflict": {
"codegyre/robo": "*"
Expand Down
Loading

0 comments on commit 961f080

Please sign in to comment.