Skip to content

SY-4297: Arc Params Refactor (Parts 4-7) - Consumers, Stdlib, Runtimes, and Tests #7982

SY-4297: Arc Params Refactor (Parts 4-7) - Consumers, Stdlib, Runtimes, and Tests

SY-4297: Arc Params Refactor (Parts 4-7) - Consumers, Stdlib, Runtimes, and Tests #7982

Workflow file for this run

name: Test - Driver
on:
pull_request:
paths:
- .bazeliskrc
- .bazelrc
- .clang-format
- .clang-format-ignore
- .github/workflows/test.driver.yaml
- alamos/go/**
- arc/cpp/**
- aspen/**
- cesium/**
- client/cpp/**
- core/**
- driver/**
- freighter/cpp/**
- freighter/go/**
- MODULE.bazel
- MODULE.bazel.lock
- scripts/check_clang_format.sh
- scripts/sanitizers/**
- vendor/**
- x/cpp/**
- x/go/**
push:
branches:
- main
- rc
paths:
- .bazeliskrc
- .bazelrc
- .clang-format
- .clang-format-ignore
- .github/workflows/test.driver.yaml
- alamos/go/**
- arc/cpp/**
- aspen/**
- cesium/**
- client/cpp/**
- core/**
- driver/**
- freighter/cpp/**
- freighter/go/**
- MODULE.bazel
- MODULE.bazel.lock
- scripts/check_clang_format.sh
- scripts/sanitizers/**
- vendor/**
- x/cpp/**
- x/go/**
workflow_dispatch:
env:
BAZEL_REMOTE_CACHE: ${{ vars.BAZEL_REMOTE_CACHE_GRPC_URL }}
jobs:
server:
uses: ./.github/workflows/build.docker.yaml
permissions:
packages: write
with:
module: core
tag: ghcr.io/synnaxlabs/synnax:${{ github.sha }}-test-driver
test:
name: Test
runs-on: ubuntu-build-bot
needs: server
steps:
- name: Checkout Repository
uses: actions/checkout@v6
- name: Force Quit Existing Synnax Processes
continue-on-error: true
run: integration/scripts/kill_synnax_processes.sh
- name: Login to GitHub Container Registry
run:
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor
}} --password-stdin
- name: Ensure Port 9090 is Free
run: |
docker rm -f synnax-test-driver || true
docker ps -q --filter "publish=9090" | xargs -r docker rm -f || true
- name: Start Synnax
run: |
docker run -d --name synnax-test-driver \
-p 9090:9090 \
-e SYNNAX_LISTEN=localhost:9090 \
-e SYNNAX_VERBOSE=true \
-e SYNNAX_INSECURE=true \
-e SYNNAX_MEM=true \
-e SYNNAX_LICENSE_KEY=${{ secrets.SYNNAX_LICENSE_KEY }} \
ghcr.io/synnaxlabs/synnax:${{ github.sha }}-test-driver
echo "Waiting for Synnax to be ready..."
for i in $(seq 1 30); do
if nc -z localhost 9090 2>/dev/null; then
echo "Synnax is ready"
break
fi
echo "Waiting for port 9090... (attempt $i/30)"
sleep 1
done
if ! nc -z localhost 9090 2>/dev/null; then
echo "Synnax failed to start within 30 seconds"
docker logs synnax-test-driver
exit 1
fi
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y libsystemd-dev
- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Update Submodules
run: git submodule update --init --recursive
- name: Setup Bazel
uses: bazel-contrib/setup-bazel@0.19.0
with:
bazelisk-cache: false
disk-cache: false
repository-cache: false
- name: Install Clang Format
run: scripts/install_clang_format.sh
- name: Check Formatting
run: scripts/check_clang_format.sh driver
- name: Test Driver
run: |
bazel test --config=asan-leak --test_output=all //driver/... \
--remote_cache=${{ env.BAZEL_REMOTE_CACHE }} --remote_cache_compression=true \
--test_env=LSAN_OPTIONS="suppressions=${{ github.workspace }}/scripts/sanitizers/lsan_suppressions.txt" \
--spawn_strategy=local \
--jobs=1 --test_tag_filters=-hardware
- name: Stop Synnax
if: always()
run: docker rm -f synnax-test-driver || true