oemof/oemof-solph

View on GitHub
.github/workflows/tox_checks.yml

Summary

Maintainability
Test Coverage
# NB: this name is used in the status badge
name: tox checks

on:
  push:
    branches:
      - master
      - dev
  pull_request:

  workflow_dispatch:
  schedule:
    - cron: "0 5 * * 6"  # 5:00 UTC every Saturday

jobs:
  lint:
    name: ${{ matrix.toxenv }}
    runs-on: ubuntu-latest

    strategy:
      matrix:
        toxenv:
          - clean
          - check
          - docs

    steps:
      - name: Update package list
        run: sudo apt update
      - name: Install LaTeX
        run: sudo apt install dvipng rubber texlive-latex-extra
      - name: Git clone
        uses: actions/checkout@v2

      - name: Set up Python ${{ env.default_python || '3.9' }}
        uses: actions/setup-python@v5
        with:
          python-version: "${{ env.default_python || '3.9' }}"

      - name: Pip cache
        uses: actions/cache@v2
        with:
          path: ~/.cache/pip
          key: ${{ runner.os }}-pip-${{ matrix.toxenv }}-${{ hashFiles('tox.ini', 'setup.py') }}
          restore-keys: |
            ${{ runner.os }}-pip-${{ matrix.toxenv }}-
            ${{ runner.os }}-pip-

      - name: Install dependencies
        run: |
          python -m pip install -U pip
          python -m pip install -U setuptools wheel build
          python -m pip install -U tox

      - name: Run ${{ matrix.toxenv }}
        run: python -m tox -e ${{ matrix.toxenv }}