diff --git a/.github/workflows/ci-db-tests.yml b/.github/workflows/ci-db-tests.yml index 639481b8..a8655a4d 100644 --- a/.github/workflows/ci-db-tests.yml +++ b/.github/workflows/ci-db-tests.yml @@ -13,11 +13,11 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - php-version: ['8.3', '8.4', '8.5'] + php-version: ['8.4', '8.5'] env: LC_ALL: C steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Install MSSQL ODBC if: ${{ inputs.platform == 'ms' }} run: sudo ./data/infra/ci/install-ms-odbc.sh @@ -35,8 +35,8 @@ jobs: - name: Run tests run: composer test:db:${{ inputs.platform }} - name: Upload code coverage - uses: actions/upload-artifact@v4 - if: ${{ matrix.php-version == '8.3' && inputs.platform == 'sqlite:ci' }} + uses: actions/upload-artifact@v5 + if: ${{ matrix.php-version == '8.4' && inputs.platform == 'sqlite:ci' }} with: name: coverage-db path: | diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index 1ee23377..5f9f2bdc 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -13,11 +13,11 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - php-version: ['8.3', '8.4', '8.5'] + php-version: ['8.4', '8.5'] env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # rr get-binary picks this env automatically steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - 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 @@ -32,8 +32,8 @@ jobs: if: ${{ inputs.test-group == 'api' }} run: ./vendor/bin/rr get --no-interaction --no-config --location bin/ && chmod +x bin/rr - run: composer test:${{ inputs.test-group }}:ci - - uses: actions/upload-artifact@v4 - if: ${{ matrix.php-version == '8.3' }} + - uses: actions/upload-artifact@v5 + if: ${{ matrix.php-version == '8.4' }} with: name: coverage-${{ inputs.test-group }} path: | diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 51803a4f..bcf85be9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,10 +27,10 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - php-version: ['8.3'] + php-version: ['8.4'] command: ['cs', 'stan', 'openapi:validate'] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: './.github/actions/ci-setup' with: php-version: ${{ matrix.php-version }} @@ -69,16 +69,15 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - php-version: ['8.3'] + php-version: ['8.4'] steps: - - name: Checkout code - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Use PHP uses: './.github/actions/ci-setup' with: php-version: ${{ matrix.php-version }} extensions-cache-key: tests-extensions-${{ matrix.php-version }} - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v6 with: path: build - run: mv build/coverage-unit/coverage-unit.cov build/coverage-unit.cov @@ -87,7 +86,7 @@ jobs: - run: mv build/coverage-cli/coverage-cli.cov build/coverage-cli.cov - run: vendor/bin/phpcov merge build --clover build/clover.xml - name: Publish coverage - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: file: ./build/clover.xml diff --git a/.github/workflows/publish-openapi-spec.yml b/.github/workflows/publish-openapi-spec.yml index 6195ce90..7a48e115 100644 --- a/.github/workflows/publish-openapi-spec.yml +++ b/.github/workflows/publish-openapi-spec.yml @@ -10,9 +10,9 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - php-version: ['8.3'] + php-version: ['8.4'] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Determine version id: determine_version run: echo "version=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 61fc6940..ee0ceb79 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -10,16 +10,16 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - php-version: ['8.3', '8.4', '8.5'] + php-version: ['8.4', '8.4', '8.5'] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: './.github/actions/ci-setup' with: php-version: ${{ matrix.php-version }} extensions-cache-key: publish-swagger-spec-extensions-${{ matrix.php-version }} install-deps: 'no' - run: ./build.sh ${GITHUB_REF#refs/tags/v} - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v5 with: name: dist-files-${{ matrix.php-version }} path: build @@ -28,8 +28,8 @@ jobs: needs: ['build'] runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 - - uses: actions/download-artifact@v4 + - uses: actions/checkout@v5 + - uses: actions/download-artifact@v6 with: path: build - name: Publish release with assets diff --git a/CHANGELOG.md b/CHANGELOG.md index 8719b66d..eee96a9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), and this ### Removed * [#2514](https://github.com/shlinkio/shlink/issues/2514) Remove support to generate QR codes. This functionality is now handled by Shlink Web Client and Shlink Dashboard. +* [#2507](https://github.com/shlinkio/shlink/issues/2507) Drop support for PHP 8.3. ### Fixed * *Nothing* diff --git a/composer.json b/composer.json index 7020756e..a4669587 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,7 @@ } ], "require": { - "php": "^8.3", + "php": "^8.4", "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", diff --git a/data/infra/examples/nginx-vhost.conf b/data/infra/examples/nginx-vhost.conf index b7a5d4fa..353db74e 100644 --- a/data/infra/examples/nginx-vhost.conf +++ b/data/infra/examples/nginx-vhost.conf @@ -11,7 +11,7 @@ server { location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; - fastcgi_pass unix:/var/run/php/php8.3-fpm.sock; + fastcgi_pass unix:/var/run/php/php8.4-fpm.sock; fastcgi_index index.php; include fastcgi.conf; }