Changeset 58597 for branches/5.8/.github/workflows/test-build-processes.yml
- Timestamp:
- 06/28/2024 06:40:36 PM (11 months ago)
- Location:
- branches/5.8
- Files:
-
- 1 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/5.8
- Property svn:mergeinfo changed
/trunk merged: 52179,53552,53895,56113-56114,57124-57125,57249,57918,58157
- Property svn:mergeinfo changed
-
branches/5.8/.github/workflows/test-build-processes.yml
r58596 r58597 1 name: Test npm1 name: Test Build Processes 2 2 3 3 on: … … 34 34 cancel-in-progress: true 35 35 36 env: 37 PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: ${{ true }} 36 # Disable permissions for all available scopes by default. 37 # Any needed permissions should be configured at the job level. 38 permissions: {} 38 39 39 40 jobs: 40 # Verifies that installing npm dependencies and building WordPress works as expected. 41 # 42 # Performs the following steps: 43 # - Checks out the repository. 44 # - Logs debug information about the GitHub Action runner. 45 # - Installs Node.js. 46 # _ Installs npm dependencies. 47 # - Builds WordPress to run from the `build` directory. 48 # - Cleans up after building WordPress to the `build` directory. 49 # - Ensures version-controlled files are not modified or deleted. 50 # - Builds WordPress to run from the `src` directory. 51 # - Cleans up after building WordPress to the `src` directory. 52 # - Ensures version-controlled files are not modified or deleted. 53 test-npm: 54 name: Test npm on ${{ matrix.os }} 55 runs-on: ${{ matrix.os }} 56 timeout-minutes: 20 41 # Tests the WordPress Core build process on multiple operating systems. 42 test-core-build-process: 43 name: Core running from ${{ matrix.directory }} 44 uses: WordPress/wordpress-develop/.github/workflows/reusable-test-core-build-process.yml@trunk 45 permissions: 46 contents: read 57 47 if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} 58 48 strategy: … … 60 50 matrix: 61 51 os: [ ubuntu-latest, windows-latest ] 52 directory: [ 'src', 'build' ] 53 include: 54 # Only prepare artifacts once. 55 - os: ubuntu-latest 56 directory: 'build' 57 prepare-playground: true 58 with: 59 os: ${{ matrix.os }} 60 directory: ${{ matrix.directory }} 61 prepare-playground: ${{ matrix.prepare-playground && matrix.prepare-playground || false }} 62 test-emoji: false 62 63 63 steps: 64 - name: Checkout repository 65 uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 66 67 - name: Log debug information 68 run: | 69 npm --version 70 node --version 71 curl --version 72 git --version 73 svn --version 74 75 - name: Install Node.js 76 uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 77 with: 78 node-version-file: '.nvmrc' 79 cache: npm 80 81 - name: Install Dependencies 82 run: npm ci 83 84 - name: Build WordPress 85 run: npm run build 86 87 - name: Clean after building 88 run: npm run grunt clean 89 90 - name: Ensure version-controlled files are not modified or deleted during building and cleaning 91 run: git diff --exit-code 92 93 # Verifies that installing npm dependencies and building WordPress works as expected on MacOS. 64 # Tests the WordPress Core build process on MacOS. 94 65 # 95 # This is separate from the job above in order to use stricter conditions aboutwhen to run.66 # This is separate from the job above in order to use stricter conditions when determining when to run. 96 67 # This avoids unintentionally consuming excessive minutes, as MacOS jobs consume minutes at a 10x rate. 97 68 # … … 99 70 # currently no way to determine the OS being used on a given job. 100 71 # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. 101 # 102 # Performs the following steps: 103 # - Checks out the repository. 104 # - Logs debug information about the GitHub Action runner. 105 # - Installs Node.js. 106 # _ Installs npm dependencies. 107 # - Builds WordPress to run from the `build` directory. 108 # - Cleans up after building WordPress to the `build` directory. 109 # - Ensures version-controlled files are not modified or deleted. 110 # - Builds WordPress to run from the `src` directory. 111 # - Cleans up after building WordPress to the `src` directory. 112 # - Ensures version-controlled files are not modified or deleted. 113 test-npm-macos: 114 name: Test npm on MacOS 115 runs-on: macos-latest 116 timeout-minutes: 30 72 test-core-build-process-macos: 73 name: Core running from ${{ matrix.directory }} 74 uses: WordPress/wordpress-develop/.github/workflows/reusable-test-core-build-process.yml@trunk 75 permissions: 76 contents: read 117 77 if: ${{ github.repository == 'WordPress/wordpress-develop' }} 118 steps: 119 - name: Checkout repository 120 uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 121 122 - name: Log debug information 123 run: | 124 npm --version 125 node --version 126 curl --version 127 git --version 128 svn --version 129 130 - name: Install Node.js 131 uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 132 with: 133 node-version-file: '.nvmrc' 134 cache: npm 135 136 - name: Install Dependencies 137 run: npm ci 138 139 - name: Build WordPress 140 run: npm run build 141 142 - name: Clean after building 143 run: npm run grunt clean 144 145 - name: Ensure version-controlled files are not modified or deleted during building and cleaning 146 run: git diff --exit-code 147 148 - name: Build WordPress in /src 149 run: npm run build:dev 150 151 - name: Clean after building in /src 152 run: npm run grunt clean -- --dev 153 154 - name: Ensure version-controlled files are not modified or deleted during building and cleaning 155 run: git diff --exit-code 78 strategy: 79 fail-fast: false 80 matrix: 81 os: [ macos-13 ] 82 directory: [ 'src', 'build' ] 83 with: 84 os: ${{ matrix.os }} 85 directory: ${{ matrix.directory }} 86 test-emoji: false 156 87 157 88 slack-notifications: 158 89 name: Slack Notifications 159 90 uses: WordPress/wordpress-develop/.github/workflows/slack-notifications.yml@trunk 160 needs: [ test-npm, test-npm-macos ] 91 permissions: 92 actions: read 93 contents: read 94 needs: [ test-core-build-process, test-core-build-process-macos ] 161 95 if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }} 162 96 with: 163 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' }}97 calling_status: ${{ contains( needs.*.result, 'cancelled' ) && 'cancelled' || contains( needs.*.result, 'failure' ) && 'failure' || 'success' }} 164 98 secrets: 165 99 SLACK_GHA_SUCCESS_WEBHOOK: ${{ secrets.SLACK_GHA_SUCCESS_WEBHOOK }} … … 171 105 name: Failed workflow tasks 172 106 runs-on: ubuntu-latest 173 needs: [ test-npm, test-npm-macos, slack-notifications ] 107 permissions: 108 actions: write 109 needs: [ slack-notifications ] 174 110 if: | 175 111 always() && … … 178 114 github.run_attempt < 2 && 179 115 ( 180 needs.test-npm.result == 'cancelled' || needs.test-npm.result == 'failure'||181 needs.test-npm-macos.result == 'cancelled' || needs.test-npm-macos.result == 'failure'116 contains( needs.*.result, 'cancelled' ) || 117 contains( needs.*.result, 'failure' ) 182 118 ) 183 119 184 120 steps: 185 121 - name: Dispatch workflow run 186 uses: actions/github-script@ 98814c53be79b1d30f795b907e553d8679345975 # v6.4.0122 uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 187 123 with: 188 124 retries: 2
Note: See TracChangeset
for help on using the changeset viewer.