Check sdf load error (do not merge) #6224
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Indigo CI | |
env: | |
OS_NAME_MAPPING_JSON: '{"ubuntu-latest": "linux", "windows-latest": "windows", "macos-13": "macos"}' | |
on: | |
push: | |
branches: | |
- master | |
tags: | |
- 'indigo-*' | |
workflow_dispatch: | |
pull_request: | |
repository_dispatch: | |
jobs: | |
build_indigo_libs_x86_64: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
lfs: false | |
fetch-depth: 500 | |
- name: Git fetch tags | |
run: | | |
git config --global --add safe.directory '*' | |
git fetch --tags -f | |
- name: Build Linux | |
if: ${{ startsWith(matrix.os, 'ubuntu') }} | |
uses: docker://epmlsop/buildpack-centos7:latest | |
with: | |
args: > | |
/bin/sh -c " | |
mkdir build && | |
cd build && | |
cmake .. -DBUILD_INDIGO=ON -DBUILD_INDIGO_WRAPPERS=OFF -DBUILD_INDIGO_UTILS=OFF -DBUILD_BINGO=OFF -DBUILD_BINGO_ELASTIC=OFF && | |
cmake --build . --config Release --target all -- -j $(nproc) | |
" | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: indigo-libs-${{ fromJSON(env.OS_NAME_MAPPING_JSON)[matrix.os] }}-x86_64 | |
path: dist | |
build_indigo_wrappers: | |
strategy: | |
fail-fast: false | |
matrix: | |
wrapper: [ python ] | |
runs-on: ubuntu-latest | |
needs: [ build_indigo_libs_x86_64 ] | |
container: epmlsop/indigo-tester:latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
lfs: false | |
fetch-depth: 500 | |
- name: Git fetch tags | |
run: | | |
git config --global --add safe.directory '*' | |
git fetch --tags -f | |
- name: Create folder for native libs | |
run: mkdir dist | |
- name: Download Linux native libs x86_64 | |
uses: actions/download-artifact@v4 | |
with: | |
name: indigo-libs-linux-x86_64 | |
path: dist/ | |
- name: Install Python test dependencies | |
run: python3 -m pip install -r api/python/requirements_dev.txt --break-system-packages | |
- name: Build wrappers | |
run: | | |
mkdir build | |
cd build | |
cmake .. -DBUILD_INDIGO=OFF -DBUILD_INDIGO_UTILS=OFF -DBUILD_BINGO=OFF -DBUILD_BINGO_ELASTIC=OFF | |
cmake --build . --config Release --target indigo-${{ matrix.wrapper }} | |
- name: Upload native shared libs | |
uses: actions/upload-artifact@v4 | |
with: | |
name: indigo-native-shared-libs-${{ matrix.wrapper }} | |
path: | | |
dist/lib | |
- name: Upload Python wrappers | |
if: ${{ matrix.wrapper == 'python' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: indigo-python | |
path: | | |
dist/*.whl | |
retention_days: 2 | |
merge_indigo_wrappers: | |
runs-on: ubuntu-latest | |
needs: build_indigo_wrappers | |
steps: | |
- name: Merge native shared libs | |
uses: actions/upload-artifact/merge@v4 | |
with: | |
name: indigo-native-shared-libs | |
pattern: indigo-native-shared-libs-* | |
build_bingo_postgres_linux_x86_64: | |
strategy: | |
fail-fast: false | |
matrix: | |
postgres_major_version: [ 13 ] | |
runs-on: ubuntu-latest | |
needs: [merge_indigo_wrappers] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
lfs: false | |
fetch-depth: 500 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: Git fetch tags | |
run: | | |
git config --global --add safe.directory '*' | |
git fetch --tags -f | |
- name: Install postgres server headers and build bingo-postgres | |
uses: docker://epmlsop/buildpack-almalinux8:latest | |
with: | |
args: > | |
/bin/sh -c " | |
set -eux && | |
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm && | |
curl -OL https://download.postgresql.org/pub/repos/yum/keys/PGDG-RPM-GPG-KEY-RHEL && | |
rpm --import PGDG-RPM-GPG-KEY-RHEL && | |
yumdownloader -y postgresql${{ matrix.postgres_major_version }}-devel && | |
rpm -i --nodeps postgresql${{ matrix.postgres_major_version }}*.rpm && | |
ls -alh /usr && | |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/rh/httpd24/root/usr/lib64 && | |
mkdir build && | |
cd build && | |
cmake .. -DBUILD_BINGO_POSTGRES=ON -DBUILD_BINGO_SQLSERVER=OFF -DBUILD_BINGO_ORACLE=OFF -DBUILD_INDIGO=OFF -DBUILD_INDIGO_WRAPPERS=OFF -DBUILD_INDIGO_UTILS=OFF -DBUILD_BINGO_ELASTIC=OFF -DCMAKE_PREFIX_PATH=/usr/pgsql-${{ matrix.postgres_major_version }} && | |
cmake --build . --config Release --target package-bingo-postgres -- -j $(nproc) | |
" | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: bingo-postgres-${{ matrix.postgres_major_version }}-linux-x86_64 | |
path: dist/bingo-postgres*.tgz | |
- name: Build Docker image | |
run: | | |
docker build --tag epmlsop/bingo-postgres:${{ matrix.postgres_major_version }}-latest -f bingo/postgres/Dockerfile --build-arg BINGO_PG_VERSION=${{ matrix.postgres_major_version }} . | |
- name: Start Docker container | |
run: | | |
docker run --rm -d -p 5432:5432 -e "POSTGRES_PASSWORD=password" -v /home:/home epmlsop/bingo-postgres:${{ matrix.postgres_major_version }}-latest | |
- name: Install dev dependencies | |
run: | | |
pip install -r bingo/tests/requirements.txt --break-system-packages | |
- name: Download indigo-python wheel | |
uses: actions/download-artifact@v4 | |
with: | |
name: indigo-python | |
path: indigo-wheel/ | |
- name: Install custom indigo wheel | |
run: | | |
pip install indigo-wheel/*.whl --force-reinstall --break-system-packages | |
- name: Install dev dependencies | |
run: | | |
pip install -r bingo/tests/requirements.txt --break-system-packages | |
- name: Run Bingo tests | |
run: | | |
export PYTHONPATH=${{ github.workspace }}/bingo/bingo-elastic/python | |
pytest -s --tb=no --db postgres --junit-xml=junit_report.xml | |
cat /tmp/indigo.log | |
working-directory: bingo/tests | |
- name: Login to DockerHub | |
if: startsWith(github.ref, 'refs/tags/indigo-') | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Publish Docker images | |
if: startsWith(github.ref, 'refs/tags/indigo-') | |
run: docker push epmlsop/bingo-postgres:${{ matrix.postgres_major_version }}-latest | |
- name: Publish Test Report | |
if: always() | |
uses: mikepenz/action-junit-report@v4 | |
with: | |
report_paths: 'bingo/tests/junit_report.xml' | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
check_name: "bingo_postgres_${{ matrix.postgres_major_version }}_test_report" | |