Browse Source

refactor: extract artifact logic to bash scripts

Shelley Vohr 1 year ago
parent
commit
636ed1a0c5

+ 34 - 0
.github/workflows/config/move_artifacts.sh

@@ -0,0 +1,34 @@
+#!/bin/sh
+
+set -eo pipefail
+
+rm -rf generated_artifacts_${BUILD_TYPE}
+mkdir generated_artifacts_${BUILD_TYPE}
+
+mv_if_exist() {
+  if [ -f "$1" ] || [ -d "$1" ]; then
+    echo Storing $1
+    mv $1 generated_artifacts_${BUILD_TYPE}
+  else
+    echo Skipping $1 - It is not present on disk
+  fi
+}
+cp_if_exist() {
+  if [ -f "$1" ] || [ -d "$1" ]; then
+    echo Storing $1
+    cp $1 generated_artifacts_${BUILD_TYPE}
+  else
+    echo Skipping $1 - It is not present on disk
+  fi
+}
+
+mv_if_exist src/out/Default/dist.zip
+mv_if_exist src/out/Default/gen/node_headers.tar.gz
+mv_if_exist src/out/Default/symbols.zip
+mv_if_exist src/out/Default/mksnapshot.zip
+mv_if_exist src/out/Default/chromedriver.zip
+mv_if_exist src/out/ffmpeg/ffmpeg.zip
+mv_if_exist src/out/Default/hunspell_dictionaries.zip
+mv_if_exist src/cross-arch-snapshots
+cp_if_exist src/out/electron_ninja_log
+cp_if_exist src/out/Default/.ninja_log

+ 22 - 0
.github/workflows/config/restore_artifacts.sh

@@ -0,0 +1,22 @@
+#!/bin/sh
+
+set -eo pipefail
+
+mv_if_exist() {
+  if [ -f "generated_artifacts_${BUILD_TYPE}/$1" ] || [ -d "generated_artifacts_${BUILD_TYPE}/$1" ]; then
+    echo Restoring $1 to $2
+    mkdir -p $2
+    mv generated_artifacts_${BUILD_TYPE}/$1 $2
+  else
+    echo Skipping $1 - It is not present on disk
+  fi
+}
+
+mv_if_exist dist.zip src/out/Default
+mv_if_exist node_headers.tar.gz src/out/Default/gen
+mv_if_exist symbols.zip src/out/Default
+mv_if_exist mksnapshot.zip src/out/Default
+mv_if_exist chromedriver.zip src/out/Default
+mv_if_exist ffmpeg.zip src/out/ffmpeg
+mv_if_exist hunspell_dictionaries.zip src/out/Default
+mv_if_exist cross-arch-snapshots src

+ 2 - 47
.github/workflows/macos-build.yml

@@ -380,35 +380,7 @@ jobs:
       # The current generated_artifacts_<< artifact.key >> name was taken from CircleCI
       # tp ensure we don't break anything, but we may be able to improve that.
     - name: Move all Generated Artifacts to Upload Folder
-      run: |
-        rm -rf generated_artifacts_${BUILD_TYPE}
-        mkdir generated_artifacts_${BUILD_TYPE}
-        mv_if_exist() {
-          if [ -f "$1" ] || [ -d "$1" ]; then
-            echo Storing $1
-            mv $1 generated_artifacts_${BUILD_TYPE}
-          else
-            echo Skipping $1 - It is not present on disk
-          fi
-        }
-        cp_if_exist() {
-          if [ -f "$1" ] || [ -d "$1" ]; then
-            echo Storing $1
-            cp $1 generated_artifacts_${BUILD_TYPE}
-          else
-            echo Skipping $1 - It is not present on disk
-          fi
-        }
-        mv_if_exist src/out/Default/dist.zip
-        mv_if_exist src/out/Default/gen/node_headers.tar.gz
-        mv_if_exist src/out/Default/symbols.zip
-        mv_if_exist src/out/Default/mksnapshot.zip
-        mv_if_exist src/out/Default/chromedriver.zip
-        mv_if_exist src/out/ffmpeg/ffmpeg.zip
-        mv_if_exist src/out/Default/hunspell_dictionaries.zip
-        mv_if_exist src/cross-arch-snapshots
-        cp_if_exist src/out/electron_ninja_log
-        cp_if_exist src/out/Default/.ninja_log
+      run: ./src/electron/script/move-artifacts.sh
     - name: Upload Generated Artifacts
       uses: actions/upload-artifact@v4
       with:
@@ -510,24 +482,7 @@ jobs:
           src/v8/tools/builtins-pgo
         key: ${{ runner.os }}-build-artifacts-${{ matrix.build-type }}-${{ github.sha }}
     - name: Restore Generated Artifacts
-      run: |
-        mv_if_exist() {
-          if [ -f "generated_artifacts_${BUILD_TYPE}/$1" ] || [ -d "generated_artifacts_${BUILD_TYPE}/$1" ]; then
-            echo Restoring $1 to $2
-            mkdir -p $2
-            mv generated_artifacts_${BUILD_TYPE}/$1 $2
-          else
-            echo Skipping $1 - It is not present on disk
-          fi
-        }
-        mv_if_exist dist.zip src/out/Default
-        mv_if_exist node_headers.tar.gz src/out/Default/gen
-        mv_if_exist symbols.zip src/out/Default
-        mv_if_exist mksnapshot.zip src/out/Default
-        mv_if_exist chromedriver.zip src/out/Default
-        mv_if_exist ffmpeg.zip src/out/ffmpeg
-        mv_if_exist hunspell_dictionaries.zip src/out/Default
-        mv_if_exist cross-arch-snapshots src
+      run: ./src/electron/script/restore-artifacts.sh
     - name: Unzip Dist, Mksnapshot & Chromedriver
       run: |
         cd src/out/Default