Make WordPress Core

Changeset 59586


Ignore:
Timestamp:
01/07/2025 03:57:22 PM (6 months ago)
Author:
desrosj
Message:

Build/Test Tools: Test MariaDB innovation releases.

MariaDB also follows the innovation release model. This adds testing for these releases to the test matrix and moves innovation versions to a new job in order to more clearly differentiate from LTS ones.

The current innovation release for MariaDB is 11.6.

Props johnbillion, jorbin.
See #62221.

Location:
trunk/.github/workflows
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/.github/workflows/phpunit-tests.yml

    r59585 r59586  
    4848        php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ]
    4949        db-type: [ 'mysql' ]
    50         db-version: [ '5.7', '8.0', '8.4', '9.1' ]
     50        db-version: [ '5.7', '8.0', '8.4' ]
    5151        tests-domain: [ 'example.org' ]
    5252        multisite: [ false, true ]
     
    9292            memcached: false
    9393            report: true
    94 
    95         exclude:
    96           # MySQL 9.0+ will not work on PHP 7.2 & 7.3. See https://core.trac.wordpress.org/ticket/61218.
    97           - php: '7.2'
    98             db-version: '9.1'
    99           - php: '7.3'
    100             db-version: '9.1'
    101 
    10294    with:
    10395      os: ${{ matrix.os }}
     
    156148
    157149  #
     150  # Creates PHPUnit test jobs to test MariaDB and MySQL innovation releases.
     151  #
     152  # Though innovation releases are deemed "production grade" and never receive LTS status, they include new features
     153  # and updates that will be included in the next LTS version.
     154  #
     155  # Because upstream support for innovation releases gets dropped when a new one is released, only the most recent
     156  # innovation version is tested.
     157  #
     158  test-innovation-releases:
     159    name: PHP ${{ matrix.php }}
     160    uses: WordPress/wordpress-develop/.github/workflows/reusable-phpunit-tests-v3.yml@trunk
     161    permissions:
     162      contents: read
     163    secrets: inherit
     164    if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
     165    strategy:
     166      fail-fast: false
     167      matrix:
     168        os: [ ubuntu-latest ]
     169        php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ]
     170        db-type: [ 'mysql', 'mariadb' ]
     171        db-version: [ '9.1', '11.6' ]
     172        multisite: [ false, true ]
     173        memcached: [ false ]
     174        db-innovation: [ true ]
     175
     176        exclude:
     177          # MySQL 9.0+ will not work on PHP <= 7.3 because mysql_native_password was removed. See https://core.trac.wordpress.org/ticket/61218.
     178          - php: '7.2'
     179            db-version: '9.1'
     180          - php: '7.3'
     181            db-version: '9.1'
     182          # Exclude version combinations that don't exist.
     183          - db-type: 'mariadb'
     184            db-version: '9.1'
     185          - db-type: 'mysql'
     186            db-version: '11.6'
     187    with:
     188      os: ${{ matrix.os }}
     189      php: ${{ matrix.php }}
     190      db-type: ${{ matrix.db-type }}
     191      db-version: ${{ matrix.db-version }}
     192      db-innovation: ${{ matrix.db-innovation }}
     193      multisite: ${{ matrix.multisite }}
     194      memcached: ${{ matrix.memcached }}
     195      phpunit-config: ${{ matrix.multisite && 'tests/phpunit/multisite.xml' || 'phpunit.xml.dist' }}
     196      report: ${{ matrix.report || false }}
     197
     198  #
    158199  # Runs specific individual test groups.
    159200  #
     
    184225      actions: read
    185226      contents: read
    186     needs: [ test-with-mysql, test-with-mariadb, specific-test-groups ]
     227    needs: [ test-with-mysql, test-with-mariadb, test-innovation-releases, specific-test-groups ]
    187228    if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }}
    188229    with:
  • trunk/.github/workflows/reusable-phpunit-tests-v3.yml

    r59528 r59586  
    2828        type: 'string'
    2929        default: '8.4'
     30      db-innovation:
     31        description: 'Whether a database software innovation release is being tested.'
     32        required: false
     33        type: 'boolean'
     34        default: false
    3035      multisite:
    3136        description: 'Whether to run tests as multisite'
     
    106111  # - Submit the test results to the WordPress.org host test results.
    107112  phpunit-tests:
    108     name: ${{ inputs.phpunit-test-groups && format( '{0} / ', inputs.phpunit-test-groups ) || '' }}PHP ${{ inputs.php }} ${{ ! inputs.phpunit-test-groups && ! inputs.coverage-report && '/ ' || 'with ' }}${{ 'mariadb' == inputs.db-type && 'MariaDB' || 'MySQL' }} ${{ inputs.db-version }}${{ inputs.multisite && ' multisite' || '' }}${{ inputs.memcached && ' with memcached' || '' }}${{ inputs.report && ' (test reporting enabled)' || '' }} ${{ 'example.org' != inputs.tests-domain && inputs.tests-domain || '' }}
     113    name: ${{ inputs.phpunit-test-groups && format( '{0} / ', inputs.phpunit-test-groups ) || '' }}PHP ${{ inputs.php }} ${{ ! inputs.phpunit-test-groups && ! inputs.coverage-report && '/ ' || 'with ' }}${{ 'mariadb' == inputs.db-type && 'MariaDB' || 'MySQL' }} ${{ inputs.db-version }}${{ inputs.multisite && ' multisite' || '' }}${{ inputs.db-innovation && ' (innovation release)' || '' }}${{ inputs.memcached && ' with memcached' || '' }}${{ inputs.report && ' (test reporting enabled)' || '' }} ${{ 'example.org' != inputs.tests-domain && inputs.tests-domain || '' }}
    109114    runs-on: ${{ inputs.os }}
    110115    timeout-minutes: ${{ inputs.coverage-report && 120 || 20 }}
Note: See TracChangeset for help on using the changeset viewer.