Skip to content

Add integration tests #43

Add integration tests

Add integration tests #43

name: Integration tests
on:
workflow_dispatch:
pull_request:
push:
branches: [main]
jobs:
build_integration_container_and_run_tests:
runs-on: ubuntu-22.04
steps:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y mold libpthread-stubs0-dev libboost-thread-dev doctest-dev
- name: Install specific version of tzdata
run: sudo apt-get install tzdata
- name: Checkout code
uses: actions/checkout@v5
- 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=OFF
- name: Build arrow_file_to_stream target
working-directory: build
run: cmake --build . --config Release --target arrow_file_to_stream
- name: Build arrow_stream_to_file target
working-directory: build
run: cmake --build . --config Release --target arrow_stream_to_file
- name: Build arrow_json_to_file target
working-directory: build
run: cmake --build . --config Release --target arrow_json_to_file
- name: Build arrow_validate target
working-directory: build
run: cmake --build . --config Release --target arrow_validate
- name: List all folders and subfolders
run: |
echo "Listing all folders and subfolders:"
find . -type d
- 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"