Make WordPress Core


Ignore:
Timestamp:
03/10/2023 03:52:41 PM (23 months ago)
Author:
desrosj
Message:

Build/Test Tools: Backport updates to GitHub Actions.

This backports several changesets to GitHub Actions workflows. These changesets:

  • address the deprecated notices related to save-output and set-output to ensure the workflows continue to run after these are removed.
  • adds support for automatically retrying a failed workflow once.
  • removes workflow files that are not applicable to the branch.

Merges [53736], [53737], [53940], [53947], [54039], [54108], [54293], [54313], [54342], [54343], [54373], [54511], [54649], [54650], [54651], [54674], [54750], [54852], [55152], [55487] to the 5.9 branch.
See #55652, #56407, #54695, #56820, #56816, #56793, #56820, #57572.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/5.9/.github/workflows/test-npm.yml

    r53596 r55516  
    1 name: Test NPM
     1name: Test npm
    22
    33on:
     
    77      - '3.[7-9]'
    88      - '[4-9].[0-9]'
     9    tags:
     10      - '[0-9]+.[0-9]'
     11      - '[0-9]+.[0-9].[0-9]+'
    912  pull_request:
    1013    branches:
     
    1316      - '[4-9].[0-9]'
    1417    paths:
    15       # These files configure NPM. Changes could affect the outcome.
     18      # These files configure npm. Changes could affect the outcome.
    1619      - 'package*.json'
    17       # JavaScript files are built using NPM.
     20      # JavaScript files are built using npm.
    1821      - '**.js'
    19       # CSS and SCSS files are built using NPM.
     22      # CSS and SCSS files are built using npm.
    2023      - '**.scss'
    2124      - '**.css'
     
    3538
    3639jobs:
    37   # Verifies that installing NPM dependencies and building WordPress works as expected.
     40  # Verifies that installing npm dependencies and building WordPress works as expected.
    3841  #
    3942  # Performs the following steps:
    4043  # - Checks out the repository.
    4144  # - Logs debug information about the GitHub Action runner.
    42   # - Installs NodeJS.
    43   # _ Installs NPM dependencies.
     45  # - Installs Node.js.
     46  # _ Installs npm dependencies.
    4447  # - Builds WordPress to run from the `build` directory.
    4548  # - Cleans up after building WordPress to the `build` directory.
     
    4952  # - Ensures version-controlled files are not modified or deleted.
    5053  test-npm:
    51     name: Test NPM on ${{ matrix.os }}
     54    name: Test npm on ${{ matrix.os }}
    5255    runs-on: ${{ matrix.os }}
    5356    timeout-minutes: 20
     
    6063    steps:
    6164      - name: Checkout repository
    62         uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2
     65        uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
    6366
    6467      - name: Log debug information
     
    7073          svn --version
    7174
    72       - name: Install NodeJS
    73         uses: actions/setup-node@eeb10cff27034e7acf239c5d29f62154018672fd # v3.3.0
     75      - name: Install Node.js
     76        uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
    7477        with:
    7578          node-version-file: '.nvmrc'
     
    97100        run: git diff --exit-code
    98101
    99   # Verifies that installing NPM dependencies and building WordPress works as expected on MacOS.
     102  # Verifies that installing npm dependencies and building WordPress works as expected on MacOS.
    100103  #
    101104  # This is separate from the job above in order to use stricter conditions about when to run.
    102105  # This avoids unintentionally consuming excessive minutes, as MacOS jobs consume minutes at a 10x rate.
     106  #
     107  # The `matrix` and `runner` contexts are not available for use within `if` expressions. So there is
     108  # currently no way to determine the OS being used on a given job.
     109  # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability.
    103110  #
    104111  # Performs the following steps:
    105112  # - Checks out the repository.
    106113  # - Logs debug information about the GitHub Action runner.
    107   # - Installs NodeJS.
    108   # _ Installs NPM dependencies.
     114  # - Installs Node.js.
     115  # _ Installs npm dependencies.
    109116  # - Builds WordPress to run from the `build` directory.
    110117  # - Cleans up after building WordPress to the `build` directory.
     
    114121  # - Ensures version-controlled files are not modified or deleted.
    115122  test-npm-macos:
    116     name: Test NPM on MacOS
     123    name: Test npm on MacOS
    117124    runs-on: macos-latest
    118     timeout-minutes: 20
     125    timeout-minutes: 30
    119126    if: ${{ github.repository == 'WordPress/wordpress-develop' }}
    120127    steps:
    121128      - name: Checkout repository
    122         uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2
     129        uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
    123130
    124131      - name: Log debug information
     
    130137          svn --version
    131138
    132       - name: Install NodeJS
    133         uses: actions/setup-node@eeb10cff27034e7acf239c5d29f62154018672fd # v3.3.0
     139      - name: Install Node.js
     140        uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
    134141        with:
    135142          node-version-file: '.nvmrc'
     
    169176      SLACK_GHA_FIXED_WEBHOOK: ${{ secrets.SLACK_GHA_FIXED_WEBHOOK }}
    170177      SLACK_GHA_FAILURE_WEBHOOK: ${{ secrets.SLACK_GHA_FAILURE_WEBHOOK }}
     178
     179  failed-workflow:
     180    name: Failed workflow tasks
     181    runs-on: ubuntu-latest
     182    needs: [ test-npm, test-npm-macos, slack-notifications ]
     183    if: |
     184      always() &&
     185      github.repository == 'WordPress/wordpress-develop' &&
     186      github.event_name != 'pull_request' &&
     187      github.run_attempt < 2 &&
     188      (
     189        needs.test-npm.result == 'cancelled' || needs.test-npm.result == 'failure' ||
     190        needs.test-npm-macos.result == 'cancelled' || needs.test-npm-macos.result == 'failure'
     191      )
     192
     193    steps:
     194      - name: Dispatch workflow run
     195        uses: actions/github-script@98814c53be79b1d30f795b907e553d8679345975 # v6.4.0
     196        with:
     197          retries: 2
     198          retry-exempt-status-codes: 418
     199          script: |
     200            github.rest.actions.createWorkflowDispatch({
     201              owner: context.repo.owner,
     202              repo: context.repo.repo,
     203              workflow_id: 'failed-workflow.yml',
     204              ref: 'trunk',
     205              inputs: {
     206                run_id: '${{ github.run_id }}'
     207              }
     208            });
Note: See TracChangeset for help on using the changeset viewer.