electron/script/actions/restore-artifacts.sh

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

41 lines
1.1 KiB
Bash
Raw Normal View History

#!/bin/bash
build: add GitHub Actions testing pipeline for macOS (#41812) * build: test the Mac runner space * build: baby steps, super basic checkout * chore: simplify depot-tools * build: try a sync * build: fix path * build: pass different URL for sync * build: gclient sync with --verbose * debug: add logging for mtime cache * build: add psuedocode for Azure workflow, add workflow_dispatch * build: enable ssh access to runners * build: test azure upload without full sync * build: full sync and cache upload test * build (WIP): mock out download logic * build: remove sync, try disk space prune * build: lets try it again, lads * ci: add cache downloading wip * fix: correct json parsing * chore: use depshash and fix output syntax * chore: rework depshash state and delete more * refactor: split checkout to Linux runner * fix: depot_tools get on Linux * fix: add infra/3pp/tools/swift-format handling * chore: move to patch file in build as well * chore: misc cleanup of env steps * chore: add fix sync step * build: use tar file, strip .git dirs * build: set GIT_CACHE_PATH outside of src * ci: fix cache prefix, add check for ssh debug * fix: fix tar pack/unpack * build: add reclient support & ninja build step * chore: clean up reclient round 1 * fix: grab ELECTRON_RBE_JWT from secrets * chore: run tmate if debug logging enabled * chore: move ulimit setting * fix: missing GN gen env vars * fix: workaround packed-refs issue * chore: fixup PATH usage * chore: remove GIT_CACHE env var * fix: call pack refs manually * fix: add RBE_experimental_credentials_helper_args * chore: whoops we need electron_node/deps/v8 actually * fix: we need electron_node/deps/openssl too * build: load build-tools & xcode * build: add dist, chromedriver & mksnapshot * build: add test job, download artifacts * Cache non-generated build artifacts * chore: set download path explicitly * chore: load-xcode is called by e build * Add codesigning certificate step * Add Test Step * Try without codesigning just to get tests running * Add depot_tools to PATH in test * Persist src/buildtools/mac * chore: use script/yarn test directly * Build Node.js Headers for caching * Add initial matrix for mas build * Fix GN_EXTRA_ARGS generation syntax * Fix BUILD_TYPE interpolation * Use matrix in test correctly * feat: add publish config, alter release-build script * build: force trigger the first workflow * build: oops * Ensure env vars escaped * Move GN_EXTRA_ARGS to gn gen step * chore: rename yml to match convention * ci: fix helperPath calls in action configs * chore: try setting directly * fix: switch to mas config * chore: Testing -> Default * Re-enable darwin build * Use mas JSON config * refactor: extract artifact logic to bash scripts * refactor: build MAS after darwin * chore: move to script/actions * chore: use Node.js 20.11.x * Don't fail-fast in tests * build: tweak release script * build: remove macos-publish.yml * build: change action to trigger on publish workflow dispatch * chore: remove SSH debugging using action-tmate * build: do not disable CircleCI config * chore: switch away from cURL for AzureCLI * chore: move evm.mas.json to .github/workflows/config * chore: remove publish logic from initial build flow * build: add patchup check for non-release builds * build: pin build-tools to sha 2bb63e2 --------- Co-authored-by: Keeley Hammond <vertedinde@electronjs.org> Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
2024-04-24 17:29:19 +00:00
GENERATED_ARTIFACTS="generated_artifacts_${BUILD_TYPE}_${TARGET_ARCH}"
SRC_ARTIFACTS="src_artifacts_${BUILD_TYPE}_${TARGET_ARCH}"
build: add GitHub Actions testing pipeline for macOS (#41812) * build: test the Mac runner space * build: baby steps, super basic checkout * chore: simplify depot-tools * build: try a sync * build: fix path * build: pass different URL for sync * build: gclient sync with --verbose * debug: add logging for mtime cache * build: add psuedocode for Azure workflow, add workflow_dispatch * build: enable ssh access to runners * build: test azure upload without full sync * build: full sync and cache upload test * build (WIP): mock out download logic * build: remove sync, try disk space prune * build: lets try it again, lads * ci: add cache downloading wip * fix: correct json parsing * chore: use depshash and fix output syntax * chore: rework depshash state and delete more * refactor: split checkout to Linux runner * fix: depot_tools get on Linux * fix: add infra/3pp/tools/swift-format handling * chore: move to patch file in build as well * chore: misc cleanup of env steps * chore: add fix sync step * build: use tar file, strip .git dirs * build: set GIT_CACHE_PATH outside of src * ci: fix cache prefix, add check for ssh debug * fix: fix tar pack/unpack * build: add reclient support & ninja build step * chore: clean up reclient round 1 * fix: grab ELECTRON_RBE_JWT from secrets * chore: run tmate if debug logging enabled * chore: move ulimit setting * fix: missing GN gen env vars * fix: workaround packed-refs issue * chore: fixup PATH usage * chore: remove GIT_CACHE env var * fix: call pack refs manually * fix: add RBE_experimental_credentials_helper_args * chore: whoops we need electron_node/deps/v8 actually * fix: we need electron_node/deps/openssl too * build: load build-tools & xcode * build: add dist, chromedriver & mksnapshot * build: add test job, download artifacts * Cache non-generated build artifacts * chore: set download path explicitly * chore: load-xcode is called by e build * Add codesigning certificate step * Add Test Step * Try without codesigning just to get tests running * Add depot_tools to PATH in test * Persist src/buildtools/mac * chore: use script/yarn test directly * Build Node.js Headers for caching * Add initial matrix for mas build * Fix GN_EXTRA_ARGS generation syntax * Fix BUILD_TYPE interpolation * Use matrix in test correctly * feat: add publish config, alter release-build script * build: force trigger the first workflow * build: oops * Ensure env vars escaped * Move GN_EXTRA_ARGS to gn gen step * chore: rename yml to match convention * ci: fix helperPath calls in action configs * chore: try setting directly * fix: switch to mas config * chore: Testing -> Default * Re-enable darwin build * Use mas JSON config * refactor: extract artifact logic to bash scripts * refactor: build MAS after darwin * chore: move to script/actions * chore: use Node.js 20.11.x * Don't fail-fast in tests * build: tweak release script * build: remove macos-publish.yml * build: change action to trigger on publish workflow dispatch * chore: remove SSH debugging using action-tmate * build: do not disable CircleCI config * chore: switch away from cURL for AzureCLI * chore: move evm.mas.json to .github/workflows/config * chore: remove publish logic from initial build flow * build: add patchup check for non-release builds * build: pin build-tools to sha 2bb63e2 --------- Co-authored-by: Keeley Hammond <vertedinde@electronjs.org> Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
2024-04-24 17:29:19 +00:00
mv_if_exist() {
if [ -f "${GENERATED_ARTIFACTS}/$1" ] || [ -d "${GENERATED_ARTIFACTS}/$1" ]; then
build: add GitHub Actions testing pipeline for macOS (#41812) * build: test the Mac runner space * build: baby steps, super basic checkout * chore: simplify depot-tools * build: try a sync * build: fix path * build: pass different URL for sync * build: gclient sync with --verbose * debug: add logging for mtime cache * build: add psuedocode for Azure workflow, add workflow_dispatch * build: enable ssh access to runners * build: test azure upload without full sync * build: full sync and cache upload test * build (WIP): mock out download logic * build: remove sync, try disk space prune * build: lets try it again, lads * ci: add cache downloading wip * fix: correct json parsing * chore: use depshash and fix output syntax * chore: rework depshash state and delete more * refactor: split checkout to Linux runner * fix: depot_tools get on Linux * fix: add infra/3pp/tools/swift-format handling * chore: move to patch file in build as well * chore: misc cleanup of env steps * chore: add fix sync step * build: use tar file, strip .git dirs * build: set GIT_CACHE_PATH outside of src * ci: fix cache prefix, add check for ssh debug * fix: fix tar pack/unpack * build: add reclient support & ninja build step * chore: clean up reclient round 1 * fix: grab ELECTRON_RBE_JWT from secrets * chore: run tmate if debug logging enabled * chore: move ulimit setting * fix: missing GN gen env vars * fix: workaround packed-refs issue * chore: fixup PATH usage * chore: remove GIT_CACHE env var * fix: call pack refs manually * fix: add RBE_experimental_credentials_helper_args * chore: whoops we need electron_node/deps/v8 actually * fix: we need electron_node/deps/openssl too * build: load build-tools & xcode * build: add dist, chromedriver & mksnapshot * build: add test job, download artifacts * Cache non-generated build artifacts * chore: set download path explicitly * chore: load-xcode is called by e build * Add codesigning certificate step * Add Test Step * Try without codesigning just to get tests running * Add depot_tools to PATH in test * Persist src/buildtools/mac * chore: use script/yarn test directly * Build Node.js Headers for caching * Add initial matrix for mas build * Fix GN_EXTRA_ARGS generation syntax * Fix BUILD_TYPE interpolation * Use matrix in test correctly * feat: add publish config, alter release-build script * build: force trigger the first workflow * build: oops * Ensure env vars escaped * Move GN_EXTRA_ARGS to gn gen step * chore: rename yml to match convention * ci: fix helperPath calls in action configs * chore: try setting directly * fix: switch to mas config * chore: Testing -> Default * Re-enable darwin build * Use mas JSON config * refactor: extract artifact logic to bash scripts * refactor: build MAS after darwin * chore: move to script/actions * chore: use Node.js 20.11.x * Don't fail-fast in tests * build: tweak release script * build: remove macos-publish.yml * build: change action to trigger on publish workflow dispatch * chore: remove SSH debugging using action-tmate * build: do not disable CircleCI config * chore: switch away from cURL for AzureCLI * chore: move evm.mas.json to .github/workflows/config * chore: remove publish logic from initial build flow * build: add patchup check for non-release builds * build: pin build-tools to sha 2bb63e2 --------- Co-authored-by: Keeley Hammond <vertedinde@electronjs.org> Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
2024-04-24 17:29:19 +00:00
echo Restoring $1 to $2
mkdir -p $2
mv $GENERATED_ARTIFACTS/$1 $2
build: add GitHub Actions testing pipeline for macOS (#41812) * build: test the Mac runner space * build: baby steps, super basic checkout * chore: simplify depot-tools * build: try a sync * build: fix path * build: pass different URL for sync * build: gclient sync with --verbose * debug: add logging for mtime cache * build: add psuedocode for Azure workflow, add workflow_dispatch * build: enable ssh access to runners * build: test azure upload without full sync * build: full sync and cache upload test * build (WIP): mock out download logic * build: remove sync, try disk space prune * build: lets try it again, lads * ci: add cache downloading wip * fix: correct json parsing * chore: use depshash and fix output syntax * chore: rework depshash state and delete more * refactor: split checkout to Linux runner * fix: depot_tools get on Linux * fix: add infra/3pp/tools/swift-format handling * chore: move to patch file in build as well * chore: misc cleanup of env steps * chore: add fix sync step * build: use tar file, strip .git dirs * build: set GIT_CACHE_PATH outside of src * ci: fix cache prefix, add check for ssh debug * fix: fix tar pack/unpack * build: add reclient support & ninja build step * chore: clean up reclient round 1 * fix: grab ELECTRON_RBE_JWT from secrets * chore: run tmate if debug logging enabled * chore: move ulimit setting * fix: missing GN gen env vars * fix: workaround packed-refs issue * chore: fixup PATH usage * chore: remove GIT_CACHE env var * fix: call pack refs manually * fix: add RBE_experimental_credentials_helper_args * chore: whoops we need electron_node/deps/v8 actually * fix: we need electron_node/deps/openssl too * build: load build-tools & xcode * build: add dist, chromedriver & mksnapshot * build: add test job, download artifacts * Cache non-generated build artifacts * chore: set download path explicitly * chore: load-xcode is called by e build * Add codesigning certificate step * Add Test Step * Try without codesigning just to get tests running * Add depot_tools to PATH in test * Persist src/buildtools/mac * chore: use script/yarn test directly * Build Node.js Headers for caching * Add initial matrix for mas build * Fix GN_EXTRA_ARGS generation syntax * Fix BUILD_TYPE interpolation * Use matrix in test correctly * feat: add publish config, alter release-build script * build: force trigger the first workflow * build: oops * Ensure env vars escaped * Move GN_EXTRA_ARGS to gn gen step * chore: rename yml to match convention * ci: fix helperPath calls in action configs * chore: try setting directly * fix: switch to mas config * chore: Testing -> Default * Re-enable darwin build * Use mas JSON config * refactor: extract artifact logic to bash scripts * refactor: build MAS after darwin * chore: move to script/actions * chore: use Node.js 20.11.x * Don't fail-fast in tests * build: tweak release script * build: remove macos-publish.yml * build: change action to trigger on publish workflow dispatch * chore: remove SSH debugging using action-tmate * build: do not disable CircleCI config * chore: switch away from cURL for AzureCLI * chore: move evm.mas.json to .github/workflows/config * chore: remove publish logic from initial build flow * build: add patchup check for non-release builds * build: pin build-tools to sha 2bb63e2 --------- Co-authored-by: Keeley Hammond <vertedinde@electronjs.org> Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
2024-04-24 17:29:19 +00:00
else
echo Skipping $1 - It is not present on disk
fi
}
untar_if_exist() {
if [ -f "${SRC_ARTIFACTS}/$1" ] || [ -d "${SRC_ARTIFACTS}/$1" ]; then
echo Restoring $1 to current directory
tar -xf ${SRC_ARTIFACTS}/$1
else
echo Skipping $1 - It is not present on disk
fi
}
echo Restoring artifacts from $GENERATED_ARTIFACTS
# Restore generated artifacts
build: add GitHub Actions testing pipeline for macOS (#41812) * build: test the Mac runner space * build: baby steps, super basic checkout * chore: simplify depot-tools * build: try a sync * build: fix path * build: pass different URL for sync * build: gclient sync with --verbose * debug: add logging for mtime cache * build: add psuedocode for Azure workflow, add workflow_dispatch * build: enable ssh access to runners * build: test azure upload without full sync * build: full sync and cache upload test * build (WIP): mock out download logic * build: remove sync, try disk space prune * build: lets try it again, lads * ci: add cache downloading wip * fix: correct json parsing * chore: use depshash and fix output syntax * chore: rework depshash state and delete more * refactor: split checkout to Linux runner * fix: depot_tools get on Linux * fix: add infra/3pp/tools/swift-format handling * chore: move to patch file in build as well * chore: misc cleanup of env steps * chore: add fix sync step * build: use tar file, strip .git dirs * build: set GIT_CACHE_PATH outside of src * ci: fix cache prefix, add check for ssh debug * fix: fix tar pack/unpack * build: add reclient support & ninja build step * chore: clean up reclient round 1 * fix: grab ELECTRON_RBE_JWT from secrets * chore: run tmate if debug logging enabled * chore: move ulimit setting * fix: missing GN gen env vars * fix: workaround packed-refs issue * chore: fixup PATH usage * chore: remove GIT_CACHE env var * fix: call pack refs manually * fix: add RBE_experimental_credentials_helper_args * chore: whoops we need electron_node/deps/v8 actually * fix: we need electron_node/deps/openssl too * build: load build-tools & xcode * build: add dist, chromedriver & mksnapshot * build: add test job, download artifacts * Cache non-generated build artifacts * chore: set download path explicitly * chore: load-xcode is called by e build * Add codesigning certificate step * Add Test Step * Try without codesigning just to get tests running * Add depot_tools to PATH in test * Persist src/buildtools/mac * chore: use script/yarn test directly * Build Node.js Headers for caching * Add initial matrix for mas build * Fix GN_EXTRA_ARGS generation syntax * Fix BUILD_TYPE interpolation * Use matrix in test correctly * feat: add publish config, alter release-build script * build: force trigger the first workflow * build: oops * Ensure env vars escaped * Move GN_EXTRA_ARGS to gn gen step * chore: rename yml to match convention * ci: fix helperPath calls in action configs * chore: try setting directly * fix: switch to mas config * chore: Testing -> Default * Re-enable darwin build * Use mas JSON config * refactor: extract artifact logic to bash scripts * refactor: build MAS after darwin * chore: move to script/actions * chore: use Node.js 20.11.x * Don't fail-fast in tests * build: tweak release script * build: remove macos-publish.yml * build: change action to trigger on publish workflow dispatch * chore: remove SSH debugging using action-tmate * build: do not disable CircleCI config * chore: switch away from cURL for AzureCLI * chore: move evm.mas.json to .github/workflows/config * chore: remove publish logic from initial build flow * build: add patchup check for non-release builds * build: pin build-tools to sha 2bb63e2 --------- Co-authored-by: Keeley Hammond <vertedinde@electronjs.org> Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
2024-04-24 17:29:19 +00:00
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
echo Restoring artifacts from $SRC_ARTIFACTS
# Restore src artifacts
untar_if_exist src_artifacts.tar