OpenVidu V2 Tests #7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: OpenVidu V2 Tests | |
on: | |
push: | |
branches: | |
- v2 | |
paths-ignore: | |
- ".github/workflows/openvidu-components-angular-E2E.yml" | |
- "openvidu-components-angular/**" | |
- "openvidu-server/docker/**" | |
- "openvidu-server/deployments/**" | |
pull_request: | |
branches: | |
- v2 | |
workflow_dispatch: | |
inputs: | |
TEST_IMAGE: | |
description: "Docker image where to run the tests" | |
required: true | |
default: "openvidu/openvidu-test-e2e:22.04" | |
KURENTO_JAVA_COMMIT: | |
description: 'Commit to use in kurento-java dependencies. If "default" the release version declared in property "version.kurento" of openvidu-parent/pom.xml will be used' | |
required: true | |
default: "default" | |
KURENTO_MEDIA_SERVER_IMAGE: | |
description: "Docker image of kurento-media-server" | |
required: true | |
default: "kurento/kurento-media-server:7.0.1" | |
DOCKER_RECORDING_VERSION: | |
description: "Force version of openvidu/openvidu-recording container" | |
required: true | |
default: "default" | |
CHROME_VERSION: | |
description: "Version of Chrome to use. Must be a valid image tag from https://hub.docker.com/r/selenium/standalone-chrome/tags" | |
required: true | |
default: "latest" | |
FIREFOX_VERSION: | |
description: "Version of Firefox to use. Must be a valid image tag from https://hub.docker.com/r/selenium/standalone-firefox/tags" | |
required: true | |
default: "latest" | |
EDGE_VERSION: | |
description: "Version of Edge to use. Must be a valid image tag from https://hub.docker.com/r/selenium/standalone-edge/tags" | |
required: true | |
default: "latest" | |
jobs: | |
main: | |
runs-on: ubuntu-latest | |
container: | |
image: ${{ inputs.TEST_IMAGE || 'openvidu/openvidu-test-e2e:22.04' }} | |
volumes: | |
- /var/run/docker.sock:/var/run/docker.sock | |
- /opt/openvidu:/opt/openvidu | |
env: | |
TEST_IMAGE: ${{ inputs.TEST_IMAGE || 'openvidu/openvidu-test-e2e:22.04' }} | |
KURENTO_SNAPSHOTS_URL: ${{ secrets.KURENTO_SNAPSHOTS_URL }} | |
KURENTO_MEDIA_SERVER_IMAGE: ${{ inputs.KURENTO_MEDIA_SERVER_IMAGE || 'kurento/kurento-media-server:7.0.1' }} | |
KURENTO_JAVA_COMMIT: ${{ inputs.KURENTO_JAVA_COMMIT || 'default' }} | |
DOCKER_RECORDING_VERSION: ${{ inputs.DOCKER_RECORDING_VERSION || 'default' }} | |
CHROME_VERSION: ${{ inputs.CHROME_VERSION || 'latest' }} | |
FIREFOX_VERSION: ${{ inputs.FIREFOX_VERSION || 'latest' }} | |
EDGE_VERSION: ${{ inputs.EDGE_VERSION || 'latest' }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
ref: v2 | |
- name: Setup scripts | |
run: | | |
curl -sOJ --output-dir /opt https://raw.githubusercontent.com/OpenVidu/openvidu/v2/ci-scripts/commons/build.sh | |
curl -sOJ --output-dir /opt https://raw.githubusercontent.com/OpenVidu/openvidu/v2/ci-scripts/commons/test-utils.sh | |
cp ci-scripts/openvidu-e2e-tests.sh /opt/openvidu-e2e-tests.sh | |
find /opt/*.sh -type f -print0 | xargs -0 chmod u+x | |
- name: Clean environment | |
run: /opt/build.sh --clean-environment | |
- name: Prepare test environment | |
run: /opt/test-utils.sh --prepare-test-environment "${TEST_IMAGE}" | |
- name: Check and prepare kurento snapshots | |
run: /opt/build.sh --check-and-prepare-kurento-snapshot | |
- name: Use specific kurento-java commit | |
if: ${{ env.KURENTO_JAVA_COMMIT != 'default'}} | |
run: /opt/test-utils.sh --use-specific-kurento-java-commit | |
- name: Build openvidu-browser | |
run: /opt/build.sh --build-openvidu-browser | |
- name: Build openvidu-node-client | |
run: /opt/build.sh --build-openvidu-node-client | |
- name: Build openvidu-java-client | |
run: /opt/build.sh --build-openvidu-java-client | |
- name: Build openvidu-parent | |
run: /opt/build.sh --build-openvidu-parent | |
- name: Build openvidu-testapp | |
run: /opt/build.sh --build-openvidu-testapp | |
- name: Build openvidu-server dashboard | |
run: /opt/build.sh --build-openvidu-server-dashboard true | |
- name: Build openvidu-server | |
run: /opt/build.sh --build-openvidu-server | |
- name: openvidu-server unit tests | |
run: /opt/openvidu-e2e-tests.sh --openvidu-server-unit-tests | |
- name: openvidu-server integration tests | |
run: /opt/openvidu-e2e-tests.sh --openvidu-server-integration-tests | |
- name: Environment launch Kurento | |
run: /opt/openvidu-e2e-tests.sh --environment-launch-kurento | |
- name: Serve openvidu-testapp | |
run: /opt/test-utils.sh --serve-openvidu-testapp | |
- name: OpenVidu E2E Tests Kurento | |
run: /opt/openvidu-e2e-tests.sh --openvidu-e2e-tests-kurento | |
- name: Test reports | |
uses: mikepenz/action-junit-report@v3 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: "**/target/surefire-reports/TEST-*.xml" | |
- name: Upload logs | |
uses: actions/upload-artifact@v3 | |
if: always() # always run even if the previous step fails | |
with: | |
name: Logs | |
path: | | |
/opt/openvidu/*.log |