name: Backend Integration Tests on: [push, pull_request] jobs: test-rooms: name: Rooms API Tests runs-on: ov-actions-runner steps: - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Setup yarn # Needed for the redlock package run: npm install -g yarn - name: Install wait-on run: npm install -g wait-on - name: Install LK CLI run: curl -sSL https://get.livekit.io/cli | bash - name: Checkout OpenVidu Meet uses: actions/checkout@v4 - name: Setup OpenVidu Local Deployment uses: ./.github/actions/setup-local-deployment - name: Setup OpenVidu Meet uses: ./.github/actions/setup-openvidu-meet - name: Run tests run: | cd backend npm run test:integration-rooms env: JEST_JUNIT_OUTPUT_DIR: './reports/' - name: Publish Test Report uses: mikepenz/action-junit-report@v4 if: always() with: report_paths: '**/reports/junit.xml' fail_on_failure: true require_tests: true - name: Clean up if: always() uses: ./.github/actions/cleanup test-recordings: name: Recordings API Tests runs-on: ov-actions-runner if: false steps: - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Setup yarn # Needed for the redlock package run: npm install -g yarn - name: Install wait-on run: npm install -g wait-on - name: Install LK CLI run: curl -sSL https://get.livekit.io/cli | bash - name: Checkout OpenVidu Meet uses: actions/checkout@v4 - name: Setup OpenVidu Local Deployment uses: ./.github/actions/setup-local-deployment - name: Setup OpenVidu Meet uses: ./.github/actions/setup-openvidu-meet - name: Run tests run: | cd backend npm run test:integration-recordings env: JEST_JUNIT_OUTPUT_DIR: './reports/' - name: Publish Test Report uses: mikepenz/action-junit-report@v4 if: always() with: report_paths: '**/reports/junit.xml' fail_on_failure: true require_tests: true - name: Clean up if: always() uses: ./.github/actions/cleanup test-webhooks: name: Webhook Tests runs-on: ov-actions-runner steps: - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Setup yarn # Needed for the redlock package run: npm install -g yarn - name: Install wait-on run: npm install -g wait-on - name: Install LK CLI run: curl -sSL https://get.livekit.io/cli | bash - name: Checkout OpenVidu Meet uses: actions/checkout@v4 - name: Setup OpenVidu Local Deployment uses: ./.github/actions/setup-local-deployment - name: Setup OpenVidu Meet uses: ./.github/actions/setup-openvidu-meet - name: Run tests run: | cd backend npm run test:integration-webhooks env: JEST_JUNIT_OUTPUT_DIR: './reports/' - name: Publish Test Report uses: mikepenz/action-junit-report@v4 if: always() with: report_paths: '**/reports/junit.xml' fail_on_failure: true require_tests: true - name: Clean up if: always() uses: ./.github/actions/cleanup test-security: name: Security API Tests runs-on: ov-actions-runner steps: - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Setup yarn # Needed for the redlock package run: npm install -g yarn - name: Install wait-on run: npm install -g wait-on - name: Install LK CLI run: curl -sSL https://get.livekit.io/cli | bash - name: Checkout OpenVidu Meet uses: actions/checkout@v4 - name: Setup OpenVidu Local Deployment uses: ./.github/actions/setup-local-deployment - name: Setup OpenVidu Meet uses: ./.github/actions/setup-openvidu-meet - name: Run tests run: | cd backend npm run test:integration-security env: JEST_JUNIT_OUTPUT_DIR: './reports/' - name: Publish Test Report uses: mikepenz/action-junit-report@v4 if: always() with: report_paths: '**/reports/junit.xml' fail_on_failure: true require_tests: true - name: Clean up if: always() uses: ./.github/actions/cleanup test-global-preferences: name: Global Preferences API Tests runs-on: ov-actions-runner steps: - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Setup yarn # Needed for the redlock package run: npm install -g yarn - name: Install wait-on run: npm install -g wait-on - name: Install LK CLI run: curl -sSL https://get.livekit.io/cli | bash - name: Checkout OpenVidu Meet uses: actions/checkout@v4 - name: Setup OpenVidu Local Deployment uses: ./.github/actions/setup-local-deployment - name: Setup OpenVidu Meet uses: ./.github/actions/setup-openvidu-meet - name: Run tests run: | cd backend npm run test:integration-global-preferences env: JEST_JUNIT_OUTPUT_DIR: './reports/' - name: Publish Test Report uses: mikepenz/action-junit-report@v4 if: always() with: report_paths: '**/reports/junit.xml' fail_on_failure: true require_tests: true - name: Clean up if: always() uses: ./.github/actions/cleanup test-participants: name: Participants API Tests runs-on: ov-actions-runner steps: - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Setup yarn # Needed for the redlock package run: npm install -g yarn - name: Install wait-on run: npm install -g wait-on - name: Install LK CLI run: curl -sSL https://get.livekit.io/cli | bash - name: Checkout OpenVidu Meet uses: actions/checkout@v4 - name: Setup OpenVidu Local Deployment uses: ./.github/actions/setup-local-deployment - name: Setup OpenVidu Meet uses: ./.github/actions/setup-openvidu-meet - name: Run tests run: | cd backend npm run test:integration-participants env: JEST_JUNIT_OUTPUT_DIR: './reports/' - name: Publish Test Report uses: mikepenz/action-junit-report@v4 if: always() with: report_paths: '**/reports/junit.xml' fail_on_failure: true require_tests: true - name: Clean up if: always() uses: ./.github/actions/cleanup test-meetings: name: Meetings API Tests runs-on: ov-actions-runner steps: - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Setup yarn # Needed for the redlock package run: npm install -g yarn - name: Install wait-on run: npm install -g wait-on - name: Install LK CLI run: curl -sSL https://get.livekit.io/cli | bash - name: Checkout OpenVidu Meet uses: actions/checkout@v4 - name: Setup OpenVidu Local Deployment uses: ./.github/actions/setup-local-deployment - name: Setup OpenVidu Meet uses: ./.github/actions/setup-openvidu-meet - name: Run tests run: | cd backend npm run test:integration-meetings env: JEST_JUNIT_OUTPUT_DIR: './reports/' - name: Publish Test Report uses: mikepenz/action-junit-report@v4 if: always() with: report_paths: '**/reports/junit.xml' fail_on_failure: true require_tests: true - name: Clean up if: always() uses: ./.github/actions/cleanup