OVMS3-idf/make/configure_ci_environment.sh

35 lines
1.1 KiB
Bash

#!/bin/bash
#
# Short script that is sourced in to the CI environment
# in .gitlab-ci.yml
#
# Sets IS_PUBLIC and IS_PRIVATE based on branch type
#
# Tweaks .gitmodules file for private builds
[ -z $CI_COMMIT_REF_NAME ] && echo "This internal script should only be run by a Gitlab CI runner." && exit 1
REF=$CI_COMMIT_REF_NAME
# Public branches are:
# release branches - start with release/
# release tags - look like vXX.YY or vXX.YY.ZZ with an optional dash followed by anything on the end
# master branch
#
# These POSIX REs are equivalent to the REs in some "only:" sections of the gitlab-ci.yml file
#
if [[ $REF = "master" || $REF =~ ^release/v || $REF =~ ^v[0-9]+\.[0-9]+(\.[0-9]+)?(-|$) ]]; then
export IS_PUBLIC=1
else
export IS_PRIVATE=1
fi
unset REF
set -e
if [[ $IS_PRIVATE ]]; then
# Redirect git submodules from public github to our private gitlab server
sed -i "s%https://github.com/espressif/esp32-wifi-lib%${GITLAB_SSH_SERVER}/idf/esp32-wifi-lib%" .gitmodules
sed -i "s%https://github.com/espressif/esp32-bt-lib%${GITLAB_SSH_SERVER}/idf/esp32-bt-lib%" .gitmodules
fi