mirror of https://github.com/OpenVidu/openvidu.git
ci-scripts: update workflow to refactoring
parent
4e3f241c13
commit
7d56ebfc77
|
@ -69,22 +69,26 @@ jobs:
|
|||
EDGE_VERSION: ${{ github.event.inputs.EDGE_VERSION || 'latest' }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Download commons.sh script
|
||||
run: curl -s https://raw.githubusercontent.com/OpenVidu/openvidu/master/ci-scripts/commons.sh -o /opt/commons.sh && chmod u+x /opt/commons.sh
|
||||
- name: Clean environment
|
||||
run: /opt/commons.sh --clean-environment
|
||||
- name: Setting up CI
|
||||
run: ci-scripts/commons.sh --prepare openvidu/openvidu-test-e2e
|
||||
- name: Prepare Kurento Snapshots
|
||||
run: ci-scripts/commons.sh --prepare-kurento-snapshot
|
||||
- name: OpenVidu Browser build
|
||||
run: ci-scripts/commons.sh --build-openvidu-browser
|
||||
- name: OpenVidu Node Client build
|
||||
run: ci-scripts/commons.sh --build-openvidu-node-client
|
||||
- name: OpenVidu Java Client build
|
||||
run: ci-scripts/commons.sh --build-openvidu-java-client
|
||||
- name: OpenVidu Server pre-build
|
||||
run: ci-scripts/commons.sh --build-openvidu-parent
|
||||
- name: OpenVidu TestApp build
|
||||
run: ci-scripts/commons.sh --build-openvidu-testapp
|
||||
run: /opt/commons.sh --prepare-test-environment openvidu/openvidu-test-e2e
|
||||
- name: Setting up Kurento Snapshots
|
||||
run: /opt/commons.sh --prepare-kurento-snapshot
|
||||
- name: Build OpenVidu Browser
|
||||
run: cd openvidu && /opt/commons.sh --build-openvidu-browser
|
||||
- name: Build Openvidu Node Client
|
||||
run: cd openvidu && /opt/commons.sh --build-openvidu-node-client
|
||||
- name: Build Openvidu Java Client
|
||||
run: cd openvidu && /opt/commons.sh --build-openvidu-java-client
|
||||
- name: Build Openvidu Parent
|
||||
run: cd openvidu && /opt/commons.sh --build-openvidu-parent
|
||||
- name: Build Openvidu Testapp
|
||||
run: cd openvidu && /opt/commons.sh --build-openvidu-testapp
|
||||
- name: OpenVidu Server dashboard build
|
||||
run: ci-scripts/openvidu-e2e-tests.sh --build-dashboard
|
||||
run: cd openvidu && /opt/commons.sh --build-openvidu-server-dashboard
|
||||
- name: OpenVidu Server unit tests
|
||||
run: ci-scripts/openvidu-e2e-tests.sh --openvidu-server-unit-tests
|
||||
- name: OpenVidu Server integration tests
|
||||
|
@ -92,11 +96,11 @@ jobs:
|
|||
- name: OpenVidu Server E2E build tests
|
||||
run: ci-scripts/openvidu-e2e-tests.sh --openvidu-test-e2e-build
|
||||
- name: OpenVidu Server Build
|
||||
run: ci-scripts/openvidu-e2e-tests.sh --openvidu-server-build
|
||||
run: cd openvidu && /opt/commons.sh --build-openvidu-server
|
||||
- name: Environment launch Kurento
|
||||
run: ci-scripts/openvidu-e2e-tests.sh --environment-launch-kurento
|
||||
- name: Serve Testapp
|
||||
run: ci-scripts/commons.sh --serve-openvidu-testapp
|
||||
run: cd openvidu && /opt/commons.sh --serve-openvidu-testapp
|
||||
- name: OpenVidu E2E Tests Kurento
|
||||
run: ci-scripts/openvidu-e2e-tests.sh --openvidu-e2e-tests-kurento
|
||||
- name: Test reports
|
||||
|
|
|
@ -1,11 +1,16 @@
|
|||
#!/bin/bash -x
|
||||
set -eu -o pipefail
|
||||
|
||||
################################################################
|
||||
# Any functions offered by this file assume that the path is #
|
||||
# located where the first command of each function requires it #
|
||||
################################################################
|
||||
|
||||
# CI flags
|
||||
GITHUB_ACTIONS_ORIGINAL_WORKING_DIR="${PWD}"
|
||||
GITHUB_ACTIONS_WORKING_DIR="${GITHUB_ACTIONS_WORKING_DIR:-}"
|
||||
|
||||
PREPARE=false
|
||||
PREPARE_TEST_ENVIRONMENT=false
|
||||
TEST_IMAGE="openvidu/openvidu-test-e2e"
|
||||
|
||||
CLEAN_ENVIRONMENT=false
|
||||
|
@ -19,6 +24,11 @@ BUILD_OV_NODE_CLIENT=false
|
|||
BUILD_OV_JAVA_CLIENT=false
|
||||
BUILD_OV_PARENT=false
|
||||
BUILD_OV_TESTAPP=false
|
||||
BUILD_OV_SERVER_DASHBOARD=false
|
||||
BUILD_OV_SERVER=false
|
||||
BUILD_OV_SERVER_DEPENDENCY=false
|
||||
BUILD_OV_SERVER_PRO_INSPECTOR=false
|
||||
BUILD_OV_SERVER_PRO=false
|
||||
|
||||
# Bump versions
|
||||
BUMP_NPM_PROJECT_VERSION=false
|
||||
|
@ -33,9 +43,9 @@ BUMP_APPLICATION_PROPERTIES_VAR_VALUE=false
|
|||
WAIT_FOR_NPM_DEPENDENCY=false
|
||||
|
||||
# cd to directory if GITHUB_ACTIONS_WORKING_DIR is set
|
||||
if [[ -n "${GITHUB_ACTIONS_WORKING_DIR:-}" ]]; then
|
||||
cd "${GITHUB_ACTIONS_WORKING_DIR}"
|
||||
fi
|
||||
# if [[ -n "${GITHUB_ACTIONS_WORKING_DIR:-}" ]]; then
|
||||
# cd "${GITHUB_ACTIONS_WORKING_DIR}"
|
||||
# fi
|
||||
|
||||
# Environment variables
|
||||
if [[ -n ${1:-} ]]; then
|
||||
|
@ -47,8 +57,8 @@ if [[ -n ${1:-} ]]; then
|
|||
shift 1
|
||||
;;
|
||||
|
||||
--prepare)
|
||||
PREPARE=true
|
||||
--prepare-test-environment)
|
||||
PREPARE_TEST_ENVIRONMENT=true
|
||||
if [[ -n "${2:-}" ]]; then
|
||||
TEST_IMAGE="${2}"
|
||||
fi
|
||||
|
@ -85,6 +95,31 @@ if [[ -n ${1:-} ]]; then
|
|||
shift 1
|
||||
;;
|
||||
|
||||
--build-openvidu-server-dashboard)
|
||||
BUILD_OV_SERVER_DASHBOARD=true
|
||||
shift 1
|
||||
;;
|
||||
|
||||
--build-openvidu-server)
|
||||
BUILD_OV_SERVER=true
|
||||
shift 1
|
||||
;;
|
||||
|
||||
--build-openvidu-server-dependency)
|
||||
BUILD_OV_SERVER_DEPENDENCY=true
|
||||
shift 1
|
||||
;;
|
||||
|
||||
--build-openvidu-server-pro-inspector)
|
||||
BUILD_OV_SERVER_PRO_INSPECTOR=true
|
||||
shift 1
|
||||
;;
|
||||
|
||||
--build-openvidu-server-pro)
|
||||
BUILD_OV_SERVER_PRO=true
|
||||
shift 1
|
||||
;;
|
||||
|
||||
--serve-openvidu-testapp)
|
||||
SERVE_OV_TESTAPP=true
|
||||
shift 1
|
||||
|
@ -92,71 +127,51 @@ if [[ -n ${1:-} ]]; then
|
|||
|
||||
--bump-npm-project-version)
|
||||
if [[ -z "${2:-}" ]]; then
|
||||
echo "Must provide PROJECT_PATH as 1st parameter" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
if [[ -z "${3:-}" ]]; then
|
||||
echo "Must provide VERSION as 2nd parameter" 1>&2
|
||||
echo "Must provide VERSION as 1st parameter" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
BUMP_NPM_PROJECT_VERSION=true
|
||||
PROJECT_PATH="${2}"
|
||||
VERSION="${3}"
|
||||
VERSION="${2}"
|
||||
shift 1
|
||||
;;
|
||||
|
||||
--bump-npm-dependency-version)
|
||||
if [[ -z "${2:-}" ]]; then
|
||||
echo "Must provide PROJECT_PATH as 1st parameter" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
if [[ -z "${3:-}" ]]; then
|
||||
echo "Must provide 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
|
||||
PROJECT_PATH="${2}"
|
||||
DEPENDENCY="${3}"
|
||||
VERSION="${4}"
|
||||
shift 1
|
||||
;;
|
||||
|
||||
--bump-maven-project-version)
|
||||
if [[ -z "${2:-}" ]]; then
|
||||
echo "Must provide PROJECT_PATH as 1st parameter" 1>&2
|
||||
echo "Must provide DEPENDENCY 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_MAVEN_PROJECT_VERSION=true
|
||||
PROJECT_PATH="${2}"
|
||||
BUMP_NPM_DEPENDENCY_VERSION=true
|
||||
DEPENDENCY="${2}"
|
||||
VERSION="${3}"
|
||||
shift 1
|
||||
;;
|
||||
|
||||
--bump-maven-project-version)
|
||||
if [[ -z "${2:-}" ]]; then
|
||||
echo "Must provide VERSION as 1st parameter" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
BUMP_MAVEN_PROJECT_VERSION=true
|
||||
VERSION="${2}"
|
||||
shift 1
|
||||
;;
|
||||
|
||||
--bump-maven-property-version)
|
||||
if [[ -z "${2:-}" ]]; then
|
||||
echo "Must provide PROJECT_PATH as 1st parameter" 1>&2
|
||||
echo "Must provide PROPERTY as 1st parameter" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
if [[ -z "${3:-}" ]]; then
|
||||
echo "Must provide PROPERTY as 2nd parameter" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
if [[ -z "${4:-}" ]]; then
|
||||
echo "Must provide VERSION as 3rd parameter" 1>&2
|
||||
echo "Must provide VERSION as 2nd parameter" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
BUMP_MAVEN_PROPERTY_VERSION=true
|
||||
PROJECT_PATH="${2}"
|
||||
PROPERTY="${3}"
|
||||
VERSION="${4}"
|
||||
PROPERTY="${2}"
|
||||
VERSION="${3}"
|
||||
shift 1
|
||||
;;
|
||||
|
||||
|
@ -201,27 +216,22 @@ if [[ -n ${1:-} ]]; then
|
|||
;;
|
||||
|
||||
--bump-docker-image-version-in-files)
|
||||
if [[ -z "${2:-}" ]]; then
|
||||
echo "Must provide PROJECT_PATH as 1st parameter" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
if [[ -z "${3:-}" ]]; then
|
||||
echo "Must provide FILE_NAME as 2nd parameter" 1>&2
|
||||
echo "Must provide FILE_NAME_PATTERN as 1st parameter" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
if [[ -z "${4:-}" ]]; then
|
||||
echo "Must provide IMAGE as 3rd parameter" 1>&2
|
||||
echo "Must provide IMAGE as 2nd parameter" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
if [[ -z "${4:-}" ]]; then
|
||||
echo "Must provide VERSION as 4th parameter" 1>&2
|
||||
echo "Must provide VERSION as 3rd parameter" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
BUMP_DOCKER_IMAGE_VERSION_IN_FILES=true
|
||||
PROJECT_PATH="${2}"
|
||||
FILE_NAME="${3}"
|
||||
IMAGE="${4}"
|
||||
VERSION="${5}"
|
||||
FILE_NAME_PATTERN="${2}"
|
||||
IMAGE="${3}"
|
||||
VERSION="${4}"
|
||||
shift 1
|
||||
;;
|
||||
|
||||
|
@ -310,7 +320,7 @@ fi
|
|||
# -------------
|
||||
# Prepare build
|
||||
# -------------
|
||||
if [[ "${PREPARE}" == true || "${EXECUTE_ALL}" == true ]]; then
|
||||
if [[ "${PREPARE_TEST_ENVIRONMENT}" == true || "${EXECUTE_ALL}" == true ]]; then
|
||||
|
||||
# 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 }')"
|
||||
|
@ -432,7 +442,8 @@ if [[ "${BUILD_OV_BROWSER}" == true || "${EXECUTE_ALL}" == true ]]; then
|
|||
npm install
|
||||
npm run build
|
||||
npm link
|
||||
npm pack && mv openvidu-browser-*.tgz /opt/openvidu/.
|
||||
npm pack
|
||||
mv openvidu-browser-*.tgz /opt/openvidu
|
||||
popd
|
||||
fi
|
||||
|
||||
|
@ -444,7 +455,8 @@ if [[ "${BUILD_OV_NODE_CLIENT}" == true || "${EXECUTE_ALL}" == true ]]; then
|
|||
npm install
|
||||
npm run build
|
||||
npm link
|
||||
npm pack && mv openvidu-node-client-*.tgz /opt/openvidu/.
|
||||
npm pack
|
||||
mv openvidu-node-client-*.tgz /opt/openvidu
|
||||
popd
|
||||
fi
|
||||
|
||||
|
@ -481,6 +493,57 @@ if [[ "${BUILD_OV_TESTAPP}" == true || "${EXECUTE_ALL}" == true ]]; then
|
|||
popd
|
||||
fi
|
||||
|
||||
# -------------
|
||||
# OpenVidu Server dashboard build
|
||||
# -------------
|
||||
if [[ "${BUILD_OV_SERVER_DASHBOARD}" == true || "${EXECUTE_ALL}" == true ]]; then
|
||||
pushd openvidu-server/src/dashboard
|
||||
npm install
|
||||
npm link openvidu-browser openvidu-node-client
|
||||
npm run build-prod
|
||||
popd
|
||||
fi
|
||||
|
||||
# -------------
|
||||
# OpenVidu Server build
|
||||
# -------------
|
||||
if [[ "${BUILD_OV_SERVER}" == true || "${EXECUTE_ALL}" == true ]]; then
|
||||
pushd openvidu-server
|
||||
mvn -B -DskipTests=true package
|
||||
mv target/openvidu-server*.jar /opt/openvidu
|
||||
popd
|
||||
fi
|
||||
|
||||
# -------------
|
||||
# OpenVidu Server dependency build
|
||||
# -------------
|
||||
if [[ "${BUILD_OV_SERVER_DEPENDENCY}" == true || "${EXECUTE_ALL}" == true ]]; then
|
||||
pushd openvidu-server
|
||||
mvn -B -DskipTests=true -Pdependency clean install
|
||||
popd
|
||||
fi
|
||||
|
||||
# -------------
|
||||
# OpenVidu Server PRO Inspector build
|
||||
# -------------
|
||||
if [[ "${BUILD_OV_SERVER_PRO_INSPECTOR}" == true || "${EXECUTE_ALL}" == true ]]; then
|
||||
pushd dashboard
|
||||
npm install
|
||||
npm link openvidu-browser openvidu-node-client
|
||||
npm run build-server-prod
|
||||
popd
|
||||
fi
|
||||
|
||||
# -------------
|
||||
# OpenVidu Server PRO build
|
||||
# -------------
|
||||
if [[ "${BUILD_OV_SERVER_PRO}" == true || "${EXECUTE_ALL}" == true ]]; then
|
||||
pushd openvidu-server-pro
|
||||
mvn -B -DskipTests=true clean package
|
||||
mv target/openvidu-server-pro-*.jar /opt/openvidu
|
||||
popd
|
||||
fi
|
||||
|
||||
# -------------
|
||||
# Serve OpenVidu TestApp
|
||||
# -------------
|
||||
|
@ -501,28 +564,22 @@ fi
|
|||
# Bump NPM project version
|
||||
# -------------
|
||||
if [[ "${BUMP_NPM_PROJECT_VERSION}" == true ]]; then
|
||||
pushd ${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 ${PROJECT_PATH}
|
||||
tmp=$(mktemp) && jq -j ".dependencies.\"${DEPENDENCY}\" = \"${VERSION}\"" package.json >"$tmp" && mv "$tmp" package.json
|
||||
# npm install "${DEPENDENCY}@${VERSION}" --save-exact=true --legacy-peer-deps
|
||||
popd
|
||||
fi
|
||||
|
||||
# -------------
|
||||
# Bump Maven project version
|
||||
# -------------
|
||||
if [[ "${BUMP_MAVEN_PROJECT_VERSION}" == true ]]; then
|
||||
pushd ${PROJECT_PATH}
|
||||
mvn -DskipTests=true versions:set -DnewVersion="${VERSION}"
|
||||
popd
|
||||
fi
|
||||
|
||||
# -------------
|
||||
|
@ -536,14 +593,12 @@ if [[ "${BUMP_MAVEN_PROPERTY_VERSION}" == true ]]; then
|
|||
echo "${OPENVIDU_MAVEN_GENERIC_SETTINGS}" >/tmp/maven-generic-settings/settings.xml
|
||||
fi
|
||||
|
||||
pushd ${PROJECT_PATH}
|
||||
mvn --batch-mode \
|
||||
--settings /tmp/maven-generic-settings/settings.xml \
|
||||
-DskipTests=true \
|
||||
versions:set-property \
|
||||
-Dproperty="${PROPERTY}" \
|
||||
-DnewVersion="${VERSION}"
|
||||
popd
|
||||
fi
|
||||
|
||||
# -------------
|
||||
|
@ -566,9 +621,7 @@ fi
|
|||
# Bump Docker image version in files
|
||||
# -------------
|
||||
if [[ "${BUMP_DOCKER_IMAGE_VERSION_IN_FILES}" == true ]]; then
|
||||
pushd ${PROJECT_PATH}
|
||||
find . -type f -name ${FILE_NAME} | xargs sed -i -r "s|${IMAGE}:[[:alnum:]._-]+|${IMAGE}:${VERSION}|g"
|
||||
popd
|
||||
find . -type f -name ${FILE_NAME_PATTERN} | xargs sed -i -r "s|${IMAGE}:[[:alnum:]._-]+|${IMAGE}:${VERSION}|g"
|
||||
fi
|
||||
|
||||
# -------------
|
||||
|
|
|
@ -2,11 +2,9 @@
|
|||
set -eu -o pipefail
|
||||
|
||||
# Ci flags
|
||||
BUILD_OV_DASHBOARD=false
|
||||
OV_INTEGRATION_TESTS=false
|
||||
OV_UNIT_TESTS=false
|
||||
OV_E2E_TESTS_BUILD=false
|
||||
OV_SERVER_BUILD=false
|
||||
LAUNCH_OV_KURENTO=false
|
||||
OV_E2E_KURENTO=false
|
||||
LAUNCH_OV_MEDIASOUP=false
|
||||
|
@ -164,10 +162,6 @@ if [[ -n ${1:-} ]]; then
|
|||
while :
|
||||
do
|
||||
case "${1:-}" in
|
||||
--build-dashboard )
|
||||
BUILD_OV_DASHBOARD=true
|
||||
shift 1
|
||||
;;
|
||||
--openvidu-server-unit-tests )
|
||||
OV_UNIT_TESTS=true
|
||||
shift 1
|
||||
|
@ -180,10 +174,6 @@ if [[ -n ${1:-} ]]; then
|
|||
OV_E2E_TESTS_BUILD=true
|
||||
shift 1
|
||||
;;
|
||||
--openvidu-server-build )
|
||||
OV_SERVER_BUILD=true
|
||||
shift 1
|
||||
;;
|
||||
--environment-launch-kurento )
|
||||
LAUNCH_OV_KURENTO=true
|
||||
shift 1
|
||||
|
@ -196,7 +186,7 @@ if [[ -n ${1:-} ]]; then
|
|||
LAUNCH_OV_MEDIASOUP=true
|
||||
shift 1
|
||||
;;
|
||||
--openvidu-e2e-test-mediasoup )
|
||||
--openvidu-e2e-tests-mediasoup )
|
||||
OV_E2E_MEDIASOUP=true
|
||||
shift 1
|
||||
;;
|
||||
|
@ -209,17 +199,6 @@ else
|
|||
EXECUTE_ALL=true
|
||||
fi
|
||||
|
||||
# -------------
|
||||
# OpenVidu Dashboard build
|
||||
# -------------
|
||||
if [[ "${BUILD_OV_DASHBOARD}" == true || "${EXECUTE_ALL}" == true ]]; then
|
||||
pushd openvidu-server/src/dashboard
|
||||
npm install
|
||||
npm link openvidu-browser openvidu-node-client
|
||||
npm run build-prod
|
||||
popd
|
||||
fi
|
||||
|
||||
# -------------
|
||||
# OpenVidu Unit tests
|
||||
# -------------
|
||||
|
@ -252,16 +231,6 @@ if [[ "${OV_E2E_TESTS_BUILD}" == true || "${EXECUTE_ALL}" == true ]]; then
|
|||
popd
|
||||
fi
|
||||
|
||||
# -------------
|
||||
# OpenVidu Server build
|
||||
# -------------
|
||||
if [[ "${OV_SERVER_BUILD}" == true || "${EXECUTE_ALL}" == true ]]; then
|
||||
pushd openvidu-server
|
||||
mvn -B -DskipTests=true package
|
||||
cp target/openvidu-server*.jar /opt/openvidu
|
||||
popd
|
||||
fi
|
||||
|
||||
# -------------
|
||||
# Environment launch Kurento
|
||||
# -------------
|
||||
|
|
Loading…
Reference in New Issue