build: add Linux GHA test step (#42460)

* build: add Linux GHA test step

* Switch to medium AKS runners

* Add missing BUILD_TYPE to restore-artifact

* Fix untar to current dir

* Remove known hosts logic

* Add missing Node.js headers step

* Fix for active SSH sessions

* Fix storing artifacts

* Build on x64 for test
This commit is contained in:
Shelley Vohr 2024-06-13 14:14:33 -05:00 committed by GitHub
parent 75d0e725be
commit 30885e5f9f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 110 additions and 17 deletions

View file

@ -10,14 +10,16 @@ elif [ "`uname`" == "Linux" ]; then
BUILD_TYPE="linux"
fi
echo Creating generated_artifacts_${BUILD_TYPE}_${TARGET_ARCH}...
rm -rf generated_artifacts_${BUILD_TYPE}_${TARGET_ARCH}
mkdir generated_artifacts_${BUILD_TYPE}_${TARGET_ARCH}
GENERATED_ARTIFACTS="generated_artifacts_${BUILD_TYPE}_${TARGET_ARCH}"
echo Creating $GENERATED_ARTIFACTS...
rm -rf $GENERATED_ARTIFACTS
mkdir $GENERATED_ARTIFACTS
mv_if_exist() {
if [ -f "$1" ] || [ -d "$1" ]; then
echo Storing $1
mv $1 generated_artifacts_${BUILD_TYPE}_${TARGET_ARCH}
mv $1 $GENERATED_ARTIFACTS
else
echo Skipping $1 - It is not present on disk
fi
@ -26,7 +28,7 @@ mv_if_exist() {
cp_if_exist() {
if [ -f "$1" ] || [ -d "$1" ]; then
echo Storing $1
cp $1 generated_artifacts_${BUILD_TYPE}_${TARGET_ARCH}
cp $1 $GENERATED_ARTIFACTS
else
echo Skipping $1 - It is not present on disk
fi
@ -55,12 +57,12 @@ tar_src_dirs_if_exist() {
src/v8/tools/builtins-pgo
do
if [ -d "$dir" ]; then
mkdir -p build_artifacts/$dir
cp -r $dir build_artifacts/$dir
mkdir -p build_artifacts/$(dirname $dir)
cp -r $dir/ build_artifacts/$dir
fi
done
tar -cf build_artifacts.tarbuild_artifacts
tar -C build_artifacts -cf build_artifacts.tar ./
mv_if_exist build_artifacts.tar
}

View file

@ -1,24 +1,38 @@
#!/bin/bash
if [ "`uname`" == "Darwin" ]; then
if [ -z "$MAS_BUILD" ]; then
BUILD_TYPE="darwin"
else
BUILD_TYPE="mas"
fi
elif [ "`uname`" == "Linux" ]; then
BUILD_TYPE="linux"
fi
GENERATED_ARTIFACTS="generated_artifacts_${BUILD_TYPE}_${TARGET_ARCH}"
mv_if_exist() {
if [ -f "generated_artifacts_${BUILD_TYPE}_${TARGET_ARCH}/$1" ] || [ -d "generated_artifacts_${BUILD_TYPE}_${TARGET_ARCH}/$1" ]; then
if [ -f "${GENERATED_ARTIFACTS}/$1" ] || [ -d "${GENERATED_ARTIFACTS}/$1" ]; then
echo Restoring $1 to $2
mkdir -p $2
mv generated_artifacts_${BUILD_TYPE}_${TARGET_ARCH}/$1 $2
mv $GENERATED_ARTIFACTS/$1 $2
else
echo Skipping $1 - It is not present on disk
fi
}
untar_if_exist() {
if [ -f "generated_artifacts_${BUILD_TYPE}_${TARGET_ARCH}/$1" ] || [ -d "generated_artifacts_${BUILD_TYPE}_${TARGET_ARCH}/$1" ]; then
echo Restoring $1 to $2
tar -xf generated_artifacts_${BUILD_TYPE}_${TARGET_ARCH}/$1 $2
if [ -f "${GENERATED_ARTIFACTS}/$1" ] || [ -d "${GENERATED_ARTIFACTS}/$1" ]; then
echo Restoring $1 to current directory
tar -xf ${GENERATED_ARTIFACTS}/$1
else
echo Skipping $1 - It is not present on disk
fi
}
echo Restoring artifacts from $GENERATED_ARTIFACTS
# Restore generated artifacts
mv_if_exist dist.zip src/out/Default
mv_if_exist node_headers.tar.gz src/out/Default/gen
@ -30,4 +44,4 @@ mv_if_exist hunspell_dictionaries.zip src/out/Default
mv_if_exist cross-arch-snapshots src
# Restore build artifacts
untar_if_exist build_artifacts.tar ./
untar_if_exist build_artifacts.tar