Check sdf load error (do not merge) #6199
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 | ||
Check failure on line 1 in .github/workflows/indigo-ci.yaml
|
||
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 |