Test #53
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: Test | |
| on: | |
| - push | |
| - pull_request | |
| jobs: | |
| test: | |
| name: Test | |
| runs-on: ubuntu-22.04 | |
| strategy: | |
| matrix: | |
| include: | |
| - python-version: '3.9' | |
| - python-version: '3.10' | |
| - python-version: '3.11' | |
| - python-version: '3.12' | |
| - python-version: '3.13' | |
| - python-version: '3.14' | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Update pip | |
| run: python -m pip install -U pip wheel setuptools build | |
| - name: Install test requirements | |
| run: python -m pip install -e ".[train]" | |
| - name: Download local data | |
| run: python setup.py download_pfam -i | |
| - name: Test package | |
| run: python -m unittest discover -v | |
| wheel: | |
| runs-on: ubuntu-latest | |
| name: Build universal wheel | |
| needs: | |
| - test | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - name: Setup Python 3.14 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.14" | |
| - name: Install build requirements | |
| run: python -m pip install -U pip wheel setuptools build | |
| - name: Build wheel | |
| run: python -m build --wheel --outdir dist | |
| - name: Store built wheels | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: wheel | |
| path: dist/* | |
| sdist: | |
| runs-on: ubuntu-latest | |
| name: Build source distribution | |
| needs: | |
| - test | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - name: Set up Python 3.14 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.14" | |
| - name: Install build requirements | |
| run: python -m pip install -U pip wheel setuptools build | |
| - name: Build distribution | |
| run: python -m build --sdist --outdir dist | |
| - name: Store built wheels | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: sdist | |
| path: dist/* | |
| install-sdist: | |
| runs-on: ubuntu-latest | |
| name: Install source distribution | |
| needs: | |
| - sdist | |
| steps: | |
| - name: Set up Python 3.14 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.14" | |
| - name: Update pip | |
| run: python -m pip install -U pip wheel setuptools build | |
| - name: Install build requirements | |
| run: python -m pip install -U pyhmmer rich | |
| - name: Download source distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: sdist | |
| path: dist/ | |
| merge-multiple: true | |
| - name: Install package from source | |
| run: python -m pip install --no-build-isolation --find-link dist/ chamois-tool | |
| upload: | |
| environment: PyPI | |
| runs-on: ubuntu-latest | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| permissions: | |
| id-token: write | |
| name: Upload | |
| needs: | |
| - sdist | |
| - install-sdist | |
| - wheel | |
| steps: | |
| - name: Download source distribution | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: sdist | |
| path: dist/ | |
| merge-multiple: true | |
| - name: Download wheel distributions | |
| uses: actions/download-artifact@v4 | |
| with: | |
| pattern: wheel | |
| path: dist/ | |
| merge-multiple: true | |
| - name: Publish distributions to PyPI | |
| uses: pypa/gh-action-pypi-publish@release/v1 | |
| release: | |
| environment: GitHub Releases | |
| runs-on: ubuntu-latest | |
| if: "startsWith(github.ref, 'refs/tags/v')" | |
| name: Release | |
| needs: upload | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Release a Changelog | |
| uses: rasmus-saks/release-a-changelog-action@v1.2.0 | |
| with: | |
| github-token: '${{ secrets.GITHUB_TOKEN }}' | |
| attach: | |
| runs-on: ubuntu-latest | |
| name: Attach artifacts to GitHub release | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| needs: release | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v2 | |
| with: | |
| submodules: true | |
| - name: Set up Python 3.14 | |
| uses: actions/setup-python@v2 | |
| with: | |
| python-version: 3.14 | |
| - name: Install build requirements | |
| run: python -m pip install -U pip wheel setuptools | |
| - name: Install project dependencies | |
| run: python -m pip install -e . | |
| - name: Build new HMM artifacts | |
| run: python setup.py download_pfam -f -r | |
| - name: Upload HMM | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: build/lib/chamois/domains/Pfam38.0.hmm.zst |