Skip to content

Commit

Permalink
Build/Test Tools: Avoid using *-latest tags for runner images.
Browse files Browse the repository at this point in the history
While using the `ubuntu-latest`, `macos-latest`, and `windows-latest` runner image tags is convenient, it has proven to be problematic in a number of instances as the runners are slowly updated (see #62808 and #62843).

This switches all workflows to using specific version tags representing the latest non-preview versions, which currently are as follows:
- `ubuntu-24.04`
- `windows-2022`
- `macos-14`

Props swissspidy, johnbillion.
See #62221.

git-svn-id: https://develop.svn.wordpress.org/trunk@59720 602fd350-edb4-49c9-b593-d223f7449a82
  • Loading branch information
desrosj committed Jan 28, 2025
1 parent 1af0e6c commit 015148d
Show file tree
Hide file tree
Showing 33 changed files with 69 additions and 69 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/coding-standards.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ jobs:

failed-workflow:
name: Failed workflow tasks
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
actions: write
needs: [ phpcs, jshint, slack-notifications ]
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/end-to-end-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:

failed-workflow:
name: Failed workflow tasks
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
actions: write
needs: [ e2e-tests, slack-notifications ]
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/failed-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
# - Restarts all failed jobs when the workflow fails or is cancelled for the first time.
failed-workflow:
name: Rerun a workflow
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
actions: write
timeout-minutes: 30
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/install-testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest ]
os: [ ubuntu-24.04 ]
php: ${{ fromJSON( needs.build-test-matrix.outputs.php-versions ) }}
db-type: [ 'mysql' ]
db-version: ${{ fromJSON( needs.build-test-matrix.outputs.mysql-versions ) }}
Expand Down Expand Up @@ -152,7 +152,7 @@ jobs:

failed-workflow:
name: Failed workflow tasks
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
actions: write
needs: [ slack-notifications ]
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/javascript-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:

failed-workflow:
name: Failed workflow tasks
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
actions: write
needs: [ slack-notifications ]
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/local-docker-environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest ]
os: [ ubuntu-24.04 ]
memcached: [ false, true ]
php: ${{ fromJSON( needs.build-test-matrix.outputs.php-versions ) }}
db-version: ${{ fromJSON( needs.build-test-matrix.outputs.mysql-versions ) }}
Expand Down Expand Up @@ -123,7 +123,7 @@ jobs:

failed-workflow:
name: Failed workflow tasks
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
actions: write
needs: [ build-test-matrix, environment-tests-mysql, slack-notifications ]
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/performance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:

failed-workflow:
name: Failed workflow tasks
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
actions: write
needs: [ slack-notifications ]
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/php-compatibility.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:

failed-workflow:
name: Failed workflow tasks
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
actions: write
needs: [ slack-notifications ]
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/phpunit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest ]
os: [ ubuntu-24.04 ]
php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ]
db-type: [ 'mysql' ]
db-version: [ '5.7', '8.0', '8.4' ]
Expand All @@ -54,37 +54,37 @@ jobs:

include:
# Include jobs that test with memcached.
- os: ubuntu-latest
- os: ubuntu-24.04
php: '8.3'
db-type: 'mysql'
db-version: '8.4'
tests-domain: 'example.org'
multisite: false
memcached: true
- os: ubuntu-latest
- os: ubuntu-24.04
php: '8.3'
db-type: 'mysql'
db-version: '8.4'
tests-domain: 'example.org'
multisite: true
memcached: true
# Include jobs with a port on the test domain for both single and multisite.
- os: ubuntu-latest
- os: ubuntu-24.04
php: '8.4'
db-type: 'mysql'
db-version: '8.4'
tests-domain: 'example.org:8889'
multisite: false
memcached: false
- os: ubuntu-latest
- os: ubuntu-24.04
php: '8.4'
db-type: 'mysql'
db-version: '8.4'
tests-domain: 'example.org:8889'
multisite: true
memcached: false
# Report test results to the Host Test Results.
- os: ubuntu-latest
- os: ubuntu-24.04
db-type: 'mysql'
db-version: '8.4'
tests-domain: 'example.org'
Expand Down Expand Up @@ -115,7 +115,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest ]
os: [ ubuntu-24.04 ]
php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ]
db-type: [ 'mariadb' ]
db-version: [ '5.5', '10.3', '10.4', '10.5', '10.6', '10.11', '11.4' ]
Expand All @@ -124,13 +124,13 @@ jobs:

include:
# Include jobs that test with memcached.
- os: ubuntu-latest
- os: ubuntu-24.04
php: '8.3'
db-type: 'mariadb'
db-version: '11.4'
multisite: false
memcached: true
- os: ubuntu-latest
- os: ubuntu-24.04
php: '8.3'
db-type: 'mariadb'
db-version: '11.4'
Expand Down Expand Up @@ -165,7 +165,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest ]
os: [ ubuntu-24.04 ]
php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ]
db-type: [ 'mysql', 'mariadb' ]
db-version: [ '9.1', '11.6' ]
Expand Down Expand Up @@ -236,7 +236,7 @@ jobs:

failed-workflow:
name: Failed workflow tasks
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
actions: write
needs: [ slack-notifications ]
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/props-bot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
# - Removes the props-bot label, if necessary.
props-bot:
name: Generate a list of props
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
# The action needs permission `write` permission for PRs in order to add a comment.
pull-requests: write
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pull-request-comments.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ permissions: {}
jobs:
# Comments on a pull request when the author is a first time contributor.
post-welcome-message:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
issues: write
pull-requests: write
Expand Down Expand Up @@ -80,7 +80,7 @@ jobs:
# Leaves a comment on a pull request with a link to test the changes in a WordPress Playground instance.
playground-details:
name: Comment on a pull request with Playground details
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
issues: write
pull-requests: write
Expand Down Expand Up @@ -170,7 +170,7 @@ jobs:
# Manages comments reminding contributors to include a Trac ticket link when opening a pull request.
trac-ticket-check:
name: Manage Trac ticket reminders for pull requests
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
issues: write
pull-requests: write
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-cleanup-pull-requests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
# - Leaves a comment on each PR before closing.
close-prs:
name: Find and close PRs
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
pull-requests: write

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-coding-standards-javascript.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
# - Ensures version-controlled files are not modified or deleted.
jshint:
name: Run coding standards checks
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
contents: read
timeout-minutes: 20
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-coding-standards-php.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
# - Ensures version-controlled files are not modified or deleted.
phpcs:
name: Run coding standards checks
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
contents: read
timeout-minutes: 20
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-end-to-end-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ jobs:
# - Ensures version-controlled files are not modified or deleted.
e2e-tests:
name: Run E2E tests
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
contents: read
timeout-minutes: 20
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-javascript-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
# - Ensures version-controlled files are not modified or deleted.
test-js:
name: Run QUnit tests
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
contents: read
timeout-minutes: 20
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-performance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ jobs:
# - Ensure version-controlled files are not modified or deleted.
performance:
name: ${{ inputs.multisite && 'Multisite' || 'Single site' }} / ${{ inputs.memcached && 'Memcached' || 'Default' }}
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
contents: read
if: ${{ ! contains( github.event.before, '00000000' ) }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-php-compatibility.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
# - Ensures version-controlled files are not modified or deleted.
php-compatibility:
name: Run compatibility checks
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
contents: read
timeout-minutes: 20
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-phpunit-tests-v1.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ on:
description: 'Operating system to run tests on'
required: false
type: 'string'
default: 'ubuntu-latest'
default: 'ubuntu-24.04'
php:
description: 'The version of PHP to use, in the format of X.Y'
required: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-phpunit-tests-v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ on:
description: 'Operating system to run tests on'
required: false
type: 'string'
default: 'ubuntu-latest'
default: 'ubuntu-24.04'
php:
description: 'The version of PHP to use, in the format of X.Y'
required: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-phpunit-tests-v3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:
description: 'Operating system to run tests on'
required: false
type: 'string'
default: 'ubuntu-latest'
default: 'ubuntu-24.04'
php:
description: 'The version of PHP to use, in the format of X.Y'
required: true
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/reusable-support-json-reader-v1.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
name: Determine major WordPress version
permissions:
contents: read
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
timeout-minutes: 5
outputs:
version: ${{ steps.major-wp-version.outputs.version }}
Expand Down Expand Up @@ -78,7 +78,7 @@ jobs:
name: Determine PHP versions
permissions:
contents: read
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
needs: [ major-wp-version ]
timeout-minutes: 5
outputs:
Expand Down Expand Up @@ -121,7 +121,7 @@ jobs:
name: Determine MySQL versions
permissions:
contents: read
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
needs: [ major-wp-version ]
timeout-minutes: 5
outputs:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/reusable-test-core-build-process.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
description: 'Operating system to run tests on'
required: false
type: 'string'
default: 'ubuntu-latest'
default: 'ubuntu-24.04'
directory:
description: 'Directory to run WordPress from. Valid values are `src` or `build`'
required: false
Expand Down Expand Up @@ -98,7 +98,7 @@ jobs:
run: git diff --exit-code

- name: Create ZIP of built files
if: ${{ inputs.directory == 'build' && 'ubuntu-latest' == inputs.os }}
if: ${{ inputs.directory == 'build' && 'ubuntu-24.04' == inputs.os }}
run: zip -r wordpress.zip build/.

- name: Clean after building to run from ${{ inputs.directory }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
description: 'Operating system to run tests on'
required: false
type: 'string'
default: 'ubuntu-latest'
default: 'ubuntu-24.04'
directory:
description: 'Directory to run WordPress from. Valid values are `src` or `build`'
required: false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:
description: 'Operating system to test'
required: false
type: 'string'
default: 'ubuntu-latest'
default: 'ubuntu-24.04'
php:
description: 'The version of PHP to use, in the format of X.Y'
required: false
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-upgrade-testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
description: 'Operating system to run tests on.'
required: false
type: 'string'
default: 'ubuntu-latest'
default: 'ubuntu-24.04'
wp:
description: 'The version of WordPress to start with.'
required: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-workflow-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
# - Runs actionlint.
actionlint:
name: Run actionlint
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
contents: read
timeout-minutes: 5
Expand Down
Loading

0 comments on commit 015148d

Please sign in to comment.