Revert 61602 #10170
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Confirms that updating WordPress using WP-CLI works successfully. | |
| # | |
| # This workflow tests upgrading from a previous version to the current wordpress-develop checkout, not to a version available on WordPress.org. | |
| name: Upgrade Develop Version Tests | |
| on: | |
| push: | |
| branches: | |
| - trunk | |
| - '6.[8-9]' | |
| - '[7-9].[0-9]' | |
| tags: | |
| - '[0-9]+.[0-9]' | |
| - '[0-9]+.[0-9].[0-9]+' | |
| paths: | |
| # Any change to a source PHP file should run checks. | |
| - 'src/**.php' | |
| # Confirm any changes to relevant workflow files. | |
| - '.github/workflows/upgrade-develop-testing.yml' | |
| - '.github/workflows/reusable-upgrade-testing.yml' | |
| pull_request: | |
| branches: | |
| - trunk | |
| - '6.[8-9]' | |
| - '[7-9].[0-9]' | |
| paths: | |
| # Any change to a source PHP file should run checks. | |
| - 'src/**.php' | |
| # Confirm any changes to relevant workflow files. | |
| - '.github/workflows/upgrade-develop-testing.yml' | |
| - '.github/workflows/reusable-upgrade-testing.yml' | |
| workflow_dispatch: | |
| # Cancels all previous workflow runs for pull requests that have not completed. | |
| concurrency: | |
| # The concurrency group contains the workflow name and the branch name for pull requests | |
| # or the commit hash for any other events. | |
| group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }} | |
| cancel-in-progress: true | |
| # Disable permissions for all available scopes by default. | |
| # Any needed permissions should be configured at the job level. | |
| permissions: {} | |
| jobs: | |
| # Build WordPress from the current branch ready for the upgrade tests. | |
| build: | |
| name: Build | |
| uses: ./.github/workflows/reusable-build-package.yml | |
| if: ${{ startsWith( github.repository, 'WordPress/' ) && ( github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' ) }} | |
| permissions: | |
| contents: read | |
| # Because the number of jobs spawned can quickly balloon out of control, the following methodology is applied when | |
| # building out the matrix below: | |
| # | |
| # - The two most recent releases of WordPress are always tested. | |
| # - After a branch is created, the pre-release version is also added. | |
| # - The oldest version of WordPress receiving security updates as a courtesy that also runs on a PHP version supported by trunk | |
| # should always be tested. | |
| # - PHP and DB versions are kept to a minimum. In general this should be the highest and lowest supported versions of each with excludes | |
| # being updated to keep the matrix as small as is reasonable. | |
| upgrade-tests-develop: | |
| name: Upgrade from ${{ matrix.wp }} | |
| uses: ./.github/workflows/reusable-upgrade-testing.yml | |
| if: ${{ github.repository == 'WordPress/wordpress-develop' }} | |
| needs: [ build ] | |
| permissions: | |
| contents: read | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ 'ubuntu-24.04' ] | |
| php: [ '7.4', '8.4' ] | |
| db-type: [ 'mysql' ] | |
| db-version: [ '5.7', '8.4' ] | |
| # WordPress 5.3 is the oldest version that supports PHP 7.4. | |
| wp: [ '5.3', '6.8', '6.9' ] | |
| multisite: [ false, true ] | |
| with: | |
| os: ${{ matrix.os }} | |
| php: ${{ matrix.php }} | |
| db-type: ${{ matrix.db-type }} | |
| db-version: ${{ matrix.db-version }} | |
| wp: ${{ matrix.wp }} | |
| new-version: develop | |
| multisite: ${{ matrix.multisite }} | |
| # Run a limited set of upgrade tests for the current branch on forks. | |
| upgrade-tests-develop-forks: | |
| name: Upgrade from ${{ matrix.wp }} | |
| uses: ./.github/workflows/reusable-upgrade-testing.yml | |
| if: ${{ github.repository != 'WordPress/wordpress-develop' }} | |
| needs: [ build ] | |
| permissions: | |
| contents: read | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ 'ubuntu-24.04' ] | |
| php: [ '7.4', '8.4' ] | |
| db-type: [ 'mysql' ] | |
| db-version: [ '8.4' ] | |
| wp: [ '6.8', '6.9' ] | |
| multisite: [ false, true ] | |
| with: | |
| os: ${{ matrix.os }} | |
| php: ${{ matrix.php }} | |
| db-type: ${{ matrix.db-type }} | |
| db-version: ${{ matrix.db-version }} | |
| wp: ${{ matrix.wp }} | |
| new-version: develop | |
| multisite: ${{ matrix.multisite }} | |
| slack-notifications: | |
| name: Slack Notifications | |
| uses: ./.github/workflows/slack-notifications.yml | |
| permissions: | |
| actions: read | |
| contents: read | |
| needs: [ upgrade-tests-develop ] | |
| if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }} | |
| with: | |
| calling_status: ${{ contains( needs.*.result, 'cancelled' ) && 'cancelled' || contains( needs.*.result, 'failure' ) && 'failure' || 'success' }} | |
| secrets: | |
| SLACK_GHA_SUCCESS_WEBHOOK: ${{ secrets.SLACK_GHA_SUCCESS_WEBHOOK }} | |
| SLACK_GHA_CANCELLED_WEBHOOK: ${{ secrets.SLACK_GHA_CANCELLED_WEBHOOK }} | |
| SLACK_GHA_FIXED_WEBHOOK: ${{ secrets.SLACK_GHA_FIXED_WEBHOOK }} | |
| SLACK_GHA_FAILURE_WEBHOOK: ${{ secrets.SLACK_GHA_FAILURE_WEBHOOK }} | |
| failed-workflow: | |
| name: Failed workflow tasks | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| actions: write | |
| needs: [ slack-notifications ] | |
| if: | | |
| always() && | |
| github.repository == 'WordPress/wordpress-develop' && | |
| github.event_name != 'pull_request' && | |
| github.run_attempt < 2 && | |
| ( | |
| contains( needs.*.result, 'cancelled' ) || | |
| contains( needs.*.result, 'failure' ) | |
| ) | |
| steps: | |
| - name: Dispatch workflow run | |
| uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 | |
| with: | |
| retries: 2 | |
| retry-exempt-status-codes: 418 | |
| script: | | |
| github.rest.actions.createWorkflowDispatch({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| workflow_id: 'failed-workflow.yml', | |
| ref: 'trunk', | |
| inputs: { | |
| run_id: `${context.runId}`, | |
| } | |
| }); |