Changeset 53608 for branches/5.0/.github/workflows/test-npm.yml
- Timestamp:
- 06/30/2022 05:03:58 PM (2 years ago)
- Location:
- branches/5.0
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/5.0
- Property svn:mergeinfo changed
/trunk merged: 50704,50796,50930,51341,51355,51498,51511,51535,51921,51924-51925,51937,52002,52130,52183,52233,53112,53581-53582,53592
- Property svn:mergeinfo changed
-
branches/5.0/.github/workflows/test-npm.yml
r50624 r53608 4 4 push: 5 5 branches: 6 - master7 6 - trunk 8 7 - '3.[7-9]' … … 10 9 pull_request: 11 10 branches: 12 - master13 11 - trunk 14 12 - '3.[7-9]' … … 26 24 workflow_dispatch: 27 25 26 # Cancels all previous workflow runs for pull requests that have not completed. 27 concurrency: 28 # The concurrency group contains the workflow name and the branch name for pull requests 29 # or the commit hash for any other events. 30 group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }} 31 cancel-in-progress: true 32 28 33 env: 29 34 PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: ${{ true }} 30 35 31 36 jobs: 32 # Prepares the workflow.33 #34 # Performs the following steps:35 # - Cancels all previous workflow runs for pull requests that have not completed.36 prepare-workflow:37 name: Prepare the workflow38 runs-on: ubuntu-latest39 if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}40 41 steps:42 - name: Cancel previous runs of this workflow (pull requests only)43 if: ${{ github.event_name == 'pull_request' }}44 uses: styfle/cancel-workflow-action@3d86a7cc43670094ac248017207be0295edbc31d # v0.8.045 46 37 # Verifies that installing NPM dependencies and building WordPress works as expected. 47 38 # 48 39 # Performs the following steps: 49 40 # - Checks out the repository. 50 # - Logs debug information about the runner container. 51 # - Installs NodeJS 14. 52 # - Sets up caching for NPM. 53 # _ Installs NPM dependencies using install-changed to hash the `package.json` file. 41 # - Logs debug information about the GitHub Action runner. 42 # - Installs NodeJS. 43 # _ Installs NPM dependencies. 54 44 # - Builds WordPress to run from the `build` directory. 55 45 # - Cleans up after building WordPress to the `build` directory. … … 59 49 name: Test NPM on ${{ matrix.os }} 60 50 runs-on: ${{ matrix.os }} 51 timeout-minutes: 20 61 52 if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} 62 needs: prepare-workflow63 53 strategy: 64 54 fail-fast: false … … 68 58 steps: 69 59 - name: Checkout repository 70 uses: actions/checkout@ 5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.460 uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2 71 61 72 62 - name: Log debug information … … 79 69 80 70 - name: Install NodeJS 81 uses: actions/setup-node@ 46071b5c7a2e0c34e49c3cb8a0e792e86e18d5ea # v2.1.571 uses: actions/setup-node@eeb10cff27034e7acf239c5d29f62154018672fd # v3.3.0 82 72 with: 83 node-version: 14 84 85 - name: Cache NodeJS modules (Ubuntu & MacOS) 86 uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6 # v2.1.4 87 if: ${{ matrix.os != 'windows-latest' }} 88 with: 89 path: ~/.npm 90 key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} 91 92 - name: Get NPM cache directory (Windows only) 93 if: ${{ matrix.os == 'windows-latest' }} 94 id: npm-cache 95 run: echo "::set-output name=dir::$(npm config get cache)" 96 97 - name: Cache NodeJS modules (Windows only) 98 uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6 # v2.1.4 99 if: ${{ matrix.os == 'windows-latest' }} 100 with: 101 path: ${{ steps.npm-cache.outputs.dir }} 102 key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} 73 node-version-file: '.nvmrc' 74 cache: npm 103 75 104 76 - name: Install Dependencies … … 115 87 116 88 - name: Clean after building in /src 117 run: npm run grunt clean -- dev89 run: npm run grunt clean -- --dev 118 90 119 91 # Verifies that installing NPM dependencies and building WordPress works as expected on MacOS. 120 92 # 121 # This is a separate job in order to that more strict conditions can be used. 93 # This is separate from the job above in order to use stricter conditions about when to run. 94 # This avoids unintentionally consuming excessive minutes, as MacOS jobs consume minutes at a 10x rate. 122 95 # 123 96 # Performs the following steps: 124 97 # - Checks out the repository. 125 # - Logs debug information about the runner container. 126 # - Installs NodeJS 14. 127 # - Sets up caching for NPM. 128 # _ Installs NPM dependencies using install-changed to hash the `package.json` file. 98 # - Logs debug information about the GitHub Action runner. 99 # - Installs NodeJS. 100 # _ Installs NPM dependencies. 129 101 # - Builds WordPress to run from the `build` directory. 130 102 # - Cleans up after building WordPress to the `build` directory. … … 134 106 name: Test NPM on MacOS 135 107 runs-on: macos-latest 108 timeout-minutes: 20 136 109 if: ${{ github.repository == 'WordPress/wordpress-develop' }} 137 needs: prepare-workflow138 110 steps: 139 111 - name: Checkout repository 140 uses: actions/checkout@ 5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4112 uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2 141 113 142 114 - name: Log debug information … … 149 121 150 122 - name: Install NodeJS 151 uses: actions/setup-node@ 46071b5c7a2e0c34e49c3cb8a0e792e86e18d5ea # v2.1.5123 uses: actions/setup-node@eeb10cff27034e7acf239c5d29f62154018672fd # v3.3.0 152 124 with: 153 node-version: 14 154 155 - name: Cache NodeJS modules 156 uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6 # v2.1.4 157 if: ${{ matrix.os != 'windows-latest' }} 158 with: 159 path: ~/.npm 160 key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} 125 node-version-file: '.nvmrc' 126 cache: npm 161 127 162 128 - name: Install Dependencies … … 173 139 174 140 - name: Clean after building in /src 175 run: npm run grunt clean --dev 141 run: npm run grunt clean -- --dev 142 143 slack-notifications: 144 name: Slack Notifications 145 uses: WordPress/wordpress-develop/.github/workflows/slack-notifications.yml@trunk 146 needs: [ test-npm, test-npm-macos ] 147 if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }} 148 with: 149 calling_status: ${{ needs.test-npm.result == 'success' && needs.test-npm-macos.result == 'success' && 'success' || ( needs.test-npm.result == 'cancelled' || needs.test-npm-macos.result == 'cancelled' ) && 'cancelled' || 'failure' }} 150 secrets: 151 SLACK_GHA_SUCCESS_WEBHOOK: ${{ secrets.SLACK_GHA_SUCCESS_WEBHOOK }} 152 SLACK_GHA_CANCELLED_WEBHOOK: ${{ secrets.SLACK_GHA_CANCELLED_WEBHOOK }} 153 SLACK_GHA_FIXED_WEBHOOK: ${{ secrets.SLACK_GHA_FIXED_WEBHOOK }} 154 SLACK_GHA_FAILURE_WEBHOOK: ${{ secrets.SLACK_GHA_FAILURE_WEBHOOK }}
Note: See TracChangeset
for help on using the changeset viewer.