name: CI
on:
    push:
        branches:
        - master
    pull_request:
        paths-ignore:
        - 'doc/*.rst'
    schedule:
        - cron:  '17 3 * * 0'

jobs:
    flake8:
        name: Flake8
        runs-on: ubuntu-latest
        steps:
        -   uses: actions/checkout@v2
        -
            uses: actions/setup-python@v1
            with:
                python-version: '3.x' 
        -   name: "Main Script"
            run: |
                curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-flake8.sh
                . ./prepare-and-run-flake8.sh relate course accounts tests bin

    mypy:
        name: Mypy
        runs-on: ubuntu-latest
        steps:
        -   uses: actions/checkout@v2
        -
            uses: actions/setup-python@v1
            with:
                python-version: '3.x' 
        -   name: "Main Script"
            run: |
                curl -L -O -k https://gitlab.tiker.net/inducer/ci-support/raw/master/prepare-and-run-mypy.sh
                . ./prepare-and-run-mypy.sh python3 mypy

    cmdline:
        name: Command Line
        runs-on: ubuntu-latest
        steps:
        -   uses: actions/checkout@v2
        -
            uses: actions/setup-python@v1
            with:
                python-version: '3.x' 
        -   name: "Main Script"
            run: |
                PY_EXE=python3 bash ./test-command-line-tool.sh python3

    pytest:
        name: Pytest on Py${{ matrix.python-version }}
        runs-on: ubuntu-latest
        strategy:
            matrix:
                python-version: [3.6, 3.7, 3.8]
        steps:
        -   uses: actions/checkout@v2
        -
            uses: actions/setup-python@v1
            with:
                python-version: ${{ matrix.python-version }}
        -   name: "Main Script"
            run: |
                sudo apt-get install gettext
                PY_EXE=python3 RL_CI_TEST=test bash ./run-tests-for-ci.sh

    pytest_expensive:
        name: Pytest Expensive on Py${{ matrix.python-version }}
        runs-on: ubuntu-latest
        strategy:
            matrix:
                python-version: [3.6, 3.7, 3.8]
        steps:
        -   uses: actions/checkout@v2
        -
            uses: actions/setup-python@v1
            with:
                python-version: ${{ matrix.python-version }}
        -   name: "Main Script"
            run: |
                sudo apt-get install gettext
                PY_EXE=python3 RL_CI_TEST=test_expensive bash ./run-tests-for-ci.sh

# vim: sw=4

