Merge pull request #20 from florian-huber/update_python_and_dependencies #122
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: CI Build | |
on: | |
push: | |
pull_request: | |
types: [opened, reopened] | |
workflow_dispatch: | |
inputs: | |
tag: | |
description: Tag for manually running CI Build workflow | |
required: False | |
default: '' | |
jobs: | |
first_check: | |
name: first code check / python-3.8 / ubuntu-latest | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Python info | |
run: | | |
which python | |
python --version | |
- name: Build package and create dev environment | |
run: | | |
python -m pip install --upgrade pip | |
pip install -e .[dev] | |
- name: Show pip list | |
run: | | |
pip list | |
- name: Test with coverage | |
run: | | |
pytest --cov --cov-report term --cov-report xml --junitxml=xunit-result.xml | |
- name: Correct coverage paths | |
run: sed -i "s+$PWD/++g" coverage.xml | |
- name: Check style against standards using prospector | |
shell: bash -l {0} | |
run: prospector -o grouped -o pylint:pylint-report.txt | |
- name: Check whether import statements are used consistently | |
run: isort . --check-only --diff | |
build_pypi: | |
name: Test pypi build | |
runs-on: ubuntu-latest | |
needs: first_check | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Python info | |
run: | | |
which python | |
python --version | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
- name: Build package | |
run: | | |
pip install wheel twine | |
python setup.py sdist bdist_wheel | |
- name: Test package | |
run: | | |
python -m twine check dist/* | |
- name: Show pip list | |
run: | | |
pip list | |
- name: Install development dependencies | |
run: | | |
pip install -e .[dev] | |
- name: Show pip list again | |
run: | | |
pip list | |
- name: Run tests | |
run: | | |
pytest | |
- name: Show environment variables | |
shell: bash -l {0} | |
run: | | |
env | sort | |
test_dev: | |
name: test dev environment / python-${{ matrix.python-version }} / ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
needs: first_check | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] | |
python-version: ['3.8', '3.9', '3.10', '3.11'] | |
exclude: | |
- os: ubuntu-latest | |
python-version: 3.9 | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: "0" | |
- name: Create conda environment | |
uses: conda-incubator/setup-miniconda@v3 | |
with: | |
auto-update-conda: true | |
python-version: ${{ matrix.python-version }} | |
- name: Show conda config | |
shell: bash -l {0} | |
run: | | |
conda info | |
conda list | |
conda config --show-sources | |
conda config --show | |
conda env list | |
- name: Python info | |
shell: bash -l {0} | |
run: | | |
which python | |
python --version | |
- name: Show environment variables | |
shell: bash -l {0} | |
run: | | |
env | sort | |
- name: Install conda dependencies | |
shell: bash -l {0} | |
run: | | |
conda install -c conda-forge rdkit | |
- name: Install dev dependencies | |
shell: bash -l {0} | |
run: | | |
python -m pip install --upgrade pip | |
pip install -e .[dev] | |
- name: Show pip list | |
shell: bash -l {0} | |
run: pip list | |
- name: Run tests | |
shell: bash -l {0} | |
run: pytest |