Skip to content

Commit

Permalink
restore CI
Browse files Browse the repository at this point in the history
  • Loading branch information
stefdoerr committed Jan 2, 2025
1 parent e611bc0 commit df9b190
Showing 1 changed file with 179 additions and 172 deletions.
351 changes: 179 additions & 172 deletions .github/workflows/test_and_publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,180 +3,182 @@ name: Test code and publish package
on: [push]

jobs:
# test:
# runs-on: ${{ matrix.os }}

# strategy:
# fail-fast: false
# matrix:
# os: ["ubuntu-latest", "macos-latest", "macos-13", "windows-2019"]
# python-version: ["3.9", "3.10", "3.11", "3.12"]

# defaults: # Needed for conda
# run:
# shell: bash -l {0}

# steps:
# - uses: actions/checkout@v4
# with:
# lfs: true
# submodules: true

# - uses: conda-incubator/setup-miniconda@v3
# with:
# python-version: ${{ matrix.python-version }}
# channels: acellera,conda-forge,defaults

# - name: Lint with flake8
# run: |
# pip install flake8 coverage pytest-cov pytest pytest-subtests
# # stop the build if there are Python syntax errors or undefined names
# flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
# flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics

# - name: Install moleculekit conda deps
# run: |
# conda install -y -q --file extra_requirements.txt python=${{ matrix.python-version }} -c acellera -c conda-forge
# # scikit-learn, joblib, biopython are only used for rarely-used functions in smallmol
# conda install -y -q scikit-learn joblib biopython -c conda-forge

# # - name: Install cdpkit
# # # if: ${{ matrix.os == 'ubuntu-latest' }}
# # run: |
# # # for testing CDPKit SmallMol
# # pip install CDPKit

# - name: Install moleculekit
# run: |
# pip install "numpy>=1.23.5" "Cython>=0.29.21"
# pip install .
# pip install "versioneer==0.28"
# python setup.py build_ext --inplace

# - name: List conda environment
# run: conda list

# - name: Test
# run: |
# pytest ./moleculekit
# env:
# GITHUB_ACTIONS: 1

# # - name: Upload coverage to Codecov
# # uses: codecov/codecov-action@v3

# deploypypi:
# if: startsWith(github.event.ref, 'refs/tags/')
# needs: test
# runs-on: ${{ matrix.os }}

# strategy:
# fail-fast: false
# matrix:
# os: ["ubuntu-latest"]
# python-version: ["3.10"]

# steps:
# - uses: actions/checkout@v4

# - uses: conda-incubator/setup-miniconda@v3
# with:
# activate-environment: deploy
# python-version: ${{ matrix.python-version }}

# - name: Build PyPI 📦
# run: |
# pip install numpy>=1.23.5 Cython>=0.29.21 build
# python -m build --sdist --outdir dist/ .

# - name: Publish distribution 📦 to PyPI
# uses: pypa/gh-action-pypi-publish@release/v1
# with:
# password: ${{ secrets.PUBLIC_PYPI_API_TOKEN }}
# skip_existing: true

# deploy_linux:
# if: startsWith(github.event.ref, 'refs/tags/')
# needs: test
# runs-on: ${{ matrix.os }}
# container: ${{ matrix.container }}

# strategy:
# fail-fast: false
# matrix:
# os: ["ubuntu-latest"]
# python-version: ["3.10"]
# container: ["quay.io/pypa/manylinux_2_28_x86_64"]

# steps:
# - uses: actions/checkout@v4

# - uses: conda-incubator/setup-miniconda@v2
# with:
# miniconda-version: "latest"
# activate-environment: ../deploy-env
# python-version: ${{ matrix.python-version }}

# - name: Install build deps
# shell: bash -l {0}
# run: |
# git config --global --add safe.directory '*'
# conda install anaconda-client rattler-build python=${{ matrix.python-version }} -c conda-forge
# pip install versioneer==0.28 toml pyyaml

# - name: Build conda package
# shell: bash -l {0}
# run: |
# python package/moleculekit/insert_placeholder_values.py
# rattler-build build --recipe ./package/moleculekit/recipe.yaml --output-dir ../pkg/ --no-include-recipe -c acellera -c conda-forge

# - name: Upload to conda
# shell: bash -l {0}
# run: |
# anaconda -t ${{ secrets.ANACONDA_TOKEN_BASIC }} upload -u acellera ../pkg/*/moleculekit-*.conda

# deploy_osx_win:
# if: startsWith(github.event.ref, 'refs/tags/')
# needs: test
# runs-on: ${{ matrix.os }}

# strategy:
# fail-fast: false
# matrix:
# os: ["macos-latest", "macos-13", "windows-2019"]
# python-version: ["3.10"]

# steps:
# - uses: actions/checkout@v4

# - uses: ilammy/msvc-dev-cmd@v1

# - uses: conda-incubator/setup-miniconda@v3
# with:
# miniconda-version: "latest"
# activate-environment: ../deploy-env
# python-version: ${{ matrix.python-version }}

# - name: Install build deps
# shell: bash -l {0}
# run: |
# git config --global --add safe.directory '*'
# conda install anaconda-client rattler-build python=${{ matrix.python-version }} -c conda-forge
# pip install versioneer==0.28 toml pyyaml

# - name: Build conda package
# shell: bash -l {0}
# run: |
# python package/moleculekit/insert_placeholder_values.py
# rattler-build build --recipe ./package/moleculekit/recipe.yaml --output-dir ../pkg/ --no-include-recipe -c acellera -c conda-forge

# - name: Upload to conda
# shell: bash -l {0}
# run: |
# anaconda -t ${{ secrets.ANACONDA_TOKEN_BASIC }} upload -u acellera ../pkg/*/moleculekit-*.conda
test:
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest", "macos-latest", "macos-13", "windows-2019"]
python-version: ["3.9", "3.10", "3.11", "3.12"]

defaults: # Needed for conda
run:
shell: bash -l {0}

steps:
- uses: actions/checkout@v4
with:
lfs: true
submodules: true

- uses: conda-incubator/setup-miniconda@v3
with:
python-version: ${{ matrix.python-version }}
channels: acellera,conda-forge,defaults

- name: Lint with flake8
run: |
pip install flake8 coverage pytest-cov pytest pytest-subtests
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Install moleculekit conda deps
run: |
conda install -y -q --file extra_requirements.txt python=${{ matrix.python-version }} -c acellera -c conda-forge
# scikit-learn, joblib, biopython are only used for rarely-used functions in smallmol
conda install -y -q scikit-learn joblib biopython -c conda-forge
# - name: Install cdpkit
# # if: ${{ matrix.os == 'ubuntu-latest' }}
# run: |
# # for testing CDPKit SmallMol
# pip install CDPKit

- name: Install moleculekit
run: |
pip install "numpy>=1.23.5" "Cython>=0.29.21"
pip install .
pip install "versioneer==0.28"
python setup.py build_ext --inplace
- name: List conda environment
run: conda list

- name: Test
run: |
pytest ./moleculekit
env:
GITHUB_ACTIONS: 1

# - name: Upload coverage to Codecov
# uses: codecov/codecov-action@v3

deploypypi:
if: startsWith(github.event.ref, 'refs/tags/')
needs: test
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest"]
python-version: ["3.10"]

steps:
- uses: actions/checkout@v4

- uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: deploy
python-version: ${{ matrix.python-version }}

- name: Build PyPI 📦
run: |
pip install numpy>=1.23.5 Cython>=0.29.21 build
python -m build --sdist --outdir dist/ .
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PUBLIC_PYPI_API_TOKEN }}
skip_existing: true

deploy_linux:
if: startsWith(github.event.ref, 'refs/tags/')
needs: test
runs-on: ${{ matrix.os }}
container: ${{ matrix.container }}

strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest"]
python-version: ["3.10"]
container: ["quay.io/pypa/manylinux_2_28_x86_64"]

steps:
- uses: actions/checkout@v4

- uses: conda-incubator/setup-miniconda@v2
with:
miniconda-version: "latest"
activate-environment: ../deploy-env
python-version: ${{ matrix.python-version }}

- name: Install build deps
shell: bash -l {0}
run: |
git config --global --add safe.directory '*'
conda install anaconda-client rattler-build python=${{ matrix.python-version }} -c conda-forge
pip install versioneer==0.28 toml pyyaml
- name: Build conda package
shell: bash -l {0}
run: |
python package/moleculekit/insert_placeholder_values.py
rattler-build build --recipe ./package/moleculekit/recipe.yaml --output-dir ../pkg/ --no-include-recipe -c acellera -c conda-forge
- name: Upload to conda
shell: bash -l {0}
run: |
anaconda -t ${{ secrets.ANACONDA_TOKEN_BASIC }} upload -u acellera ../pkg/*/moleculekit-*.conda
deploy_osx:
if: startsWith(github.event.ref, 'refs/tags/')
needs: test
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
matrix:
os: ["macos-latest", "macos-13"]
python-version: ["3.10"]

steps:
- uses: actions/checkout@v4

- uses: ilammy/msvc-dev-cmd@v1

- uses: conda-incubator/setup-miniconda@v3
with:
miniconda-version: "latest"
activate-environment: ../deploy-env
python-version: ${{ matrix.python-version }}

- name: Install build deps
shell: bash -l {0}
run: |
git config --global --add safe.directory '*'
conda install anaconda-client rattler-build python=${{ matrix.python-version }} -c conda-forge
pip install versioneer==0.28 toml pyyaml
- name: Build conda package
shell: bash -l {0}
run: |
python package/moleculekit/insert_placeholder_values.py
rattler-build build --recipe ./package/moleculekit/recipe.yaml --output-dir ../pkg/ --no-include-recipe -c acellera -c conda-forge
- name: Upload to conda
shell: bash -l {0}
run: |
anaconda -t ${{ secrets.ANACONDA_TOKEN_BASIC }} upload -u acellera ../pkg/*/moleculekit-*.conda
windows_build:
if: startsWith(github.event.ref, 'refs/tags/')
needs: test
runs-on: ${{ matrix.os }}

strategy:
Expand Down Expand Up @@ -210,3 +212,8 @@ jobs:
run: |
python package/moleculekit/insert_placeholder_values.py
rattler-build build --recipe ./package/moleculekit/recipe.yaml --output-dir ../pkg/ --no-include-recipe -c acellera -c conda-forge
- name: Upload to conda
shell: bash -l {0}
run: |
anaconda -t ${{ secrets.ANACONDA_TOKEN_BASIC }} upload -u acellera ../pkg/*/moleculekit-*.conda

0 comments on commit df9b190

Please sign in to comment.