Skip to content
Draft
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
- "ballista-cli/**"
- "benchmarks/**"
- "examples/**"
- "integrations/**"
- "Cargo.toml"
- "Cargo.lock"
- "rust-toolchain.toml"
Expand All @@ -46,6 +47,7 @@
- "ballista-cli/**"
- "benchmarks/**"
- "examples/**"
- "integrations/**"
- "Cargo.toml"
- "Cargo.lock"
- "rust-toolchain.toml"
Expand Down Expand Up @@ -155,7 +157,52 @@
# Ensure also compiles in standalone mode
cargo test --profile ci --no-default-features --features standalone --locked

iceberg-test:
name: test iceberg integration
# Deliberately not in the amd64/rust container the other linux jobs use:
# this job drives docker compose to bring up an Iceberg REST catalog and
# MinIO, and the test talks to them over the ports they publish on the
# runner. Running in a container would mean docker-in-docker plus a
# different hostname for those endpoints.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7.0.1
with:
submodules: true
fetch-depth: 1
- name: Install protobuf compiler
run: |
sudo apt-get update
sudo apt-get install -y protobuf-compiler
- name: Setup Rust toolchain
run: |
rustup toolchain install stable
rustup default stable
- name: Configure rust runtime env
uses: ./.github/actions/setup-rust-runtime
- uses: swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 #2.9.1
- name: Start Iceberg REST catalog and MinIO
run: |
docker compose -f integrations/iceberg/dev/docker-compose.yaml up -d --wait
- name: Run iceberg-ballista tests
# The end-to-end suite is behind `integration-tests` precisely because it
# needs the fixture above; without the feature this only runs unit tests.
run: |
cargo test --profile ci -p iceberg-ballista --features integration-tests --locked
- name: Stop Iceberg REST catalog and MinIO
if: always()
run: |
docker compose -f integrations/iceberg/dev/docker-compose.yaml logs --no-color > /tmp/iceberg-fixture.log || true
docker compose -f integrations/iceberg/dev/docker-compose.yaml down -v --remove-orphans --timeout 0
- name: Upload fixture logs
if: failure()
uses: actions/upload-artifact@v7
with:
name: iceberg-fixture-logs
path: /tmp/iceberg-fixture.log
if-no-files-found: ignore

macos-test:

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
name: macos test
runs-on: macos-latest
steps:
Expand Down
Loading
Loading