diff --git a/.github/actions/build-electron/action.yml b/.github/actions/build-electron/action.yml index f068d45510..bf6a4973bb 100644 --- a/.github/actions/build-electron/action.yml +++ b/.github/actions/build-electron/action.yml @@ -107,36 +107,6 @@ runs: git pack-refs cd .. - # Route the ThinLTO cache out of the bindflt filter driver mount. - # The runner workspace under C:\actions-runner\_work\ is exposed via - # bindflt, which intermittently returns ERROR_INVALID_PARAMETER on - # CreateFileW/CreateDirectoryW under the concurrent I/O lld-link - # generates (ThinLTO writes thousands of cache files in parallel). - # Pre-creating the cache directory dodged CreateDirectoryW; opening - # individual cache files inside it still raced. Replace the directory - # with a junction to a path outside the bindflt mount so lld's cache - # I/O bypasses the filter driver entirely. - # - # $env:TEMP on ARC runners lives under - # C:\Users\ContainerAdministrator\AppData\Local\Temp and is not - # bindflt-mounted. The link path mirrors `cache_dir` in Chromium's - # build/config/compiler/BUILD.gn (the `/lldltocache:` ldflag passed - # to lld-link); if upstream ever relocates `cache_dir`, update the - # link path here. - $thinltoCacheLink = "out\Default\thinlto-cache" - $thinltoCacheTarget = Join-Path $env:TEMP "electron-thinlto-cache" - New-Item -ItemType Directory -Force -Path (Split-Path $thinltoCacheLink) | Out-Null - New-Item -ItemType Directory -Force -Path $thinltoCacheTarget | Out-Null - if (Test-Path $thinltoCacheLink) { - $existing = Get-Item $thinltoCacheLink -Force - if ($existing.Attributes -band [System.IO.FileAttributes]::ReparsePoint) { - cmd /c rmdir $thinltoCacheLink | Out-Null - } else { - Remove-Item -Recurse -Force $thinltoCacheLink - } - } - cmd /c mklink /J $thinltoCacheLink $thinltoCacheTarget | Out-Null - $env:NINJA_SUMMARIZE_BUILD = 1 if ("${{ inputs.is-release }}" -eq "true") { e build --target electron:release_build diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 261f81125e..c03ccfc6fb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -398,7 +398,7 @@ jobs: needs: [checkout-windows, build-siso-windows] if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }} with: - build-runs-on: electron-arc-centralus-windows-amd64-32core + build-runs-on: electron-arc-centralus-windows-amd64-16core clang-tidy-runs-on: electron-arc-centralus-linux-amd64-8core test-runs-on: windows-latest clang-tidy-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"]}' @@ -419,7 +419,7 @@ jobs: needs: [checkout-windows, build-siso-windows] if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }} with: - build-runs-on: electron-arc-centralus-windows-amd64-32core + build-runs-on: electron-arc-centralus-windows-amd64-16core test-runs-on: windows-latest target-platform: win target-arch: x86 @@ -438,7 +438,7 @@ jobs: needs: [checkout-windows, build-siso-windows] if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }} with: - build-runs-on: electron-arc-centralus-windows-amd64-32core + build-runs-on: electron-arc-centralus-windows-amd64-16core test-runs-on: windows-11-arm target-platform: win target-arch: arm64 diff --git a/.github/workflows/windows-publish.yml b/.github/workflows/windows-publish.yml index 748b9c86c1..d156488ffa 100644 --- a/.github/workflows/windows-publish.yml +++ b/.github/workflows/windows-publish.yml @@ -82,7 +82,7 @@ jobs: needs: [checkout-windows, build-siso-windows] with: environment: production-release - build-runs-on: electron-arc-centralus-windows-amd64-32core + build-runs-on: electron-arc-centralus-windows-amd64-16core target-platform: win target-arch: x64 is-release: true @@ -101,7 +101,7 @@ jobs: needs: [checkout-windows, build-siso-windows] with: environment: production-release - build-runs-on: electron-arc-centralus-windows-amd64-32core + build-runs-on: electron-arc-centralus-windows-amd64-16core target-platform: win target-arch: arm64 is-release: true @@ -120,7 +120,7 @@ jobs: needs: [checkout-windows, build-siso-windows] with: environment: production-release - build-runs-on: electron-arc-centralus-windows-amd64-32core + build-runs-on: electron-arc-centralus-windows-amd64-16core target-platform: win target-arch: x86 is-release: true