Skip to content

Replace setup.py and versioneer with pyproject.toml and setuptools_scm. #271

Replace setup.py and versioneer with pyproject.toml and setuptools_scm.

Replace setup.py and versioneer with pyproject.toml and setuptools_scm. #271

Workflow file for this run

jobs:
test:
defaults:
run:
shell: bash -el {0}
strategy:
matrix:
os: [ubuntu-latest]
python: ['3.8', '3.9', '3.10', '3.11']
numba_boundscheck: [0]
include:
- os: macos-latest
python: '3.10'
- os: windows-latest
python: '3.10'
- os: ubuntu-latest
python: '3.10'
numba_boundscheck: 1
fail-fast: false
runs-on: ${{ matrix.os }}
env:
PYTHON_VERSION: ${{ matrix.python }}
NUMBA_BOUNDSCHECK: ${{ matrix.numba_boundscheck }}
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: Cache conda
uses: actions/cache@v3
env:
# Increase this value to reset cache if ci/environment.yml has not changed
CACHE_NUMBER: 0
with:
path: ~/conda_pkgs_dir
key:
test-${{ matrix.os }}-conda-py${{ matrix.python }}-${{ env.CACHE_NUMBER }}-${{
hashFiles('ci/environment.yml') }}
- uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: sparse-dev
allow-softlinks: true
environment-file: ci/environment.yml
python-version: ${{ matrix.python }}
miniforge-variant: Mambaforge
use-only-tar-bz2: true
use-mamba: true
- name: Install package
run: |
pip install -e .[tests]
- name: Run tests
run: |
pytest --pyargs sparse
- uses: codecov/codecov-action@v3
if: always()
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action/composite@v1
if: always()
with:
files: "**/test-*.xml"
docs:
defaults:
run:
shell: bash -el {0}
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: Cache conda
uses: actions/cache@v3
env:
# Increase this value to reset cache if ci/environment.yml has not changed
CACHE_NUMBER: 0
with:
path: ~/conda_pkgs_dir
key:
docs-conda-${{ env.CACHE_NUMBER }}-${{ hashFiles('ci/environment.yml') }}
- uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: sparse-dev
allow-softlinks: true
environment-file: ci/environment.yml
python-version: '3.10'
miniforge-variant: Mambaforge
use-only-tar-bz2: true
use-mamba: true
- name: Install package
run: |
pip install -e .[docs]
- name: Run tests
run: |
sphinx-build -W -b html docs/ _build/html
- uses: actions/upload-artifact@v1
with:
name: Documentation
path: _build/html
on:
# Trigger the workflow on push or pull request,
# but only for the main branch
push:
branches:
- master
- vnext
pull_request:
branches:
- master
- vnext
# Also trigger on page_build, as well as release created events
page_build:
release:
types: # This configuration does not affect the page_build event above
- created