pylhc/generic_parser

View on GitHub
.github/workflows/cron.yml

Summary

Maintainability
Test Coverage
# Runs all tests on master everyday at 10 am (UTC time)
name: Cron Testing

defaults:
  run:
    shell: bash

on:  # Runs on master branch on Mondays at 3am UTC time
  schedule:
    - cron:  '* 3 * * mon'

jobs:
  tests:
    name: ${{ matrix.os }} / ${{ matrix.python-version }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-18.04, ubuntu-20.04, macos-latest, windows-latest]
        # Make sure to escape 3.10 with quotes so it doesn't get interpreted as float 3.1 by GA's parser
        python-version: [3.7, 3.8, 3.9, "3.10", 3.x]  # crons should always run latest python hence 3.x

    steps:
      - uses: actions/checkout@v3

      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
          cache: 'pip'
          cache-dependency-path: '**/setup.py'

      - name: Get full Python version
        id: full-python-version
        run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")

      - name: Upgrade pip, setuptools and wheel
        run: python -m pip install --upgrade pip setuptools wheel

      - name: Install package
        run: python -m pip install '.[test]'

      - name: Run all tests
        run: python -m pytest