Direct listener mode for the exporter #405
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: End-to-end tests | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| merge_group: | |
| permissions: | |
| contents: read | |
| jobs: | |
| changes: | |
| if: github.repository_owner == 'jumpstarter-dev' | |
| runs-on: ubuntu-latest | |
| outputs: | |
| should_run: ${{ steps.filter.outputs.e2e }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: dorny/paths-filter@v3 | |
| id: filter | |
| with: | |
| base: ${{ github.base_ref || github.event.merge_group.base_ref || 'main' }} | |
| filters: | | |
| e2e: | |
| - 'controller/**' | |
| - 'e2e/**' | |
| - 'python/**' | |
| - '.github/workflows/e2e.yaml' | |
| - 'Makefile' | |
| e2e-tests: | |
| needs: changes | |
| if: needs.changes.outputs.should_run == 'true' || github.event_name == 'workflow_dispatch' | |
| strategy: | |
| matrix: | |
| os: | |
| - ubuntu-24.04 | |
| - ubuntu-24.04-arm | |
| method: | |
| - operator | |
| - helm | |
| exclude: | |
| # Only run operator on ARM, skip helm | |
| - os: ubuntu-24.04-arm | |
| method: helm | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 60 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| - name: Install Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.22" | |
| - name: Setup e2e test environment | |
| run: make e2e-setup | |
| env: | |
| CI: true | |
| METHOD: ${{ matrix.method }} | |
| - name: Run e2e tests | |
| run: make e2e-run | |
| env: | |
| CI: true | |
| METHOD: ${{ matrix.method }} | |
| # ============================================================================ | |
| # Compatibility tests: cross-version interop between controller and client/exporter | |
| # These jobs can be removed once 0.7.x controller support is no longer needed. | |
| # ============================================================================ | |
| e2e-compat-old-controller: | |
| needs: changes | |
| if: needs.changes.outputs.should_run == 'true' || github.event_name == 'workflow_dispatch' | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 60 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| - name: Install Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.22" | |
| - name: Setup compat environment (old controller v0.7.0) | |
| run: make e2e-compat-setup COMPAT_SCENARIO=old-controller | |
| env: | |
| CI: true | |
| COMPAT_CONTROLLER_TAG: v0.7.0 | |
| - name: Run compat tests (old controller + new client/exporter) | |
| run: make e2e-compat-run COMPAT_TEST=old-controller | |
| env: | |
| CI: true | |
| e2e-compat-old-client: | |
| needs: changes | |
| if: needs.changes.outputs.should_run == 'true' || github.event_name == 'workflow_dispatch' | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 60 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| - name: Install Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.22" | |
| - name: Setup compat environment (old client v0.7.0) | |
| run: make e2e-compat-setup COMPAT_SCENARIO=old-client | |
| env: | |
| CI: true | |
| COMPAT_CLIENT_VERSION: "0.7.1" | |
| - name: Run compat tests (new controller + old client/exporter) | |
| run: make e2e-compat-run COMPAT_TEST=old-client | |
| env: | |
| CI: true |