devops: infra to automate chromium builds (#5347)
This commit is contained in:
parent
32ba29a143
commit
f3a5bba2c4
|
|
@ -66,6 +66,16 @@ elif [[ "$BUILD_FLAVOR" == "ffmpeg-cross-compile-win64" ]]; then
|
||||||
EXPECTED_HOST_OS="Ubuntu"
|
EXPECTED_HOST_OS="Ubuntu"
|
||||||
EXPECTED_HOST_OS_VERSION="20.04"
|
EXPECTED_HOST_OS_VERSION="20.04"
|
||||||
BUILD_BLOB_NAME="ffmpeg-win64.zip"
|
BUILD_BLOB_NAME="ffmpeg-win64.zip"
|
||||||
|
elif [[ "$BUILD_FLAVOR" == "chromium-win32" ]]; then
|
||||||
|
BROWSER_NAME="chromium"
|
||||||
|
EXTRA_BUILD_ARGS="--compile-win32"
|
||||||
|
EXPECTED_HOST_OS="MINGW"
|
||||||
|
BUILD_BLOB_NAME="chromium-win32.zip"
|
||||||
|
elif [[ "$BUILD_FLAVOR" == "chromium-win64" ]]; then
|
||||||
|
BROWSER_NAME="chromium"
|
||||||
|
EXTRA_BUILD_ARGS="--compile-win64"
|
||||||
|
EXPECTED_HOST_OS="MINGW"
|
||||||
|
BUILD_BLOB_NAME="chromium-win64.zip"
|
||||||
elif [[ "$BUILD_FLAVOR" == "chromium-mac" ]]; then
|
elif [[ "$BUILD_FLAVOR" == "chromium-mac" ]]; then
|
||||||
BROWSER_NAME="chromium"
|
BROWSER_NAME="chromium"
|
||||||
EXTRA_BUILD_ARGS="--compile-mac"
|
EXTRA_BUILD_ARGS="--compile-mac"
|
||||||
|
|
|
||||||
|
|
@ -35,10 +35,15 @@ compile_chromium() {
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -d "${SCRIPT_PATH}/depot_tools" ]]; then
|
# install depot_tools if they are not in system
|
||||||
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git "${SCRIPT_PATH}/depot_tools"
|
# NOTE: as of Feb 8, 2021, windows requires manual and separate
|
||||||
|
# installation of depot_tools.
|
||||||
|
if ! command -v autoninja >/dev/null; then
|
||||||
|
if [[ ! -d "${SCRIPT_PATH}/depot_tools" ]]; then
|
||||||
|
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git "${SCRIPT_PATH}/depot_tools"
|
||||||
|
fi
|
||||||
|
export PATH="${SCRIPT_PATH}/depot_tools:$PATH"
|
||||||
fi
|
fi
|
||||||
export PATH="${SCRIPT_PATH}/depot_tools:$PATH"
|
|
||||||
|
|
||||||
CHROMIUM_FOLDER_NAME=""
|
CHROMIUM_FOLDER_NAME=""
|
||||||
CHROMIUM_FILES_TO_ARCHIVE=()
|
CHROMIUM_FILES_TO_ARCHIVE=()
|
||||||
|
|
@ -90,6 +95,32 @@ compile_chromium() {
|
||||||
"xdg-mime"
|
"xdg-mime"
|
||||||
"xdg-settings"
|
"xdg-settings"
|
||||||
)
|
)
|
||||||
|
elif [[ $1 == "--compile-win"* ]]; then
|
||||||
|
CHROMIUM_FOLDER_NAME="chrome-win"
|
||||||
|
CHROMIUM_FILES_TO_ARCHIVE=(
|
||||||
|
"chrome.dll"
|
||||||
|
"chrome.exe"
|
||||||
|
"chrome_100_percent.pak"
|
||||||
|
"chrome_200_percent.pak"
|
||||||
|
"chrome_elf.dll"
|
||||||
|
"chrome_proxy.exe"
|
||||||
|
"chrome_pwa_launcher.exe"
|
||||||
|
"D3DCompiler_47.dll"
|
||||||
|
"elevation_service.exe"
|
||||||
|
"eventlog_provider.dll"
|
||||||
|
"First Run"
|
||||||
|
"icudtl.dat"
|
||||||
|
"libEGL.dll"
|
||||||
|
"libGLESv2.dll"
|
||||||
|
"locales"
|
||||||
|
"MEIPreload"
|
||||||
|
"mojo_core.dll"
|
||||||
|
"nacl_irt_x86_64.nexe"
|
||||||
|
"notification_helper.exe"
|
||||||
|
"resources.pak"
|
||||||
|
"swiftshader"
|
||||||
|
"v8_context_snapshot.bin"
|
||||||
|
)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Get chromium SHA from the build revision.
|
# Get chromium SHA from the build revision.
|
||||||
|
|
@ -128,11 +159,16 @@ EOF
|
||||||
|
|
||||||
if [[ $1 == "--compile-mac-arm64" ]]; then
|
if [[ $1 == "--compile-mac-arm64" ]]; then
|
||||||
echo 'target_cpu = "arm64"' >> ./out/Default/args.gn
|
echo 'target_cpu = "arm64"' >> ./out/Default/args.gn
|
||||||
|
elif [[ $1 == "--compile-win32" ]]; then
|
||||||
|
echo 'target_cpu = "x86"' >> ./out/Default/args.gn
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Compile Chromium with correct Xcode version.
|
if [[ $1 == "--compile-win"* ]]; then
|
||||||
gn gen out/Default
|
/c/Windows/System32/cmd.exe "/c $(cygpath -w ${SCRIPT_PATH}/buildwin.bat)"
|
||||||
autoninja -C out/Default chrome
|
else
|
||||||
|
gn gen out/Default
|
||||||
|
autoninja -C out/Default chrome
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ $1 == "--compile-linux" ]]; then
|
if [[ $1 == "--compile-linux" ]]; then
|
||||||
autoninja -C out/Default chrome_sandbox clear_key_cdm
|
autoninja -C out/Default chrome_sandbox clear_key_cdm
|
||||||
|
|
@ -151,6 +187,10 @@ EOF
|
||||||
for file in ${CHROMIUM_FILES_TO_ARCHIVE[@]}; do
|
for file in ${CHROMIUM_FILES_TO_ARCHIVE[@]}; do
|
||||||
$COPY_COMMAND "${CR_CHECKOUT_PATH}/src/out/Default/${file}" "output/${CHROMIUM_FOLDER_NAME}/${file}"
|
$COPY_COMMAND "${CR_CHECKOUT_PATH}/src/out/Default/${file}" "output/${CHROMIUM_FOLDER_NAME}/${file}"
|
||||||
done
|
done
|
||||||
|
if [[ $1 == "--compile-win"* ]]; then
|
||||||
|
$COPY_COMMAND "${CR_CHECKOUT_PATH}/src/out/Default/"*.manifest "output/${CHROMIUM_FOLDER_NAME}/"
|
||||||
|
fi
|
||||||
|
|
||||||
cd output
|
cd output
|
||||||
zip --symlinks -r build.zip "${CHROMIUM_FOLDER_NAME}"
|
zip --symlinks -r build.zip "${CHROMIUM_FOLDER_NAME}"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
2
browser_patches/chromium/buildwin.bat
Normal file
2
browser_patches/chromium/buildwin.bat
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
CALL gn gen out/Default
|
||||||
|
CALL autoninja -C out/Default chrome
|
||||||
Loading…
Reference in a new issue