zincware/MDSuite

View on GitHub
.github/workflows/pytest.yml

Summary

Maintainability
Test Coverage
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: pytest

on:
  push:
  schedule:
    - cron: '14 3 * * 1'  # at 03:14 on Monday.

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        python-version:
        - 3.8
        - 3.9
        - "3.10"

    steps:
      - uses: actions/checkout@v2
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install -r dev-requirements.txt
      - name: Install package
        run: |
          pip install .
      - name: Pytest
        env:
          CUDA_VISIBLE_DEVICES: -1
          TF_CPP_MIN_LOG_LEVEL: 3
          # this might be really dumb, but we have to suppress libcudart error
        run: |
          coverage run -m pytest
      - name: Coveralls
        env:
          COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
        run: |
          coveralls

  nbtest:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v2
        with:
          python-version: "3.9"
      - name: Install dev requirements
        run: |
          pip3 install -r dev-requirements.txt
          pip3 install nbmake
      - name: Install package
        run: |
          pip3 install .
      - name: Notebook test
        run: |
          pytest --nbmake ./examples --nbmake-timeout=7200

  docstest:
    runs-on: ubuntu-latest
    steps:
      - uses: docker://pandoc/core:2.9
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v2
        with:
          python-version: "3.9"
      - name: Install package
        run: |
          sudo apt install pandoc
          pip3 install -r dev-requirements.txt
          pip3 install .
      - name: Build documentation
        run: |
          cd ./docs
          make html