fix: Correct get_reference_length
type hint
#348
Workflow file for this run
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 | |
on: [push, pull_request] | |
jobs: | |
direct: | |
runs-on: ${{ matrix.os }}-latest | |
strategy: | |
matrix: | |
os: [ubuntu, macos] | |
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] | |
exclude: | |
# Run only the latest few 3.x versions on macOS | |
- os: macos | |
python-version: 3.7 | |
- os: macos | |
python-version: 3.8 | |
- os: macos | |
python-version: 3.9 | |
steps: | |
- name: Checkout pysam | |
uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install prerequisite Python libraries | |
run: pip install cython pytest pytest-pep8 setuptools | |
- name: Install Linux build prerequisites | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -q --no-install-recommends --no-install-suggests libcurl4-openssl-dev | |
- name: Update macOS build prerequisites | |
if: runner.os == 'macOS' | |
run: | | |
brew unlink xz || true # Remove brewed liblzma as it is not multiarch | |
- name: Build (directly from checkout) | |
run: python setup.py build | |
- name: Install test prerequisites | |
run: | | |
case $RUNNER_OS in | |
Linux) | |
sudo apt-get install -q --no-install-recommends --no-install-suggests samtools bcftools tabix | |
;; | |
macOS) | |
brew install -q samtools bcftools | |
;; | |
esac | |
- name: Run tests | |
run: | | |
export PYTHONPATH=$(echo $GITHUB_WORKSPACE/build/lib.*) | |
export REF_PATH=':' | |
pytest | |
sdist: | |
runs-on: ${{ matrix.os }}-latest | |
strategy: | |
matrix: | |
os: [ubuntu, macos] | |
python-version: ['3.10'] | |
steps: | |
- name: Checkout pysam | |
uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install prerequisite Python libraries | |
run: pip install cython pytest pytest-pep8 | |
- name: Install build prerequisites | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -q --no-install-recommends --no-install-suggests libcurl4-openssl-dev | |
- name: Create source distribution | |
run: python setup.py sdist --owner=root --group=root | |
- name: Build (via sdist tarball) | |
run: pip install --verbose --no-deps --no-binary=':all:' pysam-*.tar.gz | |
working-directory: dist | |
- name: Install test prerequisites | |
run: | | |
case $RUNNER_OS in | |
Linux) | |
sudo apt-get install -q --no-install-recommends --no-install-suggests samtools bcftools tabix | |
;; | |
macOS) | |
brew install -q samtools bcftools | |
;; | |
esac | |
- name: Run tests | |
run: REF_PATH=':' pytest | |
- name: Upload sdist tarball | |
if: runner.os == 'Linux' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: sdist | |
path: dist/pysam-*.tar.gz | |
retention-days: 14 | |
conda: | |
timeout-minutes: 20 | |
runs-on: ${{ matrix.os }}-latest | |
strategy: | |
matrix: | |
os: [ubuntu] | |
python-version: ['3.10'] | |
defaults: | |
run: | |
shell: bash -el {0} # needed for conda activation | |
env: | |
HTSLIB_CONFIGURE_OPTIONS: "--disable-libcurl" | |
steps: | |
- name: Checkout pysam | |
uses: actions/checkout@v4 | |
- name: Set up Conda and Python ${{ matrix.python-version }} | |
uses: conda-incubator/setup-miniconda@v3 | |
with: | |
channels: conda-forge,bioconda | |
channel-priority: strict | |
python-version: ${{ matrix.python-version }} | |
environment-file: devtools/environment-dev.yaml | |
auto-activate-base: false | |
- name: Build (directly from checkout) | |
run: python setup.py install | |
- name: Install test prerequisites via Conda | |
run: conda install "samtools>=1.11" "bcftools>=1.11" "htslib>=1.11" pytest | |
- name: Run tests | |
run: REF_PATH=':' pytest |