name: E2E Embed React tests and booking flow (for non-embed as well) on: workflow_call: env: NODE_OPTIONS: --max-old-space-size=4096 jobs: e2e-embed: timeout-minutes: 20 name: E2E Embed React (${{ matrix.shard }}/${{ strategy.job-total }}) runs-on: buildjet-4vcpu-ubuntu-2204 services: postgres: image: postgres:12.1 env: POSTGRES_USER: postgres POSTGRES_DB: calendso ports: - 5432:5432 strategy: fail-fast: false matrix: ## There aren't many tests for embed-react. So, just start with 2 shards. Increase if needed. shard: [1, 2] steps: - uses: actions/checkout@v3 - uses: ./.github/actions/dangerous-git-checkout - uses: ./.github/actions/yarn-install - uses: ./.github/actions/yarn-playwright-install - uses: ./.github/actions/cache-db - uses: ./.github/actions/cache-build - name: Run Tests run: | yarn e2e:embed-react --shard=${{ matrix.shard }}/${{ strategy.job-total }} yarn workspace @calcom/embed-react packaged:tests env: ALLOWED_HOSTNAMES: ${{ vars.CI_ALLOWED_HOSTNAMES }} CALENDSO_ENCRYPTION_KEY: ${{ secrets.CI_CALENDSO_ENCRYPTION_KEY }} DATABASE_URL: ${{ secrets.CI_DATABASE_URL }} DEPLOYSENTINEL_API_KEY: ${{ secrets.DEPLOYSENTINEL_API_KEY }} E2E_TEST_APPLE_CALENDAR_EMAIL: ${{ secrets.E2E_TEST_APPLE_CALENDAR_EMAIL }} E2E_TEST_APPLE_CALENDAR_PASSWORD: ${{ secrets.E2E_TEST_APPLE_CALENDAR_PASSWORD }} GOOGLE_API_CREDENTIALS: ${{ secrets.CI_GOOGLE_API_CREDENTIALS }} GOOGLE_LOGIN_ENABLED: ${{ vars.CI_GOOGLE_LOGIN_ENABLED }} NEXTAUTH_SECRET: ${{ secrets.CI_NEXTAUTH_SECRET }} NEXTAUTH_URL: ${{ secrets.CI_NEXTAUTH_URL }} NEXT_PUBLIC_IS_E2E: ${{ vars.CI_NEXT_PUBLIC_IS_E2E }} NEXT_PUBLIC_STRIPE_PUBLIC_KEY: ${{ secrets.CI_NEXT_PUBLIC_STRIPE_PUBLIC_KEY }} NEXT_PUBLIC_WEBAPP_URL: ${{ vars.CI_NEXT_PUBLIC_WEBAPP_URL }} NEXT_PUBLIC_WEBSITE_URL: ${{ vars.CI_NEXT_PUBLIC_WEBSITE_URL }} PAYMENT_FEE_FIXED: ${{ vars.CI_PAYMENT_FEE_FIXED }} PAYMENT_FEE_PERCENTAGE: ${{ vars.CI_PAYMENT_FEE_PERCENTAGE }} SAML_ADMINS: ${{ secrets.CI_SAML_ADMINS }} SAML_DATABASE_URL: ${{ secrets.CI_SAML_DATABASE_URL }} STRIPE_PRIVATE_KEY: ${{ secrets.CI_STRIPE_PRIVATE_KEY }} STRIPE_CLIENT_ID: ${{ secrets.CI_STRIPE_CLIENT_ID }} STRIPE_WEBHOOK_SECRET: ${{ secrets.CI_STRIPE_WEBHOOK_SECRET }} SENDGRID_API_KEY: ${{ secrets.CI_SENDGRID_API_KEY }} SENDGRID_EMAIL: ${{ secrets.CI_SENDGRID_EMAIL }} TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ secrets.TURBO_TEAM }} - name: Upload Test Results if: ${{ always() }} uses: actions/upload-artifact@v4 with: name: embed-react-results-${{ matrix.shard }}_${{ strategy.job-total }} path: test-results