Merge pull request #184 from BlackDex/add-build-envs

Add build env's
This commit is contained in:
Daniel García 2024-11-05 23:52:45 +01:00 committed by GitHub
commit 2eb331193e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 32 additions and 5 deletions

14
.build_env.template Normal file
View file

@ -0,0 +1,14 @@
# shellcheck disable=SC2034,SC2148
# ###
# Do not use quotes for these variables!
#
# These variables will be loaded during the building process
# This can be useful if you need to provide special variables for NodeJS or other applications
# Make sure you export variables which are used for external scripts, else they will not be seen!
# ###
# Configure NodeJS Virtual Memory Allocation
# NODE_OPTIONS=--max-old-space-size=4096
# export NODE_OPTIONS
# vim: syntax=sh filetype=sh

View file

@ -12,4 +12,4 @@
# GPG_SIGNING_USER=user@domain.tld # GPG_SIGNING_USER=user@domain.tld
# GPG_SIGNING_USER=MY_LONG_UNIQUE_GPG_KEY_IDENTIFIER # GPG_SIGNING_USER=MY_LONG_UNIQUE_GPG_KEY_IDENTIFIER
# vim: syntax=ini # vim: syntax=sh filetype=sh

1
.gitignore vendored
View file

@ -6,6 +6,7 @@ web-vault/
# Other # Other
.env .env
.build_env
.vscode .vscode
# Release files # Release files

View file

@ -35,6 +35,8 @@ WORKDIR /bw_web_builds
COPY patches ./patches COPY patches ./patches
COPY resources ./resources COPY resources ./resources
COPY scripts ./scripts COPY scripts ./scripts
# Use a glob pattern here so builds will continue even if the `.build_env` does not exists
COPY .build_env* ./
RUN ./scripts/checkout_web_vault.sh RUN ./scripts/checkout_web_vault.sh
RUN ./scripts/patch_web_vault.sh RUN ./scripts/patch_web_vault.sh

View file

@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# shellcheck disable=SC2034 # shellcheck disable=SC2034
set -o pipefail -o errexit set -o pipefail -o errexit
ENV_BASEDIR=$(RL=$(readlink -n "$0"); SP="${RL:-$0}"; dirname "$(cd "$(dirname "${SP}")"; pwd)/$(basename "${SP}")")
VAULT_FOLDER=${VAULT_FOLDER:=web-vault} VAULT_FOLDER=${VAULT_FOLDER:=web-vault}
CHECKOUT_TAGS=${CHECKOUT_TAGS:=true} CHECKOUT_TAGS=${CHECKOUT_TAGS:=true}
@ -17,3 +18,11 @@ function get_web_vault_version {
# The extracted tag could start with either `web-`, `desktop-`, `cli-` or `browser-` # The extracted tag could start with either `web-`, `desktop-`, `cli-` or `browser-`
echo "${VAULT_VERSION#*-}" echo "${VAULT_VERSION#*-}"
} }
# Load build environment variables if it exists
if [ -f "${ENV_BASEDIR}/../.build_env" ]; then
# shellcheck source=../.build_env
. "${ENV_BASEDIR}/../.build_env"
fi
unset ENV_BASEDIR

View file

@ -2,15 +2,15 @@
set -o pipefail -o errexit set -o pipefail -o errexit
function replace_embedded_svg_icon() { function replace_embedded_svg_icon() {
if [ ! -f $1 ]; then echo "$1 does not exist"; exit -1; fi if [ ! -f "$1" ]; then echo "$1 does not exist"; exit 255; fi
if [ ! -f $2 ]; then echo "$2 does not exist"; exit -1; fi if [ ! -f "$2" ]; then echo "$2 does not exist"; exit 255; fi
echo "'$1' -> '$2'" echo "'$1' -> '$2'"
first='`$' first='`$'
last='^`' last='^`'
sed -i "/$first/,/$last/{ /$first/{p; r $1 sed -i "/$first/,/$last/{ /$first/{p; r $1
}; /$last/p; d }" $2 }; /$last/p; d }" "$2"
} }
# If a patch was not provided, try to choose one # If a patch was not provided, try to choose one
@ -28,7 +28,7 @@ if [[ -z ${PATCH_NAME} ]]; then
else else
echo "No exact patch file not found, using latest" echo "No exact patch file not found, using latest"
# If not, use the latest one # If not, use the latest one
PATCH_NAME="$(find ../patches/ -type f -print0 | xargs -0 basename -a | sort -V | tail -n1)" PATCH_NAME="$(find ../patches/ -type f -name '*.patch' -print0 | xargs -0 basename -a | sort -V | tail -n1)"
fi fi
fi fi

View file

@ -2,6 +2,7 @@
set -o pipefail -o errexit set -o pipefail -o errexit
BASEDIR=$(RL=$(readlink -n "$0"); SP="${RL:-$0}"; dirname "$(cd "$(dirname "${SP}")"; pwd)/$(basename "${SP}")") BASEDIR=$(RL=$(readlink -n "$0"); SP="${RL:-$0}"; dirname "$(cd "$(dirname "${SP}")"; pwd)/$(basename "${SP}")")
# Error handling
handle_error() { handle_error() {
read -n1 -r -p "FAILED: line $1, exit code $2. Press any key to exit..." _ read -n1 -r -p "FAILED: line $1, exit code $2. Press any key to exit..." _
exit 1 exit 1