From 10dcc4f13a8957fcdc50b5f0b11f28b32b20afd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20FIDRY?= Date: Sun, 19 Nov 2023 00:24:32 +0100 Subject: [PATCH 1/7] chore: Upgrade to PHP 8.2 --- .github/dependabot.yml | 4 ++++ .github/workflows/auto-review.yaml | 8 ++++---- .github/workflows/docker.yaml | 12 ++++++------ .github/workflows/e2e-tests.yaml | 4 ++-- .github/workflows/release.yaml | 2 +- .github/workflows/requirement-checker.yaml | 21 +++++++++------------ .github/workflows/unit-tests.yaml | 17 +++++++---------- composer.json | 4 ++-- composer.lock | 6 +++--- 9 files changed, 38 insertions(+), 40 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index ee9d84b59..685fcb7e7 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -13,3 +13,7 @@ updates: directory: ".github/workflows" schedule: interval: "weekly" + groups: + dependencies: + patterns: + - "*" diff --git a/.github/workflows/auto-review.yaml b/.github/workflows/auto-review.yaml index 13618bd0d..1ee4494b7 100644 --- a/.github/workflows/auto-review.yaml +++ b/.github/workflows/auto-review.yaml @@ -27,7 +27,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.1' + php-version: '8.2' tools: composer coverage: none @@ -57,7 +57,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.1' + php-version: '8.2' tools: composer coverage: none @@ -73,7 +73,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.1' + php-version: '8.2' tools: composer coverage: none @@ -95,7 +95,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.1' + php-version: '8.2' tools: composer coverage: none diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index eef132ca9..c9ceeddd4 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -35,12 +35,12 @@ jobs: - name: PHP 7.2.5 docker-file: .docker/php725 image-tag: ghcr.io/box-project/box_php725 - - name: PHP 8.1 - docker-file: .docker/php81 - image-tag: ghcr.io/box-project/box_php81 - - name: PHP 8.1 (Xdebug) - docker-file: .docker/php81_xdebug - image-tag: ghcr.io/box-project/box_php81_xdebug + - name: PHP 8.2 + docker-file: .docker/php82 + image-tag: ghcr.io/box-project/box_php82 + - name: PHP 8.2 (Xdebug) + docker-file: .docker/php82_xdebug + image-tag: ghcr.io/box-project/box_php82_xdebug steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/e2e-tests.yaml b/.github/workflows/e2e-tests.yaml index 9d2cad848..9a660abaa 100644 --- a/.github/workflows/e2e-tests.yaml +++ b/.github/workflows/e2e-tests.yaml @@ -67,7 +67,7 @@ jobs: - e2e_dockerfile_no_extension - e2e_custom_composer_bin - e2e_reproducible_build - php: [ '8.1', '8.2', '8.3' ] + php: [ '8.2', '8.3' ] tools: - 'composer:2.2' - 'composer:2.3' @@ -141,7 +141,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.1' + php-version: '8.2' ini-values: phar.readonly=0, display_errors=On, error_reporting=-1 tools: composer coverage: pcov diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 0072bb994..34884fe05 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -33,7 +33,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.1' + php-version: '8.2' ini-values: phar.readonly=0 tools: composer coverage: none diff --git a/.github/workflows/requirement-checker.yaml b/.github/workflows/requirement-checker.yaml index 8d8695599..e0598a2c7 100644 --- a/.github/workflows/requirement-checker.yaml +++ b/.github/workflows/requirement-checker.yaml @@ -30,7 +30,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.1' + php-version: '8.2' tools: composer coverage: none @@ -69,7 +69,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.1' + php-version: '8.2' tools: composer coverage: none @@ -93,19 +93,16 @@ jobs: # The lowest dependency is tested via an e2e test rather than by executing the tests like so. # The reason being using tools such as PHPUnit for a version as low as the lowest supported version # is a serious strain for close to no benefits: the e2e test is simpler. - php: [ '8.1' ] + php: [ '8.2' ] dependency: [ locked ] - composer-options: [ null ] + composer-options: [ '' ] include: - - php: '8.1' + - php: '8.2' dependency: lowest - composer-options: ~ - - php: '8.1' - dependency: highest - composer-options: ~ + composer-options: '' - php: '8.2' dependency: highest - composer-options: ~ + composer-options: '' - php: '8.3' dependency: highest composer-options: --ignore-platform-req=php+ @@ -214,7 +211,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.1' + php-version: '8.2' tools: composer coverage: none @@ -293,7 +290,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.1' + php-version: '8.2' tools: composer coverage: none diff --git a/.github/workflows/unit-tests.yaml b/.github/workflows/unit-tests.yaml index 6d3c6f46a..a99cd4a4c 100644 --- a/.github/workflows/unit-tests.yaml +++ b/.github/workflows/unit-tests.yaml @@ -26,18 +26,15 @@ jobs: fail-fast: false matrix: php: - - version: '8.1' + - version: '8.2' dependency: locked - composer-options: ~ - - version: '8.1' + composer-options: '' + - version: '8.2' dependency: lowest - composer-options: ~ - - version: '8.1' - dependency: highest - composer-options: ~ + composer-options: '' - version: '8.2' dependency: highest - composer-options: ~ + composer-options: '' - version: '8.3' dependency: highest composer-options: --ignore-platform-req=php+ @@ -52,7 +49,7 @@ jobs: include: - label: '; bz2 disabled' php: - version: '8.1' + version: '8.2' dependency: locked composer-options: '' tools: composer @@ -94,7 +91,7 @@ jobs: strategy: fail-fast: false matrix: - php: [ '8.1' ] + php: [ '8.2' ] if: github.event_name == 'pull_request' || github.event_name == 'push' steps: - name: Checkout diff --git a/composer.json b/composer.json index 2869ae685..593ab1c7a 100644 --- a/composer.json +++ b/composer.json @@ -17,7 +17,7 @@ } ], "require": { - "php": "^8.1", + "php": "^8.2", "ext-iconv": "*", "ext-mbstring": "*", "ext-phar": "*", @@ -99,7 +99,7 @@ "ergebnis/composer-normalize": true }, "platform": { - "php": "8.1" + "php": "8.2" }, "platform-check": false, "sort-packages": true diff --git a/composer.lock b/composer.lock index 8dfbffedc..e79b691d9 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "2ca942294db7c323405284645f0aca57", + "content-hash": "844e1e85b07a3f8e5ed996421f685ada", "packages": [ { "name": "amphp/amp", @@ -5755,7 +5755,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^8.1", + "php": "^8.2", "ext-iconv": "*", "ext-mbstring": "*", "ext-phar": "*", @@ -5763,7 +5763,7 @@ }, "platform-dev": [], "platform-overrides": { - "php": "8.1" + "php": "8.2" }, "plugin-api-version": "2.6.0" } From 50d7f2c7f7e383393164309d200dae602936d6f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20FIDRY?= Date: Sun, 19 Nov 2023 00:35:00 +0100 Subject: [PATCH 2/7] fix docker images --- .docker/Dockerfile | 2 +- .docker/{php81 => php82} | 2 +- .docker/{php81_build_phar => php82_build_phar} | 4 ++-- .docker/{php81_xdebug => php82_xdebug} | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) rename .docker/{php81 => php82} (91%) rename .docker/{php81_build_phar => php82_build_phar} (85%) rename .docker/{php81_xdebug => php82_xdebug} (93%) diff --git a/.docker/Dockerfile b/.docker/Dockerfile index 9cc0c500b..1e772c5f3 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -1,4 +1,4 @@ -FROM php:8.1-cli-alpine +FROM php:8.2-cli-alpine COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/ RUN install-php-extensions zlib phar sodium tokenizer filter diff --git a/.docker/php81 b/.docker/php82 similarity index 91% rename from .docker/php81 rename to .docker/php82 index 7b18378f6..5e9d61ec3 100644 --- a/.docker/php81 +++ b/.docker/php82 @@ -1,4 +1,4 @@ -FROM php:8.1-cli +FROM php:8.2-cli RUN echo '' | \ apt-get -y update; \ diff --git a/.docker/php81_build_phar b/.docker/php82_build_phar similarity index 85% rename from .docker/php81_build_phar rename to .docker/php82_build_phar index a07175968..e5cd65ee1 100644 --- a/.docker/php81_build_phar +++ b/.docker/php82_build_phar @@ -1,4 +1,4 @@ -FROM php:8.1-cli-alpine as build-stage +FROM php:8.2-cli-alpine as build-stage RUN apk add --update make git @@ -10,7 +10,7 @@ ADD . /opt/box-project/box RUN cd /opt/box-project/box && \ make compile -FROM php:8.1-cli-alpine +FROM php:8.2-cli-alpine COPY --from=build-stage /opt/box-project/box/bin/box.phar /usr/bin/box diff --git a/.docker/php81_xdebug b/.docker/php82_xdebug similarity index 93% rename from .docker/php81_xdebug rename to .docker/php82_xdebug index 5290e3aca..ca34eab1b 100644 --- a/.docker/php81_xdebug +++ b/.docker/php82_xdebug @@ -1,4 +1,4 @@ -FROM php:8.1-cli +FROM php:8.2-cli RUN echo '' | \ apt-get -y update; \ From 163d5410a22bb89c0d8cad25b4303defa4f2b896 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20FIDRY?= Date: Sun, 19 Nov 2023 09:29:14 +0100 Subject: [PATCH 3/7] fix docker image --- .github/workflows/release.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 34884fe05..43ecec93a 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -127,6 +127,11 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.2' + - uses: actions/download-artifact@v3 with: name: box-phar From ee3ee385a909e853b953eb8c83b80fbf0c6ba1d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20FIDRY?= Date: Sun, 19 Nov 2023 09:31:44 +0100 Subject: [PATCH 4/7] disable --- phpunit.xml.dist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpunit.xml.dist b/phpunit.xml.dist index cd0535530..9294c9708 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -12,7 +12,7 @@ - + From dec4225162f6281e987a6281bc502565546138fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20FIDRY?= Date: Sun, 19 Nov 2023 09:37:03 +0100 Subject: [PATCH 5/7] fix --- composer.json | 2 +- phpunit.xml.dist | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 593ab1c7a..409142ebb 100644 --- a/composer.json +++ b/composer.json @@ -25,7 +25,7 @@ "amphp/parallel-functions": "^1.1", "composer/semver": "^3.3.2", "composer/xdebug-handler": "^3.0.3", - "fidry/console": "^0.5.3 || ^0.6.0", + "fidry/console": "^0.5.3", "fidry/filesystem": "^1.1", "humbug/php-scoper": "^0.18.6", "justinrainbow/json-schema": "^5.2.12", diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 9294c9708..cd0535530 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -12,7 +12,7 @@ - + From 50f0e0fe87ef07cc00ae89ed7a05b480a19f1bba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20FIDRY?= Date: Sun, 19 Nov 2023 09:37:25 +0100 Subject: [PATCH 6/7] fix --- composer.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.lock b/composer.lock index e79b691d9..cf6a76582 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "844e1e85b07a3f8e5ed996421f685ada", + "content-hash": "6dcfacaa1241091eca2295cd36eb29f3", "packages": [ { "name": "amphp/amp", From 61784b063ba29a3b85f139377cd785a208aa33d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20FIDRY?= Date: Sun, 19 Nov 2023 09:51:14 +0100 Subject: [PATCH 7/7] fix --- .docker/build | 8 ++++---- .github/workflows/e2e-tests.yaml | 4 ++-- .github/workflows/requirement-checker.yaml | 8 ++++---- .php-cs-fixer.dist.php | 2 +- Makefile.e2e | 4 ++-- requirement-checker/Makefile.e2e | 2 +- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.docker/build b/.docker/build index 42baf9770..1a5b84ae8 100755 --- a/.docker/build +++ b/.docker/build @@ -8,10 +8,10 @@ if [[ "$(docker images -q ghcr.io/box-project/box_php725 2> /dev/null)" == "" ]] docker build --platform=linux/amd64 --tag=ghcr.io/box-project/box_php725 --file "${SCRIPT_DIR}/php725" . fi -if [[ "$(docker images -q ghcr.io/box-project/box_php81 2> /dev/null)" == "" ]]; then - docker build --platform=linux/amd64 --tag=ghcr.io/box-project/box_php81 --file "${SCRIPT_DIR}/php81" . +if [[ "$(docker images -q ghcr.io/box-project/box_php82 2> /dev/null)" == "" ]]; then + docker build --platform=linux/amd64 --tag=ghcr.io/box-project/box_php82 --file "${SCRIPT_DIR}/php82" . fi -if [[ "$(docker images -q ghcr.io/box-project/box_php81_xdebug 2> /dev/null)" == "" ]]; then - docker build --platform=linux/amd64 --tag=ghcr.io/box-project/box_php81_xdebug --file "${SCRIPT_DIR}/php81_xdebug" . +if [[ "$(docker images -q ghcr.io/box-project/box_php82_xdebug 2> /dev/null)" == "" ]]; then + docker build --platform=linux/amd64 --tag=ghcr.io/box-project/box_php82_xdebug --file "${SCRIPT_DIR}/php82_xdebug" . fi diff --git a/.github/workflows/e2e-tests.yaml b/.github/workflows/e2e-tests.yaml index 9a660abaa..616a8e982 100644 --- a/.github/workflows/e2e-tests.yaml +++ b/.github/workflows/e2e-tests.yaml @@ -181,8 +181,8 @@ jobs: - name: Pull the docker image run: | - docker pull ghcr.io/box-project/box_php81 - docker pull ghcr.io/box-project/box_php81_xdebug + docker pull ghcr.io/box-project/box_php82 + docker pull ghcr.io/box-project/box_php82_xdebug - run: make ${{ matrix.e2e }} diff --git a/.github/workflows/requirement-checker.yaml b/.github/workflows/requirement-checker.yaml index e0598a2c7..718b1fc9f 100644 --- a/.github/workflows/requirement-checker.yaml +++ b/.github/workflows/requirement-checker.yaml @@ -189,21 +189,21 @@ jobs: - command: _test_e2e_pass_no_config_min_composer_php docker-image: ghcr.io/box-project/box_php725 - command: _test_e2e_pass_no_config_min_box_php - docker-image: ghcr.io/box-project/box_php81 + docker-image: ghcr.io/box-project/box_php82 - command: _test_e2e_pass_complete_min_composer_php docker-image: ghcr.io/box-project/box_php725 - command: _test_e2e_pass_complete_min_box_php - docker-image: ghcr.io/box-project/box_php81 + docker-image: ghcr.io/box-project/box_php82 - command: _test_e2e_fail_complete_min_composer_php docker-image: ghcr.io/box-project/box_php725 - command: _test_e2e_fail_complete_min_box_php - docker-image: ghcr.io/box-project/box_php81 + docker-image: ghcr.io/box-project/box_php82 - command: _test_e2e_skip_min_composer_php docker-image: ghcr.io/box-project/box_php725 - command: _test_e2e_pass_complete_requirement_checker_not_disabled docker-image: ghcr.io/box-project/box_php725 - command: _test_e2e_fail_conflict - docker-image: ghcr.io/box-project/box_php81 + docker-image: ghcr.io/box-project/box_php82 steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php index 76dc9efee..fd60101c2 100644 --- a/.php-cs-fixer.dist.php +++ b/.php-cs-fixer.dist.php @@ -32,7 +32,7 @@ ], ]; -$config = new FidryConfig('', 81_000); +$config = new FidryConfig('', 82_000); $config->addRules($overriddenRules); $config->setCacheFile(__DIR__.'/dist/.php-cs-fixer.cache'); $config->setFinder($finder); diff --git a/Makefile.e2e b/Makefile.e2e index 717aeb066..c2e0a1955 100644 --- a/Makefile.e2e +++ b/Makefile.e2e @@ -5,8 +5,8 @@ MAKEFLAGS += --no-builtin-rules DOCKER_RUN = docker run --interactive --platform=linux/amd64 --rm --workdir=/opt/box DOCKER_RUN_NO_PULL = docker run --interactive --platform=linux/amd64 --rm --pull=never # Matches the minimum PHP version supported by Box. -DOCKER_MIN_BOX_VERSION_IMAGE_TAG = ghcr.io/box-project/box_php81 -DOCKER_MIN_BOX_XDEBUG_PHP_VERSION_IMAGE_TAG = ghcr.io/box-project/box_php81_xdebug +DOCKER_MIN_BOX_VERSION_IMAGE_TAG = ghcr.io/box-project/box_php82 +DOCKER_MIN_BOX_XDEBUG_PHP_VERSION_IMAGE_TAG = ghcr.io/box-project/box_php82_xdebug E2E_SCOPER_EXPOSE_SYMBOLS_DIR = fixtures/build/dir011 E2E_SCOPER_EXPOSE_SYMBOLS_OUTPUT_DIR = dist/dir011 diff --git a/requirement-checker/Makefile.e2e b/requirement-checker/Makefile.e2e index e95f6e48c..8e11e89c0 100644 --- a/requirement-checker/Makefile.e2e +++ b/requirement-checker/Makefile.e2e @@ -14,7 +14,7 @@ DOCKER_MIN_COMPOSER_PHP_VERSION_IMAGE_TAG = ghcr.io/box-project/box_php725 DOCKER_MIN_COMPOSER_PHP_VERSION_RUN_COMMAND = $(DOCKER_MIN_COMPOSER_PHP_VERSION_IMAGE_TAG) php index.phar -vvv --no-ansi # Matches the minimum PHP version supported by Box. -DOCKER_MIN_BOX_PHP_VERSION_IMAGE_TAG = ghcr.io/box-project/box_php81 +DOCKER_MIN_BOX_PHP_VERSION_IMAGE_TAG = ghcr.io/box-project/box_php82 DOCKER_MIN_BOX_PHP_VERSION_RUN_COMMAND = $(DOCKER_MIN_BOX_PHP_VERSION_IMAGE_TAG) php index.phar -vvv --no-ansi E2E_TEST_PASS_NO_CONFIG_DIR := fixtures/pass-no-config