66jobs :
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