mirror of
https://github.com/ironfox-oss/IronFox.git
synced 2026-06-11 01:34:46 -04:00
75 lines
2.2 KiB
Bash
Executable File
75 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
## This script is expected to be executed in a CI environment, or possibly in our Docker image instance
|
|
## DO NOT execute this manually!
|
|
|
|
set -eu
|
|
set -o pipefail
|
|
set -o xtrace
|
|
|
|
export IRONFOX_CI=1
|
|
|
|
if [[ "${CI_COMMIT_REF_NAME}" == "${PRODUCTION_BRANCH}" ]]; then
|
|
# Target release
|
|
export IRONFOX_RELEASE=1
|
|
fi
|
|
|
|
# Set-up our environment
|
|
if [[ -z "${IRONFOX_SET_ENVS+x}" ]]; then
|
|
bash -x $(dirname $0)/env.sh
|
|
fi
|
|
source $(dirname $0)/env.sh
|
|
|
|
# Include utilities
|
|
source "${IRONFOX_UTILS}"
|
|
|
|
case "${BUILD_VARIANT}" in
|
|
arm64|arm|x86_64|bundle)
|
|
;;
|
|
*)
|
|
echo_red_text "Unknown build variant: '${BUILD_VARIANT}'." >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
# Extract our GeckoView AAR artifacts
|
|
if [ "${BUILD_VARIANT}" == 'bundle' ]; then
|
|
mkdir -vp "${IRONFOX_GECKOVIEW_AAR_ARM64_DIR}"
|
|
mkdir -vp "${IRONFOX_GECKOVIEW_AAR_ARM_DIR}"
|
|
mkdir -vp "${IRONFOX_GECKOVIEW_AAR_X86_64_DIR}"
|
|
|
|
"${IRONFOX_TAR}" xvJf "${IRONFOX_ARTIFACTS}/build-aar-arm64.tar.xz" -C "${IRONFOX_GECKOVIEW_AAR_ARM64_DIR}"
|
|
"${IRONFOX_TAR}" xvJf "${IRONFOX_ARTIFACTS}/build-aar-arm.tar.xz" -C "${IRONFOX_GECKOVIEW_AAR_ARM_DIR}"
|
|
"${IRONFOX_TAR}" xvJf "${IRONFOX_ARTIFACTS}/build-aar-x86_64.tar.xz" -C "${IRONFOX_GECKOVIEW_AAR_X86_64_DIR}"
|
|
fi
|
|
|
|
# Fail-fast in case the signing key is unavailable or empty file
|
|
if ! [[ -f "${IRONFOX_KEYSTORE}" ]]; then
|
|
echo_red_text "ERROR: Keystore file ${IRONFOX_KEYSTORE} does not exist!"
|
|
exit 1
|
|
fi
|
|
|
|
if ! [[ -s "${IRONFOX_KEYSTORE}" ]]; then
|
|
echo_red_text "ERROR: Keystore file ${IRONFOX_KEYSTORE} is empty!"
|
|
exit 1
|
|
fi
|
|
|
|
# Get sources
|
|
bash -x "${IRONFOX_SCRIPTS}/get_sources.sh"
|
|
|
|
# Prepare sources
|
|
bash -x "${IRONFOX_SCRIPTS}/prebuild.sh"
|
|
|
|
# Build
|
|
bash -x "${IRONFOX_SCRIPTS}/build.sh" "${BUILD_VARIANT}"
|
|
|
|
# Copy our GeckoView AAR archives to the artifacts directory for publishing
|
|
mkdir -vp "${IRONFOX_AAR_ARTIFACTS}"
|
|
if [ "${BUILD_VARIANT}" == 'arm64' ]; then
|
|
cp -v "${IRONFOX_OUTPUTS_GECKOVIEW_AAR_ARM64}" "${IRONFOX_AAR_ARTIFACTS}/geckoview-arm64-v8a.zip"
|
|
elif [ "${BUILD_VARIANT}" == 'arm' ]; then
|
|
cp -v "${IRONFOX_OUTPUTS_GECKOVIEW_AAR_ARM}" "${IRONFOX_AAR_ARTIFACTS}/geckoview-armeabi-v7a.zip"
|
|
elif [ "${BUILD_VARIANT}" == 'x86_64' ]; then
|
|
cp -v "${IRONFOX_OUTPUTS_GECKOVIEW_AAR_X86_64}" "${IRONFOX_AAR_ARTIFACTS}/geckoview-x86_64.zip"
|
|
fi
|