diff --git a/.github/actions/ci-setup/action.yml b/.github/actions/ci-setup/action.yml index 19df378a..2771d3f8 100644 --- a/.github/actions/ci-setup/action.yml +++ b/.github/actions/ci-setup/action.yml @@ -43,5 +43,5 @@ runs: ini-values: pcov.directory=module - name: Install dependencies if: ${{ inputs.install-deps == 'yes' }} - run: composer install --no-interaction --prefer-dist + run: composer install --no-interaction --prefer-dist ${{ inputs.php-version == '8.3' && '--ignore-platform-req=php' || '' }} shell: bash diff --git a/.github/workflows/ci-db-tests.yml b/.github/workflows/ci-db-tests.yml index f0fc3eaa..c2bfe8d9 100644 --- a/.github/workflows/ci-db-tests.yml +++ b/.github/workflows/ci-db-tests.yml @@ -13,11 +13,12 @@ jobs: runs-on: ubuntu-22.04 strategy: matrix: - php-version: ['8.2'] + php-version: ['8.2', '8.3'] + continue-on-error: ${{ matrix.php-version == '8.3' }} env: LC_ALL: C steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install MSSQL ODBC if: ${{ inputs.platform == 'ms' }} run: sudo ./data/infra/ci/install-ms-odbc.sh diff --git a/.github/workflows/ci-docker-image-build.yml b/.github/workflows/ci-docker-image-build.yml index 3a055f10..43812fad 100644 --- a/.github/workflows/ci-docker-image-build.yml +++ b/.github/workflows/ci-docker-image-build.yml @@ -10,5 +10,5 @@ jobs: runs-on: ubuntu-22.04 steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - run: docker build -t shlink-docker-image:temp . diff --git a/.github/workflows/ci-mutation-tests.yml b/.github/workflows/ci-mutation-tests.yml index a0facf09..7ee91941 100644 --- a/.github/workflows/ci-mutation-tests.yml +++ b/.github/workflows/ci-mutation-tests.yml @@ -13,9 +13,10 @@ jobs: runs-on: ubuntu-22.04 strategy: matrix: - php-version: ['8.2'] + php-version: ['8.2', '8.3'] + continue-on-error: ${{ matrix.php-version == '8.3' }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: './.github/actions/ci-setup' with: php-version: ${{ matrix.php-version }} diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index e407da70..d606e252 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -13,9 +13,10 @@ jobs: runs-on: ubuntu-22.04 strategy: matrix: - php-version: ['8.2'] + php-version: ['8.2', '8.3'] + continue-on-error: ${{ matrix.php-version == '8.3' }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Start postgres database server if: ${{ inputs.test-group == 'api' }} run: docker-compose -f docker-compose.yml -f docker-compose.ci.yml up -d shlink_db_postgres diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4f19904d..54eb6460 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,7 +32,7 @@ jobs: php-version: ['8.2'] command: ['cs', 'stan', 'swagger:validate'] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: './.github/actions/ci-setup' with: php-version: ${{ matrix.php-version }} @@ -59,17 +59,18 @@ jobs: runs-on: ubuntu-22.04 strategy: matrix: - php-version: ['8.2'] + php-version: ['8.2', '8.3'] + continue-on-error: ${{ matrix.php-version == '8.3' }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # rr get-binary picks this env automatically steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - run: docker-compose -f docker-compose.yml -f docker-compose.ci.yml up -d shlink_db_postgres - uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-version }} tools: composer - - run: composer install --no-interaction --prefer-dist --ignore-platform-req=ext-openswoole + - run: composer install --no-interaction --prefer-dist --ignore-platform-req=ext-openswoole ${{ matrix.php-version == '8.3' && '--ignore-platform-req=php' || '' }} - run: ./vendor/bin/rr get --no-interaction --no-config --location bin/ && chmod +x bin/rr - run: composer test:api:rr @@ -138,7 +139,7 @@ jobs: php-version: ['8.2'] steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Use PHP uses: shivammathur/setup-php@v2 with: diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 66c24528..47ba7538 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -13,7 +13,7 @@ jobs: php-version: ['8.2'] swoole: ['yes', 'no'] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: './.github/actions/ci-setup' with: php-version: ${{ matrix.php-version }} @@ -33,7 +33,7 @@ jobs: needs: ['build'] runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: actions/download-artifact@v3 with: path: build diff --git a/.github/workflows/publish-swagger-spec.yml b/.github/workflows/publish-swagger-spec.yml index 094e8461..b18eda20 100644 --- a/.github/workflows/publish-swagger-spec.yml +++ b/.github/workflows/publish-swagger-spec.yml @@ -12,7 +12,7 @@ jobs: matrix: php-version: ['8.2'] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Determine version id: determine_version run: echo "version=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT diff --git a/CHANGELOG.md b/CHANGELOG.md index 67e8a6b5..2510b208 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), and this This is important if you are running multiple Shlink instance on the same server, or they share the same Redis instance (even more so if they are on different versions). +* [#1905](https://github.com/shlinkio/shlink/issues/1905) Add support for PHP 8.3. + ### Changed * [#1799](https://github.com/shlinkio/shlink/issues/1799) RoadRunner/openswoole jobs are not run anymore for tasks that are actually disabled. diff --git a/composer.json b/composer.json index 34168f62..aca4464e 100644 --- a/composer.json +++ b/composer.json @@ -45,13 +45,13 @@ "php-middleware/request-id": "^4.1", "pugx/shortid-php": "^1.1", "ramsey/uuid": "^4.7", - "shlinkio/shlink-common": "dev-main#4e859a7 as 5.7", - "shlinkio/shlink-config": "dev-main#c0aa01f as 2.5", - "shlinkio/shlink-event-dispatcher": "dev-main#bd3a62b as 3.1", - "shlinkio/shlink-importer": "^5.1", - "shlinkio/shlink-installer": "dev-develop#a665623 as 8.6", - "shlinkio/shlink-ip-geolocation": "^3.2", - "shlinkio/shlink-json": "^1.0", + "shlinkio/shlink-common": "dev-main#7d46772 as 5.7", + "shlinkio/shlink-config": "dev-main#cde5d3b as 2.5", + "shlinkio/shlink-event-dispatcher": "dev-main#faf2582 as 3.1", + "shlinkio/shlink-importer": "dev-main#d621b20 as 5.2", + "shlinkio/shlink-installer": "dev-develop#c1ef08c as 8.6", + "shlinkio/shlink-ip-geolocation": "dev-main#4a1cef8 as 3.3", + "shlinkio/shlink-json": "dev-main#e5a111c as 1.1", "spiral/roadrunner": "^2023.2", "spiral/roadrunner-cli": "^2.5", "spiral/roadrunner-http": "^3.1", @@ -75,7 +75,7 @@ "phpunit/phpunit": "^10.4", "roave/security-advisories": "dev-master", "shlinkio/php-coding-standard": "~2.3.0", - "shlinkio/shlink-test-utils": "^3.7.1", + "shlinkio/shlink-test-utils": "dev-main#cbbb64e as 3.8.0", "symfony/var-dumper": "^6.3", "veewee/composer-run-parallel": "^1.2" },