diff --git a/.github/workflows/backend-integration-test.yaml b/.github/workflows/backend-integration-test.yaml index dd10338..6a5ebbb 100644 --- a/.github/workflows/backend-integration-test.yaml +++ b/.github/workflows/backend-integration-test.yaml @@ -5,11 +5,11 @@ on: workflow_dispatch: inputs: use-aws: - description: "Run recording tests in AWS EC2 runner" - default: "true" + description: 'Run recording tests in AWS EC2 runner' + default: 'true' aws-instance-type: - description: "AWS EC2 instance type" - default: "c5.2xlarge" + description: 'AWS EC2 instance type' + default: 'c5.2xlarge' jobs: start-aws-runner: @@ -37,6 +37,10 @@ jobs: test-rooms: name: Rooms API Tests runs-on: ov-actions-runner + strategy: + fail-fast: false + matrix: + storage-provider: [s3, azure] steps: - name: Setup Node.js uses: actions/setup-node@v4 @@ -46,8 +50,35 @@ jobs: run: curl -sSL https://get.livekit.io/cli | bash - name: Setup OpenVidu Local Deployment uses: OpenVidu/actions/start-openvidu-local-deployment@main + with: + pre-startup-commands: | + if [ "${{ matrix.storage-provider }}" == "azure" ]; then + echo "Using Azure storage provider" + + # Update egress.yaml to use Azure storage + sed -i ' + /^[[:space:]]*s3:[[:space:]]*$/,/^[[:space:]]*#azure:[[:space:]]*$/ { + /^[[:space:]]*#/!s/^[[:space:]]*/ #/ + } + /^[[:space:]]*#azure:[[:space:]]*$/,/^[[:space:]]*$/ { + s/^[[:space:]]*#[[:space:]]*/ / + } + ' egress.yaml + + # Configure Azure storage settings + sed -i " + s/account_name: your_account_name/account_name: ${{ vars.MEET_AZURE_ACCOUNT_NAME }}/g + s/account_key: your_account_key/account_key: ${{ secrets.MEET_AZURE_ACCOUNT_KEY }}/g + " egress.yaml + + fi - name: Setup OpenVidu Meet uses: OpenVidu/actions/start-openvidu-meet@main + env: + MEET_WEBHOOK_ENABLED: true + MEET_PREFERENCES_STORAGE_MODE: ${{ matrix.storage-provider }} + MEET_AZURE_ACCOUNT_NAME: ${{ vars.MEET_AZURE_ACCOUNT_NAME }} + MEET_AZURE_ACCOUNT_KEY: ${{ secrets.MEET_AZURE_ACCOUNT_KEY }} - name: Run tests run: | cd backend @@ -72,7 +103,6 @@ jobs: runs-on: ${{ needs.start-aws-runner.outputs.label || 'ov-actions-runner' }} timeout-minutes: 30 steps: - - name: Setup Node.js uses: actions/setup-node@v4 with: @@ -303,4 +333,4 @@ jobs: aws-region: ${{ vars.AWS_REGION }} github-token: ${{ secrets.OPENVIDU_GITHUB_TOKEN }} label: ${{ needs.start-aws-runner.outputs.label }} - ec2-instance-id: ${{ needs.start-aws-runner.outputs.ec2-instance-id }} \ No newline at end of file + ec2-instance-id: ${{ needs.start-aws-runner.outputs.ec2-instance-id }}