Skip to content

Direct listener mode for the exporter #405

Direct listener mode for the exporter

Direct listener mode for the exporter #405

Workflow file for this run

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