Skip to content

fix CI because things are not as reproducible as they make you believe they are #782

fix CI because things are not as reproducible as they make you believe they are

fix CI because things are not as reproducible as they make you believe they are #782

Workflow file for this run

---
name: test nornir
on: [push,pull_request]
jobs:
linters:
name: linters
strategy:
matrix:
python-version: [ '3.9' ]
platform: [ubuntu-latest]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- name: Install Poetry
uses: snok/install-poetry@v1
with:
version: 1.3.2
virtualenvs-create: true
virtualenvs-in-project: true
- name: Cache Poetry virtualenv
uses: actions/cache@v2
id: cached-poetry-dependencies
with:
path: .venv
key: venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}
- name: Install Dependencies
run: poetry install
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
- name: Run pylama
run: make pylama
- name: Run black
run: make black
- name: Run mypy
run: make mypy
- name: Run sphinx
run: |
sudo apt-get install pandoc
make sphinx
pytest:
name: Testing on Python ${{ matrix.python-version }} (${{ matrix.platform}})
defaults:
run:
shell: bash
strategy:
matrix:
python-version: [ '3.8', '3.9', '3.10', '3.11' ]
platform: [ubuntu-latest, macos-13, windows-2019]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
uses: snok/install-poetry@v1
with:
version: 1.3.2
virtualenvs-create: true
virtualenvs-in-project: true
- name: Cache Poetry virtualenv
uses: actions/cache@v2
id: cached-poetry-dependencies
with:
path: .venv
key: venv-${{ matrix.python-version }}-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}
if: ${{ matrix.platform != 'windows-latest' }} # windows hangs if using a cached venv
- name: Install Dependencies
run: poetry install
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
- name: Run pytest
run: make pytest
if: ${{ matrix.platform != 'windows-latest' }}
- name: Run pytest
run: poetry run pytest --cov=nornir --cov-report=term-missing
if: ${{ matrix.platform == 'windows-latest' }}
- name: Run nbval
run: make nbval
if: ${{ matrix.platform != 'windows-latest' }}
# release:
# name: Releasing to pypi
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@master
# - name: Build
# uses: abatilo/[email protected]
# with:
# python_version: 3.8.0
# poetry_version: 1.3.2
# working_directory: .
# args: build
# - name: Publish package
# if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
# uses: pypa/gh-action-pypi-publish@master
# with:
# user: __token__
# password: ${{ secrets.pypi_password }}