mirror of https://github.com/OpenVidu/openvidu.git
114 lines
5.0 KiB
YAML
114 lines
5.0 KiB
YAML
name: OpenVidu CE Tests
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths-ignore:
|
|
- ".github/workflows/openvidu-components-angular-E2E.yml"
|
|
- "openvidu-components-angular/**"
|
|
- "openvidu-server/docker/**"
|
|
- "openvidu-server/deployments/**"
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
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
|
|
- name: Setup scripts
|
|
run: |
|
|
curl -sOJ --output-dir /opt https://raw.githubusercontent.com/OpenVidu/openvidu/master/ci-scripts/commons/build.sh
|
|
curl -sOJ --output-dir /opt https://raw.githubusercontent.com/OpenVidu/openvidu/master/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
|