Skip to content

Commit b0c4564

Browse files
committed
[ci] Run adapter tests on x86 and aarch64.
And make sure to run the pubsub tests only on x86. Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>
1 parent e26e9da commit b0c4564

1 file changed

Lines changed: 52 additions & 15 deletions

File tree

.github/workflows/test-adapters.yml

Lines changed: 52 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,17 @@ on:
66
jobs:
77
adapter-tests:
88
name: Test Adapters
9-
runs-on: [ubuntu-latest]
10-
#runs-on: [self-hosted, skylake40]
9+
strategy:
10+
matrix:
11+
include:
12+
- runner: ubuntu-latest
13+
arch: x86_64
14+
target: x86_64-unknown-linux-gnu
15+
# needs 2404 images which supposedly ship next week
16+
#- runner: blacksmith-16vcpu-ubuntu-2204-arm
17+
# arch: aarch64
18+
# target: aarch64-unknown-linux-gnu
19+
runs-on: ${{ matrix.runner }}
1120
# can't run in container because see below
1221
# For some dumb reason we can't run these tests in the dev container
1322
# because while it finds redis on the docker network it doesn't find
@@ -51,25 +60,14 @@ jobs:
5160
--health-interval 10s
5261
--health-timeout 5s
5362
--health-retries 5
54-
pubsub:
55-
image: thekevjames/gcloud-pubsub-emulator:e852273e07
56-
ports:
57-
- 8681:8681
58-
options: >-
59-
-e PUBSUB_PROJECT1=feldera-test,test_pubsub_input-0
60-
--health-cmd "nc -z 127.0.0.1 8681"
61-
--health-interval 10s
62-
--health-timeout 5s
63-
--health-retries 5
6463
steps:
65-
# This is needed because we need some python to run the tests
6664
- name: Checkout repository
6765
uses: actions/checkout@v4
6866

6967
- name: Download Test Binaries
7068
uses: actions/download-artifact@v4
7169
with:
72-
name: feldera-test-binaries-x86_64-unknown-linux-gnu
70+
name: feldera-test-binaries-${{ matrix.target }}
7371
path: build
7472

7573
# Remove if https://github.com/actions/upload-artifact/issues/38 ever gets fixed
@@ -87,10 +85,11 @@ jobs:
8785
uv pip install -r ../iceberg/src/test/requirements.ci.txt
8886
working-directory: crates/adapters
8987

88+
# Pubsub tests are only supported on x86_64, see below
9089
- name: Run adapters tests
9190
run: |
9291
source .venv/bin/activate
93-
../../build/dbsp_adapters-*
92+
../../build/dbsp_adapters-* --skip pubsub
9493
working-directory: crates/adapters
9594
env:
9695
RUST_BACKTRACE: 1
@@ -103,3 +102,41 @@ jobs:
103102
ICEBERG_TEST_AWS_SECRET_ACCESS_KEY: ${{ secrets.delta_table_test_aws_secret_access_key }}
104103
DELTA_TABLE_TEST_AWS_ACCESS_KEY_ID: ${{ secrets.delta_table_test_aws_access_key_id }}
105104
DELTA_TABLE_TEST_AWS_SECRET_ACCESS_KEY: ${{ secrets.delta_table_test_aws_secret_access_key }}
105+
106+
# We can't run the pubsub tests on aarch64 because we don't have a
107+
# arm image for the pubsub emulator:
108+
# https://github.com/TheKevJames/tools/issues/453
109+
adapter-tests-pubsub:
110+
name: Test Adapters (PubSub only)
111+
runs-on: ubuntu-latest
112+
services:
113+
pubsub:
114+
image: thekevjames/gcloud-pubsub-emulator:e852273e07
115+
ports:
116+
- 8681:8681
117+
options: >-
118+
-e PUBSUB_PROJECT1=feldera-test,test_pubsub_input-0
119+
--health-cmd "nc -z 127.0.0.1 8681"
120+
--health-interval 10s
121+
--health-timeout 5s
122+
--health-retries 5
123+
steps:
124+
- name: Checkout repository
125+
uses: actions/checkout@v4
126+
127+
- name: Download Test Binaries
128+
uses: actions/download-artifact@v4
129+
with:
130+
name: feldera-test-binaries-x86_64-unknown-linux-gnu
131+
path: build
132+
133+
# Remove if https://github.com/actions/upload-artifact/issues/38 ever gets fixed
134+
- name: Make binaries executable
135+
run: chmod +x ./build/*
136+
137+
- name: Run adapters pubsub tests
138+
run: ../../build/dbsp_adapters-* pubsub
139+
working-directory: crates/adapters
140+
env:
141+
RUST_BACKTRACE: 1
142+
PUBSUB_EMULATOR_HOST: 127.0.0.1:8681

0 commit comments

Comments
 (0)