Test build in CI & prepare release 0.5.1 #488
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: | |
branches: [ main ] | |
pull_request: | |
jobs: | |
unittest: | |
name: Unit tests - ${{ matrix.PYTHON_VERSION }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
PYTHON_VERSION: ["3.12"] | |
defaults: | |
run: | |
# see https://github.com/conda-incubator/setup-miniconda/#important | |
shell: bash -l {0} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Conda env | |
uses: mamba-org/provision-with-micromamba@e2b397b12d0a38069451664382b769c9456e3d6d | |
with: | |
cache-env: true | |
extra-specs: | | |
python=${{ matrix.PYTHON_VERSION }} | |
- name: Install repository | |
run: python -m pip install --no-build-isolation --no-deps --disable-pip-version-check -e . | |
- name: Pytest | |
run: pytest --cov --cov-report xml tests | |
- name: codecov | |
uses: codecov/[email protected] | |
with: | |
file: ./coverage.xml | |
token: ${{ secrets.CODECOV_TOKEN }} | |
name: pytest-python${{ matrix.PYTHON_VERSION }} | |
pre-commit-checks: | |
name: "Linux - pre-commit checks - Python 3.12" | |
timeout-minutes: 30 | |
runs-on: ubuntu-latest | |
env: | |
PRE_COMMIT_USE_MICROMAMBA: 1 | |
steps: | |
- name: Checkout branch | |
uses: actions/[email protected] | |
- name: Set up micromamba | |
uses: mamba-org/setup-micromamba@d05808540d968a55ca33c798e0661fb98f533c73 | |
- name: Add micromamba to GITHUB_PATH | |
run: echo "${HOME}/micromamba-bin" >> "$GITHUB_PATH" | |
- name: Install Python 3.12 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.12" | |
- name: Run pre-commit checks | |
uses: pre-commit/[email protected] | |
python-build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
name: Install Python | |
with: | |
python-version: '3.10' | |
- name: Install build dependencies | |
run: python -m pip install build | |
- name: Build source distribution and wheel | |
run: python -m build --sdist --wheel | |
- name: Install wheel | |
run: python -m pip install dist/*.whl | |
- name: Test import | |
run: python -c "from ivmodels import KClass" | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: wheels | |
path: dist/* |