diff --git a/.github/workflows/reusable-phpunit-test.yml b/.github/workflows/reusable-phpunit-test.yml index bfb641097359..013990fd2e68 100644 --- a/.github/workflows/reusable-phpunit-test.yml +++ b/.github/workflows/reusable-phpunit-test.yml @@ -209,6 +209,7 @@ jobs: DB: ${{ inputs.db-platform }} TACHYCARDIA_MONITOR_GA: ${{ inputs.enable-profiling && 'enabled' || '' }} TERM: xterm-256color + continue-on-error: ${{ inputs.php-version == '8.5' }} - name: Upload coverage results as artifact if: ${{ inputs.enable-artifact-upload }} diff --git a/.github/workflows/test-coding-standards.yml b/.github/workflows/test-coding-standards.yml index a92266f7e3d0..391ecd418a1c 100644 --- a/.github/workflows/test-coding-standards.yml +++ b/.github/workflows/test-coding-standards.yml @@ -29,7 +29,9 @@ jobs: matrix: php-version: - '8.1' - - '8.4' + include: + - php-version: '8.5' + composer-option: '--ignore-platform-req=php' steps: - name: Checkout base branch for PR @@ -61,7 +63,7 @@ jobs: ${{ runner.os }}- - name: Install dependencies - run: composer update --ansi --no-interaction + run: composer update --ansi --no-interaction ${{ matrix.composer-option }} - name: Run lint run: composer cs diff --git a/.github/workflows/test-phpunit.yml b/.github/workflows/test-phpunit.yml index 62a8ab0e4338..045570cb27ad 100644 --- a/.github/workflows/test-phpunit.yml +++ b/.github/workflows/test-phpunit.yml @@ -60,6 +60,9 @@ jobs: - '8.2' - '8.3' - '8.4' + include: + - php-version: '8.5' + composer-option: '--ignore-platform-req=php' uses: ./.github/workflows/reusable-phpunit-test.yml # @TODO Extract to codeigniter4/.github repo with: @@ -87,6 +90,7 @@ jobs: - '8.2' - '8.3' - '8.4' + - '8.5' db-platform: - MySQLi - OCI8 @@ -99,6 +103,8 @@ jobs: - php-version: '8.1' db-platform: MySQLi mysql-version: '5.7' + - php-version: '8.5' + composer-option: '--ignore-platform-req=php' uses: ./.github/workflows/reusable-phpunit-test.yml # @TODO Extract to codeigniter4/.github repo with: @@ -127,6 +133,9 @@ jobs: - '8.2' - '8.3' - '8.4' + include: + - php-version: '8.5' + composer-option: '--ignore-platform-req=php' uses: ./.github/workflows/reusable-phpunit-test.yml # @TODO Extract to codeigniter4/.github repo with: @@ -153,6 +162,9 @@ jobs: - '8.2' - '8.3' - '8.4' + include: + - php-version: '8.5' + composer-option: '--ignore-platform-req=php' uses: ./.github/workflows/reusable-phpunit-test.yml # @TODO Extract to codeigniter4/.github repo with: diff --git a/.github/workflows/test-psalm.yml b/.github/workflows/test-psalm.yml index c501714f85e7..cc6c3afaade4 100644 --- a/.github/workflows/test-psalm.yml +++ b/.github/workflows/test-psalm.yml @@ -24,7 +24,12 @@ jobs: build: name: Psalm Analysis runs-on: ubuntu-latest - if: (! contains(github.event.head_commit.message, '[ci skip]')) + + strategy: + fail-fast: false + matrix: + php-version: + - '8.1' steps: - name: Checkout base branch for PR @@ -39,7 +44,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.1' + php-version: ${{ matrix.php-version }} extensions: intl, json, mbstring, xml, mysqli, oci8, pgsql, sqlsrv, sqlite3 coverage: none env: @@ -66,7 +71,9 @@ jobs: restore-keys: ${{ runner.os }}-psalm- - name: Install dependencies - run: composer update --ansi --no-interaction + run: | + composer require sebastian/diff:^5.0 --ansi --working-dir utils + composer update --ansi --no-interaction - name: Run Psalm analysis run: utils/vendor/bin/psalm diff --git a/.github/workflows/test-rector.yml b/.github/workflows/test-rector.yml index be469a27d253..3a9f6d649470 100644 --- a/.github/workflows/test-rector.yml +++ b/.github/workflows/test-rector.yml @@ -40,12 +40,17 @@ permissions: jobs: build: - name: PHP ${{ matrix.php-versions }} Analyze code (Rector) + name: PHP ${{ matrix.php-version }} Analyze code (Rector) runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: - php-versions: ['8.1', '8.4'] + php-version: + - '8.1' + include: + - php-version: '8.5' + composer-option: '--ignore-platform-req=php' + steps: - name: Checkout base branch for PR if: github.event_name == 'pull_request' @@ -59,7 +64,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: ${{ matrix.php-versions }} + php-version: ${{ matrix.php-version }} extensions: intl - name: Use latest Composer @@ -79,7 +84,7 @@ jobs: restore-keys: ${{ runner.os }}-composer- - name: Install dependencies - run: composer update --ansi --no-interaction + run: composer update --ansi --no-interaction ${{ matrix.composer-option }} - name: Rector Cache uses: actions/cache@v4 diff --git a/composer.json b/composer.json index bebb1f55752b..f5fdcd0d0420 100644 --- a/composer.json +++ b/composer.json @@ -89,7 +89,8 @@ "CodeIgniter\\ComposerScripts::postUpdate" ], "post-autoload-dump": [ - "@composer update --ansi --working-dir=utils" + "@php -r \"if (PHP_VERSION_ID >= 80500) { echo '@todo Remove \"--ignore-platform-req=php\" once deps catch up.', PHP_EOL; }\"", + "@composer update --ansi --working-dir=utils --ignore-platform-req=php" ], "analyze": [ "Composer\\Config::disableProcessTimeout",