From e2df66c6ee4095e01dea86999bbef189bb744f60 Mon Sep 17 00:00:00 2001 From: Evandro Myller Date: Fri, 5 Sep 2025 12:20:33 -0300 Subject: [PATCH 1/5] Upload e2e errors to GHA (Sonnet 4) --- .github/actions/e2e-tests/action.yml | 10 ++++ .../workflows/.reusable-docker-e2e-tests.yml | 27 ++++++++++ .github/workflows/manual-e2e-tests.yml | 10 ++++ frontend/.testcaferc.js | 5 +- frontend/docker-compose-e2e-tests.yml | 1 + frontend/e2e/README.md | 51 +++++++++++++++++++ frontend/e2e/index.cafe.js | 8 ++- 7 files changed, 110 insertions(+), 2 deletions(-) create mode 100644 frontend/e2e/README.md diff --git a/.github/actions/e2e-tests/action.yml b/.github/actions/e2e-tests/action.yml index 2248d3702da9..f505112ac55f 100644 --- a/.github/actions/e2e-tests/action.yml +++ b/.github/actions/e2e-tests/action.yml @@ -49,3 +49,13 @@ runs: SLACK_TOKEN: ${{ inputs.slack_token }} ENV: ${{ inputs.environment == 'production' && 'prod' || inputs.environment }} GITHUB_ACTION_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + UPLOAD_TO_GITHUB_ACTIONS: true + + - name: Upload failed test videos + if: failure() + uses: actions/upload-artifact@v4 + with: + name: e2e-failed-test-videos-${{ inputs.environment }}-${{ github.run_attempt }} + path: frontend/reports/screen-captures/*.mp4 + if-no-files-found: ignore + retention-days: 30 diff --git a/.github/workflows/.reusable-docker-e2e-tests.yml b/.github/workflows/.reusable-docker-e2e-tests.yml index c4b52da84363..20189e74d1a4 100644 --- a/.github/workflows/.reusable-docker-e2e-tests.yml +++ b/.github/workflows/.reusable-docker-e2e-tests.yml @@ -83,3 +83,30 @@ jobs: E2E_CONCURRENCY: ${{ inputs.concurrency }} SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }} GITHUB_ACTION_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + UPLOAD_TO_GITHUB_ACTIONS: true + + - name: Extract videos from Docker container + if: failure() + run: | + # Create local directory for videos + mkdir -p ./e2e-videos + + # Get the container ID for the frontend service + CONTAINER_ID=$(docker compose ps -q frontend 2>/dev/null || echo "") + + if [ ! -z "$CONTAINER_ID" ]; then + # Copy videos from container to local filesystem + docker cp $CONTAINER_ID:/app/reports/screen-captures/ ./e2e-videos/ 2>/dev/null || echo "No videos found in container" + else + echo "No frontend container found" + fi + working-directory: frontend + + - name: Upload failed test videos + if: failure() + uses: actions/upload-artifact@v4 + with: + name: e2e-failed-test-videos-docker-${{ github.run_attempt }} + path: frontend/e2e-videos/screen-captures/*.mp4 + if-no-files-found: ignore + retention-days: 30 diff --git a/.github/workflows/manual-e2e-tests.yml b/.github/workflows/manual-e2e-tests.yml index 2bfc550dd007..7316a6758a30 100644 --- a/.github/workflows/manual-e2e-tests.yml +++ b/.github/workflows/manual-e2e-tests.yml @@ -27,7 +27,17 @@ jobs: env: E2E_TEST_AUTH_TOKEN: ${{ inputs.e2e-token }} FLAGSMITH_API_URL: ${{ inputs.api-url }} + UPLOAD_TO_GITHUB_ACTIONS: true run: | npm ci npm run env npm run test + + - name: Upload failed test videos + if: failure() + uses: actions/upload-artifact@v4 + with: + name: e2e-failed-test-videos-manual-${{ github.run_attempt }} + path: frontend/reports/screen-captures/*.mp4 + if-no-files-found: ignore + retention-days: 30 diff --git a/frontend/.testcaferc.js b/frontend/.testcaferc.js index 43d0102f3722..01964736b693 100644 --- a/frontend/.testcaferc.js +++ b/frontend/.testcaferc.js @@ -1,4 +1,7 @@ const isDev = process.env.E2E_DEV; +const environment = process.env.ENV || 'dev'; +const timestamp = new Date().toISOString().slice(0, 19).replace(/[:.]/g, '-'); + module.exports = { "browsers": "firefox:headless", "port1": 8080, @@ -13,7 +16,7 @@ module.exports = { "videoOptions": { "singleFile": true, "failedOnly": true, - "pathPattern": "./test-report-${FILE_INDEX}.mp4" + "pathPattern": `${environment}-${timestamp}-test-${FILE_INDEX}.mp4` }, "videoEncodingOptions": { "r": 20, diff --git a/frontend/docker-compose-e2e-tests.yml b/frontend/docker-compose-e2e-tests.yml index 4dd26cc6ff63..173ad90985bb 100644 --- a/frontend/docker-compose-e2e-tests.yml +++ b/frontend/docker-compose-e2e-tests.yml @@ -49,6 +49,7 @@ services: FLAGSMITH_API: flagsmith-api:8000/api/v1/ SLACK_TOKEN: ${SLACK_TOKEN} GITHUB_ACTION_URL: ${GITHUB_ACTION_URL} + UPLOAD_TO_GITHUB_ACTIONS: ${UPLOAD_TO_GITHUB_ACTIONS} ports: - 3000:3000 depends_on: diff --git a/frontend/e2e/README.md b/frontend/e2e/README.md new file mode 100644 index 000000000000..8302a17bfe6e --- /dev/null +++ b/frontend/e2e/README.md @@ -0,0 +1,51 @@ +# E2E Test Video Recording + +This document explains how video recording works for failed E2E tests in GitHub Actions. + +## Overview + +The E2E tests are configured to automatically record videos of **failed tests only** and upload them as GitHub Actions artifacts for debugging purposes. + +## How it works + +1. **TestCafe Configuration**: The `.testcaferc.js` file is configured with: + - `failedOnly: true` - Only records videos when tests fail + - Videos are saved to `reports/screen-captures/` + - Files are named with environment, timestamp, and test index for easy identification + +2. **GitHub Actions Integration**: + - Videos are automatically uploaded as artifacts when tests fail + - Artifacts are retained for 30 days + - Different workflows use different artifact names: + - `e2e-failed-test-videos-{environment}-{run_attempt}` for direct e2e-tests action + - `e2e-failed-test-videos-docker-{run_attempt}` for Docker-based tests + - `e2e-failed-test-videos-manual-{run_attempt}` for manual test runs + +3. **Fallback to Slack**: When not running in GitHub Actions (i.e., locally or in environments without the `UPLOAD_TO_GITHUB_ACTIONS` environment variable), videos are still uploaded to Slack as before. + +## Accessing Video Recordings + +1. Go to the failed GitHub Actions run +2. Scroll down to the "Artifacts" section at the bottom of the run page +3. Download the video artifact(s) to view the recordings of failed tests + +## Configuration + +The video recording behavior is controlled by: +- `UPLOAD_TO_GITHUB_ACTIONS` environment variable - when set, videos go to GitHub Actions instead of Slack +- TestCafe configuration in `.testcaferc.js` - controls video quality, path, and naming +- GitHub Actions workflow files - handle the artifact upload + +## Video Settings + +- **Format**: MP4 +- **Frame rate**: 20 FPS +- **Aspect ratio**: 4:3 +- **Recording**: Only when tests fail +- **Retention**: 30 days in GitHub Actions + +## Troubleshooting + +- If no videos appear in artifacts, check that tests actually failed (videos are only recorded on failure) +- For Docker-based tests, ensure the video extraction step completed successfully +- Check the test logs for any video-related error messages diff --git a/frontend/e2e/index.cafe.js b/frontend/e2e/index.cafe.js index 4a06df83aeff..d0e70e17f746 100644 --- a/frontend/e2e/index.cafe.js +++ b/frontend/e2e/index.cafe.js @@ -64,7 +64,13 @@ createTestCafe() if (fs.existsSync(dir) && !process.env.E2E_DEV) { try { const files = fs.readdirSync(dir); - await Promise.all(files.map(f => upload(path.join(dir, f)))); + if (process.env.UPLOAD_TO_GITHUB_ACTIONS) { + // When running in GitHub Actions, let the action handle video upload + console.log(`Found ${files.length} video files for GitHub Actions upload:`, files); + } else { + // Upload to Slack (existing behavior) + await Promise.all(files.map(f => upload(path.join(dir, f)))); + } } catch (e) { console.log('error uploading files', e); } } else { console.log('No files to upload'); From c2be19d2290945927620d82b1056bb910776128a Mon Sep 17 00:00:00 2001 From: Evandro Myller Date: Fri, 5 Sep 2025 12:25:46 -0300 Subject: [PATCH 2/5] Don't change the team's workflow dang it (Sonnet 4) --- .github/actions/e2e-tests/action.yml | 1 - .../workflows/.reusable-docker-e2e-tests.yml | 1 - .github/workflows/manual-e2e-tests.yml | 1 - frontend/docker-compose-e2e-tests.yml | 1 - frontend/e2e/README.md | 27 ++++++++++++++----- frontend/e2e/index.cafe.js | 11 +++----- 6 files changed, 25 insertions(+), 17 deletions(-) diff --git a/.github/actions/e2e-tests/action.yml b/.github/actions/e2e-tests/action.yml index f505112ac55f..6c806c1b2d69 100644 --- a/.github/actions/e2e-tests/action.yml +++ b/.github/actions/e2e-tests/action.yml @@ -49,7 +49,6 @@ runs: SLACK_TOKEN: ${{ inputs.slack_token }} ENV: ${{ inputs.environment == 'production' && 'prod' || inputs.environment }} GITHUB_ACTION_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} - UPLOAD_TO_GITHUB_ACTIONS: true - name: Upload failed test videos if: failure() diff --git a/.github/workflows/.reusable-docker-e2e-tests.yml b/.github/workflows/.reusable-docker-e2e-tests.yml index 20189e74d1a4..98fa79345c68 100644 --- a/.github/workflows/.reusable-docker-e2e-tests.yml +++ b/.github/workflows/.reusable-docker-e2e-tests.yml @@ -83,7 +83,6 @@ jobs: E2E_CONCURRENCY: ${{ inputs.concurrency }} SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }} GITHUB_ACTION_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} - UPLOAD_TO_GITHUB_ACTIONS: true - name: Extract videos from Docker container if: failure() diff --git a/.github/workflows/manual-e2e-tests.yml b/.github/workflows/manual-e2e-tests.yml index 7316a6758a30..3a0db23f415e 100644 --- a/.github/workflows/manual-e2e-tests.yml +++ b/.github/workflows/manual-e2e-tests.yml @@ -27,7 +27,6 @@ jobs: env: E2E_TEST_AUTH_TOKEN: ${{ inputs.e2e-token }} FLAGSMITH_API_URL: ${{ inputs.api-url }} - UPLOAD_TO_GITHUB_ACTIONS: true run: | npm ci npm run env diff --git a/frontend/docker-compose-e2e-tests.yml b/frontend/docker-compose-e2e-tests.yml index 173ad90985bb..4dd26cc6ff63 100644 --- a/frontend/docker-compose-e2e-tests.yml +++ b/frontend/docker-compose-e2e-tests.yml @@ -49,7 +49,6 @@ services: FLAGSMITH_API: flagsmith-api:8000/api/v1/ SLACK_TOKEN: ${SLACK_TOKEN} GITHUB_ACTION_URL: ${GITHUB_ACTION_URL} - UPLOAD_TO_GITHUB_ACTIONS: ${UPLOAD_TO_GITHUB_ACTIONS} ports: - 3000:3000 depends_on: diff --git a/frontend/e2e/README.md b/frontend/e2e/README.md index 8302a17bfe6e..8a757010c829 100644 --- a/frontend/e2e/README.md +++ b/frontend/e2e/README.md @@ -4,7 +4,7 @@ This document explains how video recording works for failed E2E tests in GitHub ## Overview -The E2E tests are configured to automatically record videos of **failed tests only** and upload them as GitHub Actions artifacts for debugging purposes. +The E2E tests are configured to automatically record videos of **failed tests only** and upload them to both Slack (existing workflow) and GitHub Actions artifacts for debugging purposes. ## How it works @@ -13,7 +13,12 @@ The E2E tests are configured to automatically record videos of **failed tests on - Videos are saved to `reports/screen-captures/` - Files are named with environment, timestamp, and test index for easy identification -2. **GitHub Actions Integration**: +2. **Dual Upload System**: + - **Slack**: Videos are uploaded to the team's Slack channel (existing behavior) + - **GitHub Actions**: Videos are also uploaded as artifacts for easy access + - Both uploads happen automatically without changing existing team workflows + +3. **GitHub Actions Artifacts**: - Videos are automatically uploaded as artifacts when tests fail - Artifacts are retained for 30 days - Different workflows use different artifact names: @@ -21,20 +26,29 @@ The E2E tests are configured to automatically record videos of **failed tests on - `e2e-failed-test-videos-docker-{run_attempt}` for Docker-based tests - `e2e-failed-test-videos-manual-{run_attempt}` for manual test runs -3. **Fallback to Slack**: When not running in GitHub Actions (i.e., locally or in environments without the `UPLOAD_TO_GITHUB_ACTIONS` environment variable), videos are still uploaded to Slack as before. - ## Accessing Video Recordings +### GitHub Actions Artifacts 1. Go to the failed GitHub Actions run 2. Scroll down to the "Artifacts" section at the bottom of the run page 3. Download the video artifact(s) to view the recordings of failed tests +### Slack (Existing) +Videos are automatically posted to the team's Slack channel as before - no change to existing workflow. + +## Benefits + +- **No Workflow Disruption**: Existing Slack uploads continue to work exactly as before +- **Additional Access**: Videos are now also available as GitHub Actions artifacts +- **Better Accessibility**: Team members can access videos directly from the GitHub Actions run +- **Retention**: 30-day retention in GitHub Actions provides longer access than Slack + ## Configuration The video recording behavior is controlled by: -- `UPLOAD_TO_GITHUB_ACTIONS` environment variable - when set, videos go to GitHub Actions instead of Slack - TestCafe configuration in `.testcaferc.js` - controls video quality, path, and naming - GitHub Actions workflow files - handle the artifact upload +- Existing Slack upload functionality remains unchanged ## Video Settings @@ -42,10 +56,11 @@ The video recording behavior is controlled by: - **Frame rate**: 20 FPS - **Aspect ratio**: 4:3 - **Recording**: Only when tests fail -- **Retention**: 30 days in GitHub Actions +- **Retention**: 30 days in GitHub Actions, standard Slack retention for Slack uploads ## Troubleshooting - If no videos appear in artifacts, check that tests actually failed (videos are only recorded on failure) - For Docker-based tests, ensure the video extraction step completed successfully - Check the test logs for any video-related error messages +- Slack uploads continue to work independently of GitHub Actions artifacts diff --git a/frontend/e2e/index.cafe.js b/frontend/e2e/index.cafe.js index d0e70e17f746..10ad7a794b04 100644 --- a/frontend/e2e/index.cafe.js +++ b/frontend/e2e/index.cafe.js @@ -64,13 +64,10 @@ createTestCafe() if (fs.existsSync(dir) && !process.env.E2E_DEV) { try { const files = fs.readdirSync(dir); - if (process.env.UPLOAD_TO_GITHUB_ACTIONS) { - // When running in GitHub Actions, let the action handle video upload - console.log(`Found ${files.length} video files for GitHub Actions upload:`, files); - } else { - // Upload to Slack (existing behavior) - await Promise.all(files.map(f => upload(path.join(dir, f)))); - } + // Upload to Slack (existing behavior) + await Promise.all(files.map(f => upload(path.join(dir, f)))); + // Videos will also be uploaded to GitHub Actions artifacts by the workflow + console.log(`${files.length} video files processed for Slack upload and available for GitHub Actions artifacts`); } catch (e) { console.log('error uploading files', e); } } else { console.log('No files to upload'); From 69fc6d21c335b2b91cb5b349f4c31c04723f55ca Mon Sep 17 00:00:00 2001 From: Evandro Myller Date: Fri, 5 Sep 2025 12:30:25 -0300 Subject: [PATCH 3/5] Sound less like AI (Sonnet 4) --- frontend/e2e/README.md | 18 ++++++++---------- frontend/e2e/index.cafe.js | 2 +- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/frontend/e2e/README.md b/frontend/e2e/README.md index 8a757010c829..c3c3688b6a82 100644 --- a/frontend/e2e/README.md +++ b/frontend/e2e/README.md @@ -4,7 +4,7 @@ This document explains how video recording works for failed E2E tests in GitHub ## Overview -The E2E tests are configured to automatically record videos of **failed tests only** and upload them to both Slack (existing workflow) and GitHub Actions artifacts for debugging purposes. +The E2E tests are configured to automatically record videos of **failed tests only** and upload them to both Slack and GitHub Actions artifacts for debugging purposes. ## How it works @@ -14,9 +14,9 @@ The E2E tests are configured to automatically record videos of **failed tests on - Files are named with environment, timestamp, and test index for easy identification 2. **Dual Upload System**: - - **Slack**: Videos are uploaded to the team's Slack channel (existing behavior) + - **Slack**: Videos are uploaded to the team's Slack channel - **GitHub Actions**: Videos are also uploaded as artifacts for easy access - - Both uploads happen automatically without changing existing team workflows + - Both uploads happen automatically 3. **GitHub Actions Artifacts**: - Videos are automatically uploaded as artifacts when tests fail @@ -33,22 +33,20 @@ The E2E tests are configured to automatically record videos of **failed tests on 2. Scroll down to the "Artifacts" section at the bottom of the run page 3. Download the video artifact(s) to view the recordings of failed tests -### Slack (Existing) -Videos are automatically posted to the team's Slack channel as before - no change to existing workflow. +### Slack +Videos are automatically posted to the team's Slack channel. ## Benefits -- **No Workflow Disruption**: Existing Slack uploads continue to work exactly as before -- **Additional Access**: Videos are now also available as GitHub Actions artifacts +- **Multiple Access Points**: Videos available both in Slack and GitHub Actions - **Better Accessibility**: Team members can access videos directly from the GitHub Actions run -- **Retention**: 30-day retention in GitHub Actions provides longer access than Slack +- **Extended Retention**: 30-day retention in GitHub Actions provides longer access ## Configuration The video recording behavior is controlled by: - TestCafe configuration in `.testcaferc.js` - controls video quality, path, and naming - GitHub Actions workflow files - handle the artifact upload -- Existing Slack upload functionality remains unchanged ## Video Settings @@ -63,4 +61,4 @@ The video recording behavior is controlled by: - If no videos appear in artifacts, check that tests actually failed (videos are only recorded on failure) - For Docker-based tests, ensure the video extraction step completed successfully - Check the test logs for any video-related error messages -- Slack uploads continue to work independently of GitHub Actions artifacts +- Slack uploads work independently of GitHub Actions artifacts diff --git a/frontend/e2e/index.cafe.js b/frontend/e2e/index.cafe.js index 10ad7a794b04..fb22ca34bf3a 100644 --- a/frontend/e2e/index.cafe.js +++ b/frontend/e2e/index.cafe.js @@ -64,7 +64,7 @@ createTestCafe() if (fs.existsSync(dir) && !process.env.E2E_DEV) { try { const files = fs.readdirSync(dir); - // Upload to Slack (existing behavior) + // Upload to Slack await Promise.all(files.map(f => upload(path.join(dir, f)))); // Videos will also be uploaded to GitHub Actions artifacts by the workflow console.log(`${files.length} video files processed for Slack upload and available for GitHub Actions artifacts`); From 933736e1f232f8e1c22b172070294fdf9d05898f Mon Sep 17 00:00:00 2001 From: Evandro Myller Date: Fri, 5 Sep 2025 14:36:44 -0300 Subject: [PATCH 4/5] Improve documentation (Sonnet 4) --- frontend/e2e/README.md | 56 +++++++++++++++--------------------------- 1 file changed, 20 insertions(+), 36 deletions(-) diff --git a/frontend/e2e/README.md b/frontend/e2e/README.md index c3c3688b6a82..d966f452a44b 100644 --- a/frontend/e2e/README.md +++ b/frontend/e2e/README.md @@ -1,46 +1,31 @@ # E2E Test Video Recording -This document explains how video recording works for failed E2E tests in GitHub Actions. +This document explains how to access video recordings of failed E2E tests from GitHub Actions. ## Overview -The E2E tests are configured to automatically record videos of **failed tests only** and upload them to both Slack and GitHub Actions artifacts for debugging purposes. +The E2E tests are configured to automatically record videos of **failed tests only** and upload them as GitHub Actions artifacts. ## How it works -1. **TestCafe Configuration**: The `.testcaferc.js` file is configured with: - - `failedOnly: true` - Only records videos when tests fail - - Videos are saved to `reports/screen-captures/` - - Files are named with environment, timestamp, and test index for easy identification +**TestCafe Configuration**: The `.testcaferc.js` file is configured with: +- `failedOnly: true` - Only records videos when tests fail. +- Videos are saved to `reports/screen-captures/`. +- Files are named with environment, timestamp, and test index for easy identification. -2. **Dual Upload System**: - - **Slack**: Videos are uploaded to the team's Slack channel - - **GitHub Actions**: Videos are also uploaded as artifacts for easy access - - Both uploads happen automatically - -3. **GitHub Actions Artifacts**: - - Videos are automatically uploaded as artifacts when tests fail - - Artifacts are retained for 30 days - - Different workflows use different artifact names: - - `e2e-failed-test-videos-{environment}-{run_attempt}` for direct e2e-tests action - - `e2e-failed-test-videos-docker-{run_attempt}` for Docker-based tests - - `e2e-failed-test-videos-manual-{run_attempt}` for manual test runs +**GitHub Actions Artifacts**: +- Videos are automatically uploaded as artifacts when tests fail. +- Artifacts are retained for 30 days. +- Different workflows use different artifact names: + - `e2e-failed-test-videos-{environment}-{run_attempt}` for direct e2e-tests action + - `e2e-failed-test-videos-docker-{run_attempt}` for Docker-based tests + - `e2e-failed-test-videos-manual-{run_attempt}` for manual test runs ## Accessing Video Recordings -### GitHub Actions Artifacts -1. Go to the failed GitHub Actions run -2. Scroll down to the "Artifacts" section at the bottom of the run page -3. Download the video artifact(s) to view the recordings of failed tests - -### Slack -Videos are automatically posted to the team's Slack channel. - -## Benefits - -- **Multiple Access Points**: Videos available both in Slack and GitHub Actions -- **Better Accessibility**: Team members can access videos directly from the GitHub Actions run -- **Extended Retention**: 30-day retention in GitHub Actions provides longer access +1. Go to the failed GitHub Actions run. +2. Scroll down to the "Artifacts" section at the bottom of the run page. +3. Download the video artifact(s) to view the recordings of failed tests. ## Configuration @@ -54,11 +39,10 @@ The video recording behavior is controlled by: - **Frame rate**: 20 FPS - **Aspect ratio**: 4:3 - **Recording**: Only when tests fail -- **Retention**: 30 days in GitHub Actions, standard Slack retention for Slack uploads +- **GitHub Actions Retention**: 30 days ## Troubleshooting -- If no videos appear in artifacts, check that tests actually failed (videos are only recorded on failure) -- For Docker-based tests, ensure the video extraction step completed successfully -- Check the test logs for any video-related error messages -- Slack uploads work independently of GitHub Actions artifacts +- If no videos appear in artifacts, check that tests actually failed (videos are only recorded on failure). +- For Docker-based tests, ensure the video extraction step completed successfully. +- Check the test logs for any video-related error messages. From 67537cd3cfd98e8f65e705369757f2f3a43129c3 Mon Sep 17 00:00:00 2001 From: Evandro Myller Date: Fri, 5 Sep 2025 15:18:07 -0300 Subject: [PATCH 5/5] =?UTF-8?q?=F0=9F=92=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/.reusable-docker-e2e-tests.yml | 4 ++-- .github/workflows/manual-e2e-tests.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/.reusable-docker-e2e-tests.yml b/.github/workflows/.reusable-docker-e2e-tests.yml index 98fa79345c68..9472e8545a50 100644 --- a/.github/workflows/.reusable-docker-e2e-tests.yml +++ b/.github/workflows/.reusable-docker-e2e-tests.yml @@ -89,10 +89,10 @@ jobs: run: | # Create local directory for videos mkdir -p ./e2e-videos - + # Get the container ID for the frontend service CONTAINER_ID=$(docker compose ps -q frontend 2>/dev/null || echo "") - + if [ ! -z "$CONTAINER_ID" ]; then # Copy videos from container to local filesystem docker cp $CONTAINER_ID:/app/reports/screen-captures/ ./e2e-videos/ 2>/dev/null || echo "No videos found in container" diff --git a/.github/workflows/manual-e2e-tests.yml b/.github/workflows/manual-e2e-tests.yml index 3a0db23f415e..9366559a659a 100644 --- a/.github/workflows/manual-e2e-tests.yml +++ b/.github/workflows/manual-e2e-tests.yml @@ -9,7 +9,7 @@ on: api-url: description: An API URL to run the E2E tests against default: 'https://api.flagsmith.com/api/v1/' - + jobs: run-e2e-tests: runs-on: depot-ubuntu-latest