Skip to content

Add integration tests #5

Add integration tests

Add integration tests #5

name: Integration tests
on:
workflow_dispatch:
pull_request:
push:
branches: [main]
jobs:
build_integration_container_and_run_tests:
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Create build environment
uses: mamba-org/setup-micromamba@v2
with:
environment-file: ./environment-dev.yml
environment-name: build_env
cache-environment: true
- name: Configure using CMake
run: |
cmake -G Ninja \
-Bbuild \
-DCMAKE_BUILD_TYPE:STRING=RELEASE \
-DSPARROW_IPC_BUILD_INTEGRATION_TESTS=ON \
-DFETCH_DEPENDENCIES_WITH_CMAKE=MISSING \
-DSPARROW_IPC_BUILD_SHARED=ON
- name: Build file_to_stream target
working-directory: build
run: cmake --build . --config Release --target file_to_stream
- name: Build stream_to_file target
working-directory: build
run: cmake --build . --config Release --target stream_to_file
- name: Build Docker image
run: docker build -t sparrow/integration-tests -f ci/docker/integration.dockerfile .
- name: Run Integration tests
run: |
docker run --rm \
-e ARCHERY_INTEGRATION_WITH_EXTERNAL_LIBRARY=/workspace/build/bin/RELEASE/ \
-e ARCHERY_INTEGRATION_EXTERNAL_LIBRARY_IPC_PRODUCER=true \
-e ARCHERY_INTEGRATION_EXTERNAL_LIBRARY_IPC_CONSUMER=true \
-v ${{ github.workspace }}:/workspace \
-w /arrow-integration sparrow/integration-tests \
"/arrow-integration/ci/scripts/integration_arrow.sh /arrow-integration /build"