chore(deps): bump basic-ftp from 5.2.1 to 5.3.0 in /tests/e2e #511
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: E2E Playwright Tests (v2) | |
| on: | |
| # Manual trigger | |
| workflow_dispatch: | |
| inputs: | |
| environment: | |
| description: 'Environment to run tests' | |
| type: choice | |
| options: | |
| - staging | |
| default: 'staging' | |
| debug: | |
| description: 'Enable SSH debugging' | |
| type: boolean | |
| default: false | |
| # Trigger on PR with label (remove and re-add label to rerun) | |
| pull_request: | |
| types: [labeled] | |
| # Nightly schedule (0 AM UTC) | |
| schedule: | |
| - cron: '0 0 * * *' | |
| # Cancel in-progress runs for the same PR/branch | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| # Check if workflow should run (for PR label trigger) | |
| check-trigger: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| should_run: ${{ steps.check.outputs.should_run }} | |
| steps: | |
| - name: Check trigger conditions | |
| id: check | |
| env: | |
| EVENT_NAME: ${{ github.event_name }} | |
| HAS_E2E_LABEL: ${{ contains(github.event.pull_request.labels.*.name, 'e2e-tests') }} | |
| HAS_RUN_ALL_LABEL: ${{ contains(github.event.pull_request.labels.*.name, 'run-all-tests') }} | |
| run: | | |
| if [[ "$EVENT_NAME" == "workflow_dispatch" ]]; then | |
| echo "should_run=true" >> $GITHUB_OUTPUT | |
| elif [[ "$EVENT_NAME" == "schedule" ]]; then | |
| echo "should_run=true" >> $GITHUB_OUTPUT | |
| elif [[ "$EVENT_NAME" == "pull_request" ]]; then | |
| if [[ "$HAS_E2E_LABEL" == "true" || "$HAS_RUN_ALL_LABEL" == "true" ]]; then | |
| echo "should_run=true" >> $GITHUB_OUTPUT | |
| else | |
| echo "should_run=false" >> $GITHUB_OUTPUT | |
| fi | |
| else | |
| echo "should_run=false" >> $GITHUB_OUTPUT | |
| fi | |
| # Lint and type-check E2E code | |
| lint: | |
| name: Lint | |
| needs: check-trigger | |
| if: needs.check-trigger.outputs.should_run == 'true' | |
| uses: ./.github/workflows/tests-e2e-playwright-lint.yml | |
| # Chromium tests (local dev mode) - no build required | |
| e2e-dev-chromium: | |
| name: Chromium (Dev) | |
| needs: lint | |
| uses: ./.github/workflows/tests-e2e-playwright-chromium.yml | |
| secrets: inherit | |
| with: | |
| environment: ${{ inputs.environment || 'staging' }} | |
| debug: ${{ inputs.debug || false }} | |
| # Build Docker image for Docker tests | |
| build-docker: | |
| name: Build Docker | |
| needs: lint | |
| uses: ./.github/workflows/pipeline-build-docker.yml | |
| secrets: inherit | |
| with: | |
| debug: ${{ inputs.debug || false }} | |
| for_e2e_tests: true | |
| # Docker tests (Chromium against Docker image) | |
| e2e-docker: | |
| name: Docker | |
| needs: build-docker | |
| uses: ./.github/workflows/tests-e2e-playwright-docker.yml | |
| secrets: inherit | |
| with: | |
| environment: ${{ inputs.environment || 'staging' }} | |
| debug: ${{ inputs.debug || false }} | |
| # Build Linux AppImage for Electron tests | |
| build-linux: | |
| name: Build Linux | |
| needs: lint | |
| uses: ./.github/workflows/pipeline-build-linux.yml | |
| secrets: inherit | |
| with: | |
| environment: ${{ inputs.environment || 'staging' }} | |
| target: 'build_linux_appimage_x64' | |
| debug: ${{ inputs.debug || false }} | |
| enterprise: false | |
| # Electron tests (Linux AppImage) | |
| e2e-electron: | |
| name: Electron (Linux) | |
| needs: build-linux | |
| uses: ./.github/workflows/tests-e2e-playwright-electron.yml | |
| secrets: inherit | |
| with: | |
| environment: ${{ inputs.environment || 'staging' }} | |
| debug: ${{ inputs.debug || false }} | |