-
Notifications
You must be signed in to change notification settings - Fork 109
66 lines (60 loc) · 2.48 KB
/
test-integration-runtime.yml
File metadata and controls
66 lines (60 loc) · 2.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Run all the runtiem things against our CI installations
name: Runtime Integration Tests
on:
workflow_call:
workflow_dispatch:
inputs:
run_id:
description: "ID of the workflow run that uploaded the artifact"
required: true
jobs:
runtime-tests:
if: ${{ !contains(vars.CI_SKIP_JOBS, 'runtime-tests') }}
name: Runtime Integration Tests
strategy:
matrix:
include:
- runner: [k8s-runners-amd64]
feldera_host: ${{ vars.FELDERA_HOST_CI_AMD64 }}
feldera_api_key: FELDERA_API_KEY_CI_AMD64
- runner: [k8s-runners-arm64]
feldera_host: ${{ vars.FELDERA_HOST_CI_ARM64 }}
feldera_api_key: FELDERA_API_KEY_CI_ARM64
runs-on: ${{ matrix.runner }}
env:
FELDERA_HOST: ${{ matrix.feldera_host }}
FELDERA_API_KEY: ${{ secrets[matrix.feldera_api_key] }}
FELDERA_RUNTIME_VERSION: ${{ github.sha }}
container:
image: ghcr.io/feldera/feldera-dev:sha-db53e1302c944e29edd6d2af516fff7032b90e3b
steps:
- name: Show Kubernetes node
if: always()
run: |
echo "K8S node: ${K8S_NODE_NAME}"
- name: Checkout repository
uses: actions/checkout@v6
- name: Python runtime tests
if: ${{ vars.CI_DRY_RUN != 'true' && !contains(vars.CI_SKIP_JOBS, 'runtime-pytest') }}
run: uv run --locked pytest -n ${{ vars.PYTEST_WORKERS }} tests/runtime --timeout=3600 -vv ${{ vars.PYTEST_EXTRA }}
working-directory: python
env:
PYTHONPATH: ${{ github.workspace }}/python
FELDERA_TLS_INSECURE: true
- name: Python runtime_aggtest test
if: ${{ vars.CI_DRY_RUN != 'true' && !contains(vars.CI_SKIP_JOBS, 'runtime-aggtest') }}
run: uv run --locked ./tests/runtime_aggtest/run.sh
working-directory: python
env:
RUNTIME_AGGTEST_JOBS: ${{ vars.RUNTIME_AGGTEST_JOBS }}
PYTHONPATH: ${{ github.workspace }}/python
FELDERA_TLS_INSECURE: true
- name: Python workload tests
if: ${{ vars.CI_DRY_RUN != 'true' && !contains(vars.CI_SKIP_JOBS, 'runtime-workload') }}
run: uv run --locked pytest -n ${{ vars.PYTEST_WORKERS }} tests/workloads --timeout=3600 -vv ${{ vars.PYTEST_EXTRA }}
working-directory: python
env:
PYTHONPATH: ${{ github.workspace }}/python
FELDERA_TLS_INSECURE: true
KAFKA_BOOTSTRAP_SERVERS: ${{ vars.CI_KAFKA_BOOTSTRAP }}
SCHEMA_REGISTRY_URL: ${{ vars.CI_SCHEMA_REGISTRY }}