CI Integration
Cloud CI integration is coming soon. Local CI mode works today. Join the waitlist to get notified when cloud mode launches.
Spark works in CI out of the box. Choose between local mode (needs Docker) or cloud mode (just the binary + a token).
Cloud mode in CI only needs the spark binary and an API token. No Docker, no DinD, no privileged containers.
# .github/workflows/test.yml
name: Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: curl -fsSL https://get.spark.dev | sh
- run: spark run ./tests --cloud
env:
SPARK_CLOUD_URL: ${{ secrets.SPARK_CLOUD_URL }}
SPARK_TOKEN: ${{ secrets.SPARK_TOKEN }}
If you prefer running tests locally in CI, you'll need Docker available on the runner.
# .github/workflows/test.yml
name: Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: curl -fsSL https://get.spark.dev | sh
- run: spark run ./tests --junit results.xml
Cloud mode is simpler for CI. No Docker setup, no DinD hacks, no privileged containers. Just install the binary and run with
--cloud. The cloud fleet handles all the container orchestration.