From e32dc4fa369e0537f30d36439452695f0ce65e54 Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Wed, 30 Jul 2025 17:14:00 -0400 Subject: [PATCH] ci: use new arc cluster (#47914) Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: John Kleinschmidt --- .github/actions/build-electron/action.yml | 5 +++ .github/actions/checkout/action.yml | 2 +- .../actions/restore-cache-azcopy/action.yml | 15 ++++++--- .github/workflows/build-git-cache.yml | 6 ++-- .github/workflows/build.yml | 32 +++++++++---------- .github/workflows/clean-src-cache.yml | 2 +- .github/workflows/linux-publish.yml | 8 ++--- .github/workflows/macos-publish.yml | 2 +- .../workflows/pipeline-electron-docs-only.yml | 2 +- .github/workflows/pipeline-electron-lint.yml | 2 +- .../pipeline-segment-node-nan-test.yml | 4 +-- .github/workflows/windows-publish.yml | 8 ++--- 12 files changed, 49 insertions(+), 39 deletions(-) diff --git a/.github/actions/build-electron/action.yml b/.github/actions/build-electron/action.yml index 50b2decbcdcf..807895f73755 100644 --- a/.github/actions/build-electron/action.yml +++ b/.github/actions/build-electron/action.yml @@ -47,6 +47,11 @@ runs: - name: Add Clang problem matcher shell: bash run: echo "::add-matcher::src/electron/.github/problem-matchers/clang.json" + - name: Enable long paths for Windows + shell: powershell + if: ${{ inputs.target-platform == 'win' }} + run: | + Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -Type DWord - name: Build Electron ${{ inputs.step-suffix }} shell: bash run: | diff --git a/.github/actions/checkout/action.yml b/.github/actions/checkout/action.yml index 98fc18bb566b..e0d66fa041f2 100644 --- a/.github/actions/checkout/action.yml +++ b/.github/actions/checkout/action.yml @@ -40,7 +40,7 @@ runs: if: ${{ inputs.generate-sas-token == 'true' }} shell: bash run: | - curl --unix-socket /var/run/sas/sas.sock --fail "http://foo/$CACHE_FILE?platform=${{ inputs.target-platform }}" > sas-token + curl --unix-socket /var/run/sas/sas.sock --fail "http://foo/$CACHE_FILE?platform=${{ inputs.target-platform }}&getAccountName=true" > sas-token - name: Save SAS Key if: ${{ inputs.generate-sas-token == 'true' }} uses: actions/cache/save@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 diff --git a/.github/actions/restore-cache-azcopy/action.yml b/.github/actions/restore-cache-azcopy/action.yml index 2272ee6e7687..c731eb59ef6d 100644 --- a/.github/actions/restore-cache-azcopy/action.yml +++ b/.github/actions/restore-cache-azcopy/action.yml @@ -36,18 +36,23 @@ runs: echo "SAS Token not found; exiting src cache download early..." exit 1 else + echo "const fs = require('fs');" > gettoken.js + echo "const fileContents = fs.readFileSync('sas-token', 'utf8');" >> gettoken.js + echo "const token = JSON.parse(fileContents);" >> gettoken.js + echo "console.log(token[process.argv[2]])" >> gettoken.js + sas_token=$(node ./gettoken.js sasToken) + account_name=$(node ./gettoken.js accountName) if [ "${{ inputs.target-platform }}" = "win" ]; then azcopy copy --log-level=ERROR \ - "https://${{ env.AZURE_AKS_CACHE_STORAGE_ACCOUNT }}.file.core.windows.net/${{ env.AZURE_AKS_WIN_CACHE_SHARE_NAME }}/${{ env.CACHE_PATH }}?$sas_token" $DEPSHASH.tar + "https://$account_name.file.core.windows.net/${{ env.AZURE_AKS_WIN_CACHE_SHARE_NAME }}/${{ env.CACHE_PATH }}?$sas_token" $DEPSHASH.tar else azcopy copy --log-level=ERROR \ - "https://${{ env.AZURE_AKS_CACHE_STORAGE_ACCOUNT }}.file.core.windows.net/${{ env.AZURE_AKS_CACHE_SHARE_NAME }}/${{ env.CACHE_PATH }}?$sas_token" $DEPSHASH.tar + "https://$account_name.file.core.windows.net/${{ env.AZURE_AKS_CACHE_SHARE_NAME }}/${{ env.CACHE_PATH }}?$sas_token" $DEPSHASH.tar fi fi env: - AZURE_AKS_CACHE_STORAGE_ACCOUNT: f723719aa87a34622b5f7f3 - AZURE_AKS_CACHE_SHARE_NAME: pvc-f6a4089f-b082-4bee-a3f9-c3e1c0c02d8f - AZURE_AKS_WIN_CACHE_SHARE_NAME: pvc-71dec4f2-0d44-4fd1-a2c3-add049d70bdf + AZURE_AKS_CACHE_SHARE_NAME: linux-cache + AZURE_AKS_WIN_CACHE_SHARE_NAME: windows-cache - name: Clean SAS Key shell: bash run: rm -f sas-token diff --git a/.github/workflows/build-git-cache.yml b/.github/workflows/build-git-cache.yml index 0fddbd4522a5..43daf56e5aa3 100644 --- a/.github/workflows/build-git-cache.yml +++ b/.github/workflows/build-git-cache.yml @@ -8,7 +8,7 @@ on: jobs: build-git-cache-linux: - runs-on: electron-arc-linux-amd64-32core + runs-on: electron-arc-centralus-linux-amd64-32core container: image: ghcr.io/electron/build:bc2f48b2415a670de18d13605b1cf0eb5fdbaae1 options: --user root @@ -29,7 +29,7 @@ jobs: target-platform: linux build-git-cache-windows: - runs-on: electron-arc-linux-amd64-32core + runs-on: electron-arc-centralus-linux-amd64-32core container: image: ghcr.io/electron/build:bc2f48b2415a670de18d13605b1cf0eb5fdbaae1 options: --user root --device /dev/fuse --cap-add SYS_ADMIN @@ -51,7 +51,7 @@ jobs: target-platform: win build-git-cache-macos: - runs-on: electron-arc-linux-amd64-32core + runs-on: electron-arc-centralus-linux-amd64-32core # This job updates the same git cache as linux, so it needs to run after the linux one. needs: build-git-cache-linux container: diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0eaa4c7d8729..4c15823e382a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -92,7 +92,7 @@ jobs: checkout-macos: needs: setup if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-macos}} - runs-on: electron-arc-linux-amd64-32core + runs-on: electron-arc-centralus-linux-amd64-32core container: image: ghcr.io/electron/build:${{ needs.setup.outputs.build-image-sha }} options: --user root @@ -120,7 +120,7 @@ jobs: checkout-linux: needs: setup if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-linux}} - runs-on: electron-arc-linux-amd64-32core + runs-on: electron-arc-centralus-linux-amd64-32core container: image: ghcr.io/electron/build:${{ needs.setup.outputs.build-image-sha }} options: --user root @@ -146,7 +146,7 @@ jobs: checkout-windows: needs: setup if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }} - runs-on: electron-arc-linux-amd64-32core + runs-on: electron-arc-centralus-linux-amd64-32core container: image: ghcr.io/electron/build:${{ needs.setup.outputs.build-image-sha }} options: --user root --device /dev/fuse --cap-add SYS_ADMIN @@ -191,7 +191,7 @@ jobs: with: target-platform: linux target-archs: x64 arm arm64 - check-runs-on: electron-arc-linux-amd64-8core + check-runs-on: electron-arc-centralus-linux-amd64-8core check-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}' gn-build-type: testing secrets: inherit @@ -202,7 +202,7 @@ jobs: with: target-platform: win target-archs: x64 x86 arm64 - check-runs-on: electron-arc-linux-amd64-8core + check-runs-on: electron-arc-centralus-linux-amd64-8core check-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-windows.outputs.build-image-sha }}","options":"--user root --device /dev/fuse --cap-add SYS_ADMIN","volumes":["/mnt/win-cache:/mnt/win-cache"]}' gn-build-type: testing secrets: inherit @@ -252,8 +252,8 @@ jobs: uses: ./.github/workflows/pipeline-electron-build-and-test-and-nan.yml needs: checkout-linux with: - build-runs-on: electron-arc-linux-amd64-32core - test-runs-on: electron-arc-linux-amd64-4core + build-runs-on: electron-arc-centralus-linux-amd64-32core + test-runs-on: electron-arc-centralus-linux-amd64-4core build-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}' test-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root --privileged --init"}' target-platform: linux @@ -272,8 +272,8 @@ jobs: uses: ./.github/workflows/pipeline-electron-build-and-test.yml needs: checkout-linux with: - build-runs-on: electron-arc-linux-amd64-32core - test-runs-on: electron-arc-linux-amd64-4core + build-runs-on: electron-arc-centralus-linux-amd64-32core + test-runs-on: electron-arc-centralus-linux-amd64-4core build-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}' test-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root --privileged --init"}' target-platform: linux @@ -293,8 +293,8 @@ jobs: uses: ./.github/workflows/pipeline-electron-build-and-test.yml needs: checkout-linux with: - build-runs-on: electron-arc-linux-amd64-32core - test-runs-on: electron-arc-linux-arm64-4core + build-runs-on: electron-arc-centralus-linux-amd64-32core + test-runs-on: electron-arc-centralus-linux-arm64-4core build-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}' test-container: '{"image":"ghcr.io/electron/test:arm32v7-${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root --privileged --init","volumes":["/home/runner/externals:/mnt/runner-externals"]}' target-platform: linux @@ -313,8 +313,8 @@ jobs: uses: ./.github/workflows/pipeline-electron-build-and-test.yml needs: checkout-linux with: - build-runs-on: electron-arc-linux-amd64-32core - test-runs-on: electron-arc-linux-arm64-4core + build-runs-on: electron-arc-centralus-linux-amd64-32core + test-runs-on: electron-arc-centralus-linux-arm64-4core build-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}' test-container: '{"image":"ghcr.io/electron/test:arm64v8-${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root --privileged --init"}' target-platform: linux @@ -334,7 +334,7 @@ jobs: needs: checkout-windows if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }} with: - build-runs-on: electron-arc-windows-amd64-16core + build-runs-on: electron-arc-centralus-windows-amd64-16core test-runs-on: windows-latest target-platform: win target-arch: x64 @@ -353,7 +353,7 @@ jobs: needs: checkout-windows if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }} with: - build-runs-on: electron-arc-windows-amd64-16core + build-runs-on: electron-arc-centralus-windows-amd64-16core test-runs-on: windows-latest target-platform: win target-arch: x86 @@ -372,7 +372,7 @@ jobs: needs: checkout-windows if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }} with: - build-runs-on: electron-arc-windows-amd64-16core + build-runs-on: electron-arc-centralus-windows-amd64-16core test-runs-on: electron-hosted-windows-arm64-4core target-platform: win target-arch: arm64 diff --git a/.github/workflows/clean-src-cache.yml b/.github/workflows/clean-src-cache.yml index 0c4c5919a0ca..9a1bfddccc88 100644 --- a/.github/workflows/clean-src-cache.yml +++ b/.github/workflows/clean-src-cache.yml @@ -10,7 +10,7 @@ on: jobs: clean-src-cache: - runs-on: electron-arc-linux-amd64-32core + runs-on: electron-arc-centralus-linux-amd64-32core container: image: ghcr.io/electron/build:bc2f48b2415a670de18d13605b1cf0eb5fdbaae1 options: --user root diff --git a/.github/workflows/linux-publish.yml b/.github/workflows/linux-publish.yml index 8cadd26d23bc..7bf533f8eeae 100644 --- a/.github/workflows/linux-publish.yml +++ b/.github/workflows/linux-publish.yml @@ -19,7 +19,7 @@ on: jobs: checkout-linux: - runs-on: electron-arc-linux-amd64-32core + runs-on: electron-arc-centralus-linux-amd64-32core container: image: ghcr.io/electron/build:${{ inputs.build-image-sha }} options: --user root @@ -43,7 +43,7 @@ jobs: needs: checkout-linux with: environment: production-release - build-runs-on: electron-arc-linux-amd64-32core + build-runs-on: electron-arc-centralus-linux-amd64-32core build-container: '{"image":"ghcr.io/electron/build:${{ inputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}' target-platform: linux target-arch: x64 @@ -59,7 +59,7 @@ jobs: needs: checkout-linux with: environment: production-release - build-runs-on: electron-arc-linux-amd64-32core + build-runs-on: electron-arc-centralus-linux-amd64-32core build-container: '{"image":"ghcr.io/electron/build:${{ inputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}' target-platform: linux target-arch: arm @@ -75,7 +75,7 @@ jobs: needs: checkout-linux with: environment: production-release - build-runs-on: electron-arc-linux-amd64-32core + build-runs-on: electron-arc-centralus-linux-amd64-32core build-container: '{"image":"ghcr.io/electron/build:${{ inputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}' target-platform: linux target-arch: arm64 diff --git a/.github/workflows/macos-publish.yml b/.github/workflows/macos-publish.yml index c7241b6a3bb0..3c156fa2a3f6 100644 --- a/.github/workflows/macos-publish.yml +++ b/.github/workflows/macos-publish.yml @@ -20,7 +20,7 @@ on: jobs: checkout-macos: - runs-on: electron-arc-linux-amd64-32core + runs-on: electron-arc-centralus-linux-amd64-32core container: image: ghcr.io/electron/build:${{ inputs.build-image-sha }} options: --user root diff --git a/.github/workflows/pipeline-electron-docs-only.yml b/.github/workflows/pipeline-electron-docs-only.yml index eb5441d14822..062f3af2f57e 100644 --- a/.github/workflows/pipeline-electron-docs-only.yml +++ b/.github/workflows/pipeline-electron-docs-only.yml @@ -15,7 +15,7 @@ concurrency: jobs: docs-only: name: Docs Only Compile - runs-on: electron-arc-linux-amd64-4core + runs-on: electron-arc-centralus-linux-amd64-4core timeout-minutes: 20 container: ${{ fromJSON(inputs.container) }} steps: diff --git a/.github/workflows/pipeline-electron-lint.yml b/.github/workflows/pipeline-electron-lint.yml index 6cdbff025995..7c1b27d0a33b 100644 --- a/.github/workflows/pipeline-electron-lint.yml +++ b/.github/workflows/pipeline-electron-lint.yml @@ -18,7 +18,7 @@ env: jobs: lint: name: Lint - runs-on: electron-arc-linux-amd64-4core + runs-on: electron-arc-centralus-linux-amd64-4core timeout-minutes: 20 container: ${{ fromJSON(inputs.container) }} steps: diff --git a/.github/workflows/pipeline-segment-node-nan-test.yml b/.github/workflows/pipeline-segment-node-nan-test.yml index ee381add0dbb..b33c31ab9955 100644 --- a/.github/workflows/pipeline-segment-node-nan-test.yml +++ b/.github/workflows/pipeline-segment-node-nan-test.yml @@ -38,7 +38,7 @@ env: jobs: node-tests: name: Run Node.js Tests - runs-on: electron-arc-linux-amd64-8core + runs-on: electron-arc-centralus-linux-amd64-8core timeout-minutes: 30 env: TARGET_ARCH: ${{ inputs.target-arch }} @@ -92,7 +92,7 @@ jobs: done nan-tests: name: Run Nan Tests - runs-on: electron-arc-linux-amd64-4core + runs-on: electron-arc-centralus-linux-amd64-4core timeout-minutes: 30 env: TARGET_ARCH: ${{ inputs.target-arch }} diff --git a/.github/workflows/windows-publish.yml b/.github/workflows/windows-publish.yml index e8b7c6172fdd..407ee819dc75 100644 --- a/.github/workflows/windows-publish.yml +++ b/.github/workflows/windows-publish.yml @@ -20,7 +20,7 @@ on: jobs: checkout-windows: - runs-on: electron-arc-linux-amd64-32core + runs-on: electron-arc-centralus-linux-amd64-32core container: image: ghcr.io/electron/build:${{ inputs.build-image-sha }} options: --user root --device /dev/fuse --cap-add SYS_ADMIN @@ -51,7 +51,7 @@ jobs: needs: checkout-windows with: environment: production-release - build-runs-on: electron-arc-windows-amd64-16core + build-runs-on: electron-arc-centralus-windows-amd64-16core target-platform: win target-arch: x64 is-release: true @@ -65,7 +65,7 @@ jobs: needs: checkout-windows with: environment: production-release - build-runs-on: electron-arc-windows-amd64-16core + build-runs-on: electron-arc-centralus-windows-amd64-16core target-platform: win target-arch: arm64 is-release: true @@ -79,7 +79,7 @@ jobs: needs: checkout-windows with: environment: production-release - build-runs-on: electron-arc-windows-amd64-16core + build-runs-on: electron-arc-centralus-windows-amd64-16core target-platform: win target-arch: x86 is-release: true