Version 1.07.2 #518
This file contains 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: InChI Continuous Integration | |
on: | |
push: | |
branches: [ main, rwth ] | |
pull_request: | |
branches: [ main, rwth ] | |
workflow_dispatch: | |
jobs: | |
test_glibc_gcc: | |
runs-on: ubuntu-latest | |
container: gcc:14 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: Install test dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install -e INCHI-1-TEST[invariance-tests] | |
- uses: ./.github/actions/compile_inchi_exe | |
id: compile_exe | |
- name: Run executable tests | |
if: ${{ !cancelled() && steps.compile_exe.outcome == 'success' }} | |
run: pytest INCHI-1-TEST/tests/test_executable | |
- uses: ./.github/actions/compile_inchi_lib | |
id: compile_lib | |
- name: Run multithreading test | |
if: ${{ !cancelled() && steps.compile_lib.outcome == 'success' }} | |
run: python INCHI-1-TEST/tests/test_library/test_multithreading.py | |
timeout-minutes: 1 | |
- uses: ./.github/actions/regression_tests | |
if: ${{ !cancelled() && steps.compile_lib.outcome == 'success' }} | |
with: | |
artifact-name: regression-test-results_glibc_gcc | |
- uses: ./.github/actions/invariance_tests | |
if: ${{ !cancelled() && steps.compile_lib.outcome == 'success' }} | |
with: | |
artifact-name: invariance-test-results_glibc_gcc | |
test_musl_gcc: | |
runs-on: ubuntu-latest | |
# We need Python 3.12. That's why we're using alpine:edge. | |
# Currently (May 2024) edge is the only Alpine version with Python 3.12. | |
# Once edge advances, the Alpine Python version will be bumped and `python -m pip install -e INCHI-1-TEST` will break. | |
# TODO: Find more sustainable solution. | |
container: alpine:edge | |
steps: | |
- name: Install build and test environment | |
run: | | |
apk add bash git musl-dev gcc g++ make python3 py-pip | |
# We need to install git before checking out the repository. | |
# Otherwise, the repository will be downloaded using the GitHub REST API instead of git. | |
- uses: actions/checkout@v4 | |
- name: Show Python version | |
run: | | |
python --version | |
- name: Configure pip to break system packages | |
run: | | |
mkdir -p ~/.config/pip | |
cat <<EOT >> ~/.config/pip/pip.conf | |
[global] | |
break-system-packages = true | |
EOT | |
- name: Install test dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install -e INCHI-1-TEST | |
- uses: ./.github/actions/compile_inchi_exe | |
id: compile_exe | |
- name: Run executable tests | |
if: ${{ !cancelled() && steps.compile_exe.outcome == 'success' }} | |
run: pytest INCHI-1-TEST/tests/test_executable | |
- uses: ./.github/actions/compile_inchi_lib | |
id: compile_lib | |
- name: Run multithreading test | |
if: ${{ !cancelled() && steps.compile_lib.outcome == 'success' }} | |
run: python INCHI-1-TEST/tests/test_library/test_multithreading.py | |
timeout-minutes: 1 | |
- uses: ./.github/actions/regression_tests | |
if: ${{ !cancelled() && steps.compile_lib.outcome == 'success' }} | |
with: | |
artifact-name: regression-test-results_musl_gcc | |
# FIXME: We don't run invariance test on alpine yet because of difficulties with RDKit installation. |