Test build in CI & prepare release 0.5.1 #487
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: Test build | ||
run: python -m pip install dist/*.whl | ||
run: python -c "from ivmodels import KClass" | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
name: wheels | ||
path: dist/* |