Make version dynamic #116
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: python-tiledbsoma-ml CI | |
on: | |
pull_request: | |
branches: ["**"] | |
paths-ignore: | |
- CHANGELOG.md | |
- README.md | |
- "scripts/**" | |
- "notebooks/**" | |
push: | |
branches: [main] | |
paths-ignore: | |
- CHANGELOG.md | |
- README.md | |
- "scripts/**" | |
- "notebooks/**" | |
workflow_dispatch: | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
- name: Restore pre-commit cache | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pre-commit | |
key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }} | |
- name: Install pre-commit | |
run: pip -v install pre-commit | |
- name: Run pre-commit hooks on all files | |
run: pre-commit run -v -a | |
tests: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.9", "3.10", "3.11", "3.12"] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: pip | |
- name: Install prereqs | |
run: | | |
pip install --upgrade pip wheel pytest pytest-cov setuptools | |
pip install . | |
- name: Run tests | |
run: pytest -v --cov=src --cov-report=xml tests | |
build: | |
# for now, just do a test build to ensure that it works | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # for setuptools-scm | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
- name: Do build | |
run: | | |
pip install --upgrade build pip wheel setuptools setuptools-scm | |
python -m build . | |
- name: Install (and test version string) | |
run: | | |
git tag -l | |
git describe --dirty --tags --long --match *[0-9]* | |
python -m setuptools_scm | |
pip install --prefer-binary dist/tiledbsoma_ml-*.whl | |
pip list | grep tiledbsoma-ml | |
# Change directory to avoid importing local source package | |
cd .. && python -c "import tiledbsoma_ml as soma_ml; print(soma_ml.__version__)" |