diff --git a/.github/actions/checkout/action.yml b/.github/actions/checkout/action.yml index f14f5d306d..85bedf2eae 100644 --- a/.github/actions/checkout/action.yml +++ b/.github/actions/checkout/action.yml @@ -28,7 +28,7 @@ runs: shell: bash run: | node src/electron/script/generate-deps-hash.js - DEPSHASH="v1-src-cache-$(cat src/electron/.depshash)" + DEPSHASH="v2-src-cache-$(cat src/electron/.depshash)" echo "DEPSHASH=$DEPSHASH" >> $GITHUB_ENV echo "CACHE_FILE=$DEPSHASH.tar" >> $GITHUB_ENV if [ "${{ inputs.target-platform }}" = "win" ]; then @@ -109,7 +109,7 @@ runs: echo "target_os=['$TARGET_OS']" >> ./.gclient fi - ELECTRON_USE_THREE_WAY_MERGE_FOR_PATCHES=1 e d gclient sync --with_branch_heads --with_tags -vv + ELECTRON_DEPOT_TOOLS_WIN_TOOLCHAIN=0 DEPOT_TOOLS_WIN_TOOLCHAIN=0 ELECTRON_USE_THREE_WAY_MERGE_FOR_PATCHES=1 e d gclient sync --with_branch_heads --with_tags if [[ "${{ inputs.is-release }}" != "true" ]]; then # Re-export all the patches to check if there were changes. python3 src/electron/script/export_all_patches.py src/electron/patches/config.json @@ -187,7 +187,9 @@ runs: shell: bash run: | echo "Uncompressed src size: $(du -sh src | cut -f1 -d' ')" - tar -cf $CACHE_FILE src + # Named .tar but zstd-compressed; the sas-sidecar's filename allowlist + # only permits .tar/.tgz so we keep the extension and decode on restore. + tar -cf - src | zstd -T0 --long=30 -f -o $CACHE_FILE echo "Compressed src to $(du -sh $CACHE_FILE | cut -f1 -d' ')" cp ./$CACHE_FILE $CACHE_DRIVE/ - name: Persist Src Cache diff --git a/.github/actions/restore-cache-aks/action.yml b/.github/actions/restore-cache-aks/action.yml index b614b3a076..2522193274 100644 --- a/.github/actions/restore-cache-aks/action.yml +++ b/.github/actions/restore-cache-aks/action.yml @@ -31,7 +31,7 @@ runs: fi mkdir temp-cache - tar -xf $cache_path -C temp-cache + zstd -d --long=30 -c $cache_path | tar -xf - -C temp-cache echo "Unzipped cache is $(du -sh temp-cache/src | cut -f1)" if [ -d "temp-cache/src" ]; then diff --git a/.github/actions/restore-cache-azcopy/action.yml b/.github/actions/restore-cache-azcopy/action.yml index ee8fe62905..7099ea8fda 100644 --- a/.github/actions/restore-cache-azcopy/action.yml +++ b/.github/actions/restore-cache-azcopy/action.yml @@ -61,9 +61,9 @@ runs: echo "Cache is empty - exiting" exit 1 fi - + mkdir temp-cache - tar -xf $DEPSHASH.tar -C temp-cache + zstd -d --long=30 -c $DEPSHASH.tar | tar -xf - -C temp-cache echo "Unzipped cache is $(du -sh temp-cache/src | cut -f1)" if [ -d "temp-cache/src" ]; then @@ -85,19 +85,17 @@ runs: - name: Unzip and Ensure Src Cache (Windows) if: ${{ inputs.target-platform == 'win' }} - shell: powershell + shell: bash run: | - $src_cache = "$env:DEPSHASH.tar" - $cache_size = $(Get-Item $src_cache).length - Write-Host "Downloaded cache is $cache_size" - if ($cache_size -eq 0) { - Write-Host "Cache is empty - exiting" + echo "Downloaded cache is $(du -sh $DEPSHASH.tar | cut -f1)" + if [ `du $DEPSHASH.tar | cut -f1` = "0" ]; then + echo "Cache is empty - exiting" exit 1 - } + fi - $TEMP_DIR=New-Item -ItemType Directory -Path temp-cache - $TEMP_DIR_PATH = $TEMP_DIR.FullName - C:\ProgramData\Chocolatey\bin\7z.exe -y -snld20 x $src_cache -o"$TEMP_DIR_PATH" + mkdir temp-cache + zstd -d --long=30 -c $DEPSHASH.tar | tar -xf - -C temp-cache + rm -f $DEPSHASH.tar - name: Move Src Cache (Windows) if: ${{ inputs.target-platform == 'win' }} @@ -112,9 +110,6 @@ runs: Write-Host "Relocating Cache" Remove-Item -Recurse -Force src Move-Item temp-cache\src src - - Write-Host "Deleting zip file" - Remove-Item -Force $src_cache } if (-Not (Test-Path "src\third_party\blink")) { Write-Host "Cache was not correctly restored - exiting" diff --git a/.github/workflows/pipeline-electron-docs-only.yml b/.github/workflows/pipeline-electron-docs-only.yml index b3e22f3168..038822c57d 100644 --- a/.github/workflows/pipeline-electron-docs-only.yml +++ b/.github/workflows/pipeline-electron-docs-only.yml @@ -35,7 +35,7 @@ jobs: - name: Generate DEPS Hash run: | node src/electron/script/generate-deps-hash.js - DEPSHASH=v1-src-cache-$(cat src/electron/.depshash) + DEPSHASH=v2-src-cache-$(cat src/electron/.depshash) echo "DEPSHASH=$DEPSHASH" >> $GITHUB_ENV echo "CACHE_PATH=$DEPSHASH.tar" >> $GITHUB_ENV - name: Restore src cache via AKS diff --git a/.github/workflows/pipeline-segment-electron-build.yml b/.github/workflows/pipeline-segment-electron-build.yml index 1a67587ab5..ce507de736 100644 --- a/.github/workflows/pipeline-segment-electron-build.yml +++ b/.github/workflows/pipeline-segment-electron-build.yml @@ -156,7 +156,7 @@ jobs: - name: Generate DEPS Hash run: | node src/electron/script/generate-deps-hash.js - DEPSHASH=v1-src-cache-$(cat src/electron/.depshash) + DEPSHASH=v2-src-cache-$(cat src/electron/.depshash) echo "DEPSHASH=$DEPSHASH" >> $GITHUB_ENV echo "CACHE_PATH=$DEPSHASH.tar" >> $GITHUB_ENV - name: Restore src cache via AZCopy diff --git a/.github/workflows/pipeline-segment-electron-clang-tidy.yml b/.github/workflows/pipeline-segment-electron-clang-tidy.yml index c7ddb39403..8924322e40 100644 --- a/.github/workflows/pipeline-segment-electron-clang-tidy.yml +++ b/.github/workflows/pipeline-segment-electron-clang-tidy.yml @@ -80,7 +80,7 @@ jobs: - name: Generate DEPS Hash run: | node src/electron/script/generate-deps-hash.js - DEPSHASH=v1-src-cache-$(cat src/electron/.depshash) + DEPSHASH=v2-src-cache-$(cat src/electron/.depshash) echo "DEPSHASH=$DEPSHASH" >> $GITHUB_ENV echo "CACHE_PATH=$DEPSHASH.tar" >> $GITHUB_ENV - name: Restore src cache via AZCopy diff --git a/.github/workflows/pipeline-segment-electron-gn-check.yml b/.github/workflows/pipeline-segment-electron-gn-check.yml index 0c28e2c8c1..2e23a1466c 100644 --- a/.github/workflows/pipeline-segment-electron-gn-check.yml +++ b/.github/workflows/pipeline-segment-electron-gn-check.yml @@ -81,7 +81,7 @@ jobs: - name: Generate DEPS Hash run: | node src/electron/script/generate-deps-hash.js - DEPSHASH=v1-src-cache-$(cat src/electron/.depshash) + DEPSHASH=v2-src-cache-$(cat src/electron/.depshash) echo "DEPSHASH=$DEPSHASH" >> $GITHUB_ENV echo "CACHE_PATH=$DEPSHASH.tar" >> $GITHUB_ENV - name: Restore src cache via AZCopy diff --git a/.github/workflows/pipeline-segment-electron-publish.yml b/.github/workflows/pipeline-segment-electron-publish.yml index 5de845ba94..cddeb6028a 100644 --- a/.github/workflows/pipeline-segment-electron-publish.yml +++ b/.github/workflows/pipeline-segment-electron-publish.yml @@ -165,7 +165,7 @@ jobs: - name: Generate DEPS Hash run: | node src/electron/script/generate-deps-hash.js - DEPSHASH=v1-src-cache-$(cat src/electron/.depshash) + DEPSHASH=v2-src-cache-$(cat src/electron/.depshash) echo "DEPSHASH=$DEPSHASH" >> $GITHUB_ENV echo "CACHE_PATH=$DEPSHASH.tar" >> $GITHUB_ENV - name: Restore src cache via AZCopy