Extend commons.sh script

pull/780/head
pabloFuente 2023-03-01 17:54:30 +01:00
parent ffb2a1590c
commit 8db7c53a58
2 changed files with 122 additions and 53 deletions

View File

@ -4,17 +4,30 @@ set -eu -o pipefail
# CI flags # CI flags
GITHUB_ACTIONS_ORIGINAL_WORKING_DIR="${PWD}" GITHUB_ACTIONS_ORIGINAL_WORKING_DIR="${PWD}"
GITHUB_ACTIONS_WORKING_DIR="${GITHUB_ACTIONS_WORKING_DIR:-}" GITHUB_ACTIONS_WORKING_DIR="${GITHUB_ACTIONS_WORKING_DIR:-}"
CLEAN_ENVIRONMENT=false
PREPARE=false PREPARE=false
TEST_IMAGE="openvidu/openvidu-test-e2e" TEST_IMAGE="openvidu/openvidu-test-e2e"
CLEAN_ENVIRONMENT=false
PREPARE_KURENTO_SNAPSHOT=false PREPARE_KURENTO_SNAPSHOT=false
EXECUTE_ALL=false EXECUTE_ALL=false
SERVE_OV_TESTAPP=false
# Build artifacts
BUILD_OV_BROWSER=false BUILD_OV_BROWSER=false
BUILD_OV_NODE_CLIENT=false BUILD_OV_NODE_CLIENT=false
BUILD_OV_JAVA_CLIENT=false BUILD_OV_JAVA_CLIENT=false
BUILD_OV_PARENT=false BUILD_OV_PARENT=false
BUILD_OV_TESTAPP=false BUILD_OV_TESTAPP=false
SERVE_OV_TESTAPP=false
# Bump versions
BUMP_NPM_PROJECT_VERSION=false
BUMP_MAVEN_PROJECT_VERSION=false
BUMP_NPM_DEPENDENCY_VERSION=false
BUMP_MAVEN_DEPENDENCY_VERSION=false
NPM_PROJECT_PATH=""
VERSION=""
# cd to directory if GITHUB_ACTIONS_WORKING_DIR is set # cd to directory if GITHUB_ACTIONS_WORKING_DIR is set
if [[ -n "${GITHUB_ACTIONS_WORKING_DIR:-}" ]]; then if [[ -n "${GITHUB_ACTIONS_WORKING_DIR:-}" ]]; then
@ -23,51 +36,91 @@ fi
# Environment variables # Environment variables
if [[ -n ${1:-} ]]; then if [[ -n ${1:-} ]]; then
while : while :; do
do
case "${1:-}" in case "${1:-}" in
--clean-environment ) --clean-environment)
CLEAN_ENVIRONMENT=true CLEAN_ENVIRONMENT=true
shift 1 shift 1
;; ;;
--prepare ) --prepare)
PREPARE=true PREPARE=true
if [[ -n "${2:-}" ]]; then if [[ -n "${2:-}" ]]; then
TEST_IMAGE="${2}" TEST_IMAGE="${2}"
fi fi
shift 1 shift 1
;; ;;
--prepare-kurento-snapshot ) --prepare-kurento-snapshot)
PREPARE_KURENTO_SNAPSHOT=true PREPARE_KURENTO_SNAPSHOT=true
shift 1 shift 1
;; ;;
--build-openvidu-browser ) --build-openvidu-browser)
BUILD_OV_BROWSER=true BUILD_OV_BROWSER=true
shift 1 shift 1
;; ;;
--build-openvidu-node-client ) --build-openvidu-node-client)
BUILD_OV_NODE_CLIENT=true BUILD_OV_NODE_CLIENT=true
shift 1 shift 1
;; ;;
--build-openvidu-java-client ) --build-openvidu-java-client)
BUILD_OV_JAVA_CLIENT=true BUILD_OV_JAVA_CLIENT=true
shift 1 shift 1
;; ;;
--build-openvidu-parent ) --build-openvidu-parent)
BUILD_OV_PARENT=true BUILD_OV_PARENT=true
shift 1 shift 1
;; ;;
--build-openvidu-testapp ) --build-openvidu-testapp)
BUILD_OV_TESTAPP=true BUILD_OV_TESTAPP=true
shift 1 shift 1
;; ;;
--serve-openvidu-testapp ) --serve-openvidu-testapp)
SERVE_OV_TESTAPP=true SERVE_OV_TESTAPP=true
shift 1 shift 1
;; ;;
*) --bump-npm-project-version)
break if [[ -z "${2:-}" ]]; then
;; echo "Must provide NPM_PROJECT_PATH as 1st parameter" 1>&2
exit 1
fi
if [[ -z "${3:-}" ]]; then
echo "Must provide VERSION as 2nd parameter" 1>&2
exit 1
fi
BUMP_NPM_PROJECT_VERSION=true
NPM_PROJECT_PATH="${2}"
VERSION="${3}"
shift 1
;;
--bump-maven-project-version)
BUMP_MAVEN_PROJECT_VERSION=true
shift 1
;;
--bump-npm-dependency-version)
if [[ -z "${2:-}" ]]; then
echo "Must provide NPM_PROJECT_PATH as 1st parameter" 1>&2
exit 1
fi
if [[ -z "${3:-}" ]]; then
echo "Must provide NPM_DEPENDENCY as 2nd parameter" 1>&2
exit 1
fi
if [[ -z "${4:-}" ]]; then
echo "Must provide VERSION as 3rd parameter" 1>&2
exit 1
fi
BUMP_NPM_DEPENDENCY_VERSION=true
NPM_PROJECT_PATH="${2}"
NPM_DEPENDENCY="${3}"
VERSION="${4}"
shift 1
;;
--bump-maven-dependency-version)
BUMP_MAVEN_DEPENDENCY_VERSION=true
shift 1
;;
*)
break
;;
esac esac
done done
else else
@ -81,8 +134,7 @@ if [[ "${CLEAN_ENVIRONMENT}" == true || "${EXECUTE_ALL}" == true ]]; then
# Remove all running containers except test container and runner container # Remove all running containers except test container and runner container
ids=$(docker ps -a -q) ids=$(docker ps -a -q)
for id in $ids for id in $ids; do
do
DOCKER_IMAGE=$(docker inspect --format='{{.Config.Image}}' $id) DOCKER_IMAGE=$(docker inspect --format='{{.Config.Image}}' $id)
if [[ "${DOCKER_IMAGE}" != *"openvidu/openvidu-test-e2e"* ]] && if [[ "${DOCKER_IMAGE}" != *"openvidu/openvidu-test-e2e"* ]] &&
[[ "${DOCKER_IMAGE}" != *"runner-deployment"* ]] && [[ "${DOCKER_IMAGE}" != *"runner-deployment"* ]] &&
@ -108,7 +160,7 @@ fi
if [[ "${PREPARE}" == true || "${EXECUTE_ALL}" == true ]]; then if [[ "${PREPARE}" == true || "${EXECUTE_ALL}" == true ]]; then
# Connect e2e test container to network bridge so it is vissible for browser and media server containers # Connect e2e test container to network bridge so it is vissible for browser and media server containers
E2E_CONTAINER_ID="$(docker ps | grep "${TEST_IMAGE}":* | awk '{ print $1 }')" E2E_CONTAINER_ID="$(docker ps | grep "${TEST_IMAGE}":* | awk '{ print $1 }')"
docker network connect bridge "${E2E_CONTAINER_ID}" docker network connect bridge "${E2E_CONTAINER_ID}"
@ -147,7 +199,6 @@ if [[ "${PREPARE}" == true || "${EXECUTE_ALL}" == true ]]; then
# Prepare directory for OpenVidu Android apps # Prepare directory for OpenVidu Android apps
sudo mkdir -p /opt/openvidu/android && sudo chmod 777 /opt/openvidu/android sudo mkdir -p /opt/openvidu/android && sudo chmod 777 /opt/openvidu/android
# Configure Snapshots repository # Configure Snapshots repository
if [[ -n "${KURENTO_SNAPSHOTS_URL:-}" ]]; then if [[ -n "${KURENTO_SNAPSHOTS_URL:-}" ]]; then
# Cd to GITHUB_ACTIONS_ORIGINAL_WORKING_DIR only if GITHUB_ACTIONS_WORKING_DIR is set # Cd to GITHUB_ACTIONS_ORIGINAL_WORKING_DIR only if GITHUB_ACTIONS_WORKING_DIR is set
@ -289,6 +340,24 @@ if [[ "${SERVE_OV_TESTAPP}" == true || "${EXECUTE_ALL}" == true ]]; then
# Serve TestApp # Serve TestApp
pushd /opt/openvidu/testapp pushd /opt/openvidu/testapp
http-server -S -p 4200 &> /opt/openvidu/testapp.log & http-server -S -p 4200 &>/opt/openvidu/testapp.log &
popd
fi
# -------------
# Bump NPM project version
# -------------
if [[ "${BUMP_NPM_PROJECT_VERSION}" == true ]]; then
pushd ${NPM_PROJECT_PATH}
npm version ${VERSION} --git-tag-version=false --commit-hooks=false
popd
fi
# -------------
# Bump NPM project dependency
# -------------
if [[ "${BUMP_NPM_DEPENDENCY_VERSION}" == true ]]; then
pushd ${NPM_PROJECT_PATH}
npm install "${NPM_DEPENDENCY}@${VERSION}" --save-exact=true --legacy-peer-deps
popd popd
fi fi

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash -x
VERSION=$1 VERSION=$1
if [[ ! -z $VERSION ]]; then if [[ ! -z $VERSION ]]; then