Skip to content

Check sdf load error (do not merge) #6199

Check sdf load error (do not merge)

Check sdf load error (do not merge) #6199

Workflow file for this run

name: Indigo CI

Check failure on line 1 in .github/workflows/indigo-ci.yaml

View workflow run for this annotation

GitHub Actions / .github/workflows/indigo-ci.yaml

Invalid workflow file

(Line: 239, Col: 13): Job 'build_bingo_postgres_linux_x86_64' depends on unknown job 'build_indigo_windows_mingw_x86_64'., (Line: 239, Col: 48): Job 'build_bingo_postgres_linux_x86_64' depends on unknown job 'build_indigo_ketcher_cjk'., (Line: 239, Col: 74): Job 'build_bingo_postgres_linux_x86_64' depends on unknown job 'build_bingo_oracle_linux_x86_64'., (Line: 239, Col: 107): Job 'build_bingo_postgres_linux_x86_64' depends on unknown job 'build_bingo_oracle_windows_mingw_x86_64'., (Line: 239, Col: 148): Job 'build_bingo_postgres_linux_x86_64' depends on unknown job 'build_bingo_oracle_windows_msvc_x86_64'., (Line: 315, Col: 13): Job 'build_bingo_postgres_windows_msvc_x86_64' depends on unknown job 'build_indigo_windows_mingw_x86_64'., (Line: 315, Col: 48): Job 'build_bingo_postgres_windows_msvc_x86_64' depends on unknown job 'build_indigo_ketcher_cjk'., (Line: 315, Col: 74): Job 'build_bingo_postgres_windows_msvc_x86_64' depends on unknown job 'build_bingo_oracle_linux_x86_64'., (Line: 315, Col: 107): Job 'build_bingo_postgres_windows_msvc_x86_64' depends on unknown job 'build_bingo_oracle_windows_mingw_x86_64'., (Line: 315, Col: 148): Job 'build_bingo_postgres_windows_msvc_x86_64' depends on unknown job 'build_bingo_oracle_windows_msvc_x86_64'.
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: [ macos-13, ubuntu-latest, windows-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) &&
ctest --verbose
"
- name: Build macOS
if: ${{ startsWith(matrix.os, 'macos') }}
run: |
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 $(sysctl -n hw.logicalcpu)
ctest --verbose
- name: Build Windows
if: ${{ startsWith(matrix.os, 'windows') }}
run: |
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_BUILD
ctest --verbose -C Release
- 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_libs_i386:
strategy:
fail-fast: false
matrix:
os: [ windows-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 Windows
if: ${{ startsWith(matrix.os, 'windows') }}
run: |
mkdir build
cd build
cmake .. -G "Visual Studio 17 2022" -A Win32 -DBUILD_INDIGO=ON -DBUILD_INDIGO_WRAPPERS=OFF -DBUILD_INDIGO_UTILS=OFF -DBUILD_BINGO=OFF -DBUILD_BINGO_ELASTIC=OFF -DCMAKE_SYSTEM_PROCESSOR_LOWER=i386
cmake --build . --config Release --target ALL_BUILD
ctest --verbose -C Release
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: indigo-libs-${{ fromJSON(env.OS_NAME_MAPPING_JSON)[matrix.os] }}-i386
path: dist
build_indigo_libs_aarch64:
strategy:
fail-fast: false
matrix:
os: [ macos-13, 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-arm64: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 -DCMAKE_SYSTEM_PROCESSOR_LOWER=aarch64 &&
cmake --build . --config Release --target all -- -j $(nproc) &&
ctest --verbose -R dlopen
"
- name: Build macOS
if: ${{ startsWith(matrix.os, 'macos') }}
run: |
mkdir build
cd build
cmake .. -DBUILD_INDIGO=ON -DBUILD_INDIGO_WRAPPERS=OFF -DBUILD_INDIGO_UTILS=OFF -DBUILD_BINGO=OFF -DBUILD_BINGO_ELASTIC=OFF -DCMAKE_SYSTEM_PROCESSOR_LOWER=aarch64 -DCMAKE_OSX_ARCHITECTURES=arm64
cmake --build . --config Release --target all -- -j $(sysctl -n hw.logicalcpu)
# ctest --verbose # NOTE: We can't run tests until we have native ARM64 node
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: indigo-libs-${{ fromJSON(env.OS_NAME_MAPPING_JSON)[matrix.os] }}-aarch64
path: dist
build_indigo_wrappers:
strategy:
fail-fast: false
matrix:
wrapper: [ python, java, dotnet ]
runs-on: ubuntu-latest
needs: [ build_indigo_libs_x86_64, build_indigo_libs_aarch64, build_indigo_libs_i386 ]
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: Download Linux native libs aarch64
uses: actions/download-artifact@v4
with:
name: indigo-libs-linux-aarch64
path: dist/
- name: Download Windows native libs x86_64
uses: actions/download-artifact@v4
with:
name: indigo-libs-windows-x86_64
path: dist/
- name: Download Windows native libs i386
uses: actions/download-artifact@v4
with:
name: indigo-libs-windows-i386
path: dist/
- name: Download macOS native libs x86_64
uses: actions/download-artifact@v4
with:
name: indigo-libs-macos-x86_64
path: dist/
- name: Download macOS native libs aarch64
uses: actions/download-artifact@v4
with:
name: indigo-libs-macos-aarch64
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
- name: Upload Java wrappers
if: ${{ matrix.wrapper == 'java' }}
uses: actions/upload-artifact@v4
with:
name: indigo-java
path: dist/*.jar
- name: Upload .NET wrappers
if: ${{ matrix.wrapper == 'dotnet' }}
uses: actions/upload-artifact@v4
with:
name: indigo-dotnet
path: dist/*.nupkg
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: [build_indigo_windows_mingw_x86_64, build_indigo_ketcher_cjk, build_bingo_oracle_linux_x86_64, build_bingo_oracle_windows_mingw_x86_64, build_bingo_oracle_windows_msvc_x86_64]
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: 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"
build_bingo_postgres_windows_msvc_x86_64:
strategy:
fail-fast: false
matrix:
postgres_major_version: [ "13", "14", "15", "16" ]
runs-on: windows-latest
needs: [build_indigo_windows_mingw_x86_64, build_indigo_ketcher_cjk, build_bingo_oracle_linux_x86_64, build_bingo_oracle_windows_mingw_x86_64, build_bingo_oracle_windows_msvc_x86_64]
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: Setup Postgres
run: |
$pg_version = switch(${{ matrix.postgres_major_version }}) { "17" { "17.5" } "16" { "16.9" } "15" { "15.13" } "14" { "14.18" } "13" { "13.21" } }
curl -O https://get.enterprisedb.com/postgresql/postgresql-${pg_version}-1-windows-x64-binaries.zip
Expand-Archive postgresql-${pg_version}-1-windows-x64-binaries.zip
mv postgresql-${pg_version}-1-windows-x64-binaries/pgsql pgsql
cp bingo/postgres/patches/generic-msvc.h pgsql/include/server/port/atomics/generic-msvc.h
- name: Build bingo-postgres
run: |
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 -DPostgreSQL_ROOT="$(resolve-path $pwd/../pgsql)"
cmake --build . --config Release --target package-bingo-postgres
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: bingo-postgres-${{ matrix.postgres_major_version }}-windows-x86_64
path: dist/bingo-postgres*.zip
build_bingo_postgres_macos_x86_64:
strategy:
fail-fast: false
matrix:
postgres_major_version: [ 13, 14, 15, 16, 17 ]
runs-on: macos-13
needs: [build_indigo_windows_mingw_x86_64, build_indigo_ketcher_cjk, build_bingo_oracle_linux_x86_64, build_bingo_oracle_windows_mingw_x86_64, build_bingo_oracle_windows_msvc_x86_64]
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: Setup Postgres
run: |
case ${{ matrix.postgres_major_version }} in 17) pg_version=17.5;; 16) pg_version=16.9;; 15) pg_version=15.13;; 14) pg_version=14.18;; 13) pg_version=13.21;; esac;
curl -O https://get.enterprisedb.com/postgresql/postgresql-${pg_version}-1-osx-binaries.zip
unzip postgresql-${pg_version}-1-osx-binaries.zip
mv pgsql/include/zlib.h pgsql/include/zlib.h.bck
- name: Build bingo-postgres
run: |
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 -DPostgreSQL_ROOT="$(dirname $PWD)/pgsql" -DPostgreSQL_ADDITIONAL_VERSIONS=${{ matrix.postgres_major_version }}
cmake --build . --config Release --target package-bingo-postgres
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: bingo-postgres-${{ matrix.postgres_major_version }}-macos-x86_64
path: dist/bingo-postgres*.tgz
build_bingo_sqlserver_windows_msvc_x86_64:
strategy:
fail-fast: false
matrix:
os: [ windows-latest ]
runs-on: ${{ matrix.os }}
needs: [build_bingo_postgres_linux_x86_64, build_bingo_postgres_windows_msvc_x86_64, build_bingo_postgres_macos_x86_64]
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
run: |
mkdir build
cd build
cmake .. -DBUILD_BINGO_SQLSERVER=ON -DBUILD_BINGO_POSTGRES=OFF -DBUILD_BINGO_ORACLE=OFF -DBUILD_INDIGO=OFF -DBUILD_INDIGO_WRAPPERS=OFF -DBUILD_INDIGO_UTILS=OFF -DBUILD_BINGO_ELASTIC=OFF
cmake --build . --config Release --target package-bingo-sqlserver
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: bingo-sqlserver-${{ matrix.os }}-x86_64
path: dist/bingo-sqlserver*.zip
publish_indigo_to_pypi:
if: startsWith(github.ref, 'refs/tags/indigo-')
runs-on: ubuntu-latest
needs: [test_indigo_python_x86_64, test_indigo_java_x86_64, test_indigo_dotnet_x86_64, test_indigo_python_i386, test_indigo_java_i386, test_indigo_dotnet_i386, test_indigo_python_aarch64, test_indigo_java_aarch64, merge_bingo_elastic_python_linux_x86_64, test_bingo_elastic_java_linux_x86_64, build_indigo_ketcher]
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 -p dist/lib
- name: Download native shared libraries
uses: actions/download-artifact@v4
with:
name: indigo-native-shared-libs
path: dist/lib
- name: Download Python wheels
uses: actions/download-artifact@v4
with:
name: indigo-python
path: dist/
- name: Download bingo-elastic-python
uses: actions/download-artifact@v4
with:
name: bingo-elastic-python
path: dist/
- name: Publish Python wheels to PyPI
env:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
run: |
twine upload -u __token__ -p ${PYPI_TOKEN} --skip-existing dist/*.whl
publish_indigo_to_nuget:
if: startsWith(github.ref, 'refs/tags/indigo-')
runs-on: ubuntu-latest
needs: [test_indigo_python_x86_64, test_indigo_java_x86_64, test_indigo_dotnet_x86_64, test_indigo_python_i386, test_indigo_java_i386, test_indigo_dotnet_i386, test_indigo_python_aarch64, test_indigo_java_aarch64, merge_bingo_elastic_python_linux_x86_64, test_bingo_elastic_java_linux_x86_64, build_indigo_ketcher]
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 -p dist/lib
- name: Download native shared libraries
uses: actions/download-artifact@v4
with:
name: indigo-native-shared-libs
path: dist/lib
- name: Download .NET nupkg
uses: actions/download-artifact@v4
with:
name: indigo-dotnet
path: dist/
- name: Publish .NET nupkg to Nuget
env:
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
run: dotnet nuget push dist/*.nupkg --api-key ${NUGET_API_KEY} --source https://api.nuget.org/v3/index.json --skip-duplicate
publish_indigo_to_npm:
if: startsWith(github.ref, 'refs/tags/indigo-')
runs-on: ubuntu-latest
needs: [test_indigo_python_x86_64, test_indigo_java_x86_64, test_indigo_dotnet_x86_64, test_indigo_python_i386, test_indigo_java_i386, test_indigo_dotnet_i386, test_indigo_python_aarch64, test_indigo_java_aarch64, merge_bingo_elastic_python_linux_x86_64, test_bingo_elastic_java_linux_x86_64, build_indigo_ketcher]
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 -p dist/lib
- name: Download native shared libraries
uses: actions/download-artifact@v4
with:
name: indigo-native-shared-libs
path: dist/lib
- name: Download indigo-ketcher NPM package
uses: actions/download-artifact@v4
with:
name: indigo-ketcher
path: dist/
- name: Publish indigo-ketcher to NPM
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NPM_EMAIL: ${{ secrets.NPM_EMAIL }}
run: |
echo //registry.npmjs.org/:_authToken=${NPM_TOKEN} >> ~/.npmrc
echo email=${NPM_EMAIL} >> ~/.npmrc
echo always-auth=true >> ~/.npmrc
bash .ci/publish_npm.sh
publish_indigo_to_maven:
if: startsWith(github.ref, 'refs/tags/indigo-')
runs-on: ubuntu-latest
needs: [test_indigo_python_x86_64, test_indigo_java_x86_64, test_indigo_dotnet_x86_64, test_indigo_python_i386, test_indigo_java_i386, test_indigo_dotnet_i386, test_indigo_python_aarch64, test_indigo_java_aarch64, merge_bingo_elastic_python_linux_x86_64, test_bingo_elastic_java_linux_x86_64, build_indigo_ketcher]
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 -p dist/lib
- name: Download native shared libraries
uses: actions/download-artifact@v4
with:
name: indigo-native-shared-libs
path: dist/lib
- name: Publish Java jars to Maven Central
env:
MAVEN_USER: ${{ secrets.MAVEN_USER }}
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
GPG_PRIVATE_KEY: ${{ secrets.MK_GPG_PRIVATE_KEY }}
GPG_PASSPHRASE: ${{ secrets.MK_GPG_PASSPHRASE }}
run: |
pwd
set -eux
apt install -y gnupg
mkdir /root/.m2
echo ${GPG_PRIVATE_KEY} > gpg.key
gpg --batch --import gpg.key
rm gpg.key
cd api/java
sed -e "s/MAVEN_USER/${MAVEN_USER}/" settings-template.xml | sed -e "s/MAVEN_PASSWORD/${MAVEN_PASSWORD}/" > /root/.m2/settings.xml
./mvnw -e deploy -P sign-artifacts -Dossrh.user=${MAVEN_USER} -Dossrh.password=${MAVEN_PASSWORD} -Dgpg.passphrase=${GPG_PASSPHRASE}
cd ${GITHUB_WORKSPACE}/bingo/bingo-elastic/java/
${GITHUB_WORKSPACE}/api/java/mvnw -DskipTests -Dmaven.test.skip=true -e deploy -P sign-artifacts -Dossrh.user=${MAVEN_USER} -Dossrh.password=${MAVEN_PASSWORD} -Dgpg.passphrase=${GPG_PASSPHRASE}
build_test_publish_indigo_service_old:
timeout-minutes: 60
runs-on: ubuntu-latest
needs: [build_bingo_postgres_linux_x86_64, build_bingo_postgres_windows_msvc_x86_64, build_bingo_postgres_macos_x86_64]
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: Download wrappers
uses: actions/download-artifact@v4
with:
name: indigo-python
path: utils/indigo-service/backend/lib/
- name: Build
run: docker build -f ./utils/indigo-service/backend/Dockerfile -t epmlsop/indigo-service:latest ./utils/indigo-service/backend
- name: Test Imago & Indigo
run: |
docker run --rm=true -d -p 8080:80 --name=indigo_service epmlsop/indigo-service:latest
sleep 10
docker logs indigo_service
docker ps
export INDIGO_SERVICE_URL=http://localhost:8080/v2
python3 utils/indigo-service/backend/service/tests/api/imago_test.py
python3 utils/indigo-service/backend/service/tests/api/indigo_test.py
docker logs indigo_service
docker stop indigo_service
# TODO: add indigo tests
# - name: Test
# run: |
# container_id=$(docker run --detach -it --rm -p 12345:80 epmlsop/indigo-service:latest)
# echo ${container_id}
# docker logs ${container_id}
# docker ps
# curl http://localhost:12345/v2/indigo/info
# docker logs ${container_id}
# docker stop ${container_id}
- 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 release
if: startsWith(github.ref, 'refs/tags/indigo-')
run: |
export tag=${{ github.ref }}
export clean_tag=${tag/refs\/tags\/indigo-/}
docker tag epmlsop/indigo-service:latest epmlsop/indigo-service:${clean_tag}
docker push epmlsop/indigo-service:${clean_tag}
docker push epmlsop/indigo-service:latest
build_test_publish_indigo_service_new:
timeout-minutes: 60
runs-on: ubuntu-latest
needs: [build_bingo_postgres_linux_x86_64, build_bingo_postgres_windows_msvc_x86_64, build_bingo_postgres_macos_x86_64]
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: Download wrappers
uses: actions/download-artifact@v4
with:
name: indigo-python
path: api/http/
- name: Build
run: docker build -f ./api/http/Dockerfile -t epmlsop/indigo-service:enhanced-latest ./api/http
- 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 release
if: startsWith(github.ref, 'refs/tags/indigo-')
run: |
export tag=${{ github.ref }}
export clean_tag=${tag/refs\/tags\/indigo-/}
docker tag epmlsop/indigo-service:enhanced-latest epmlsop/indigo-service:enhanced-${clean_tag}
docker push epmlsop/indigo-service:enhanced-${clean_tag}
docker push epmlsop/indigo-service:enhanced-latest