Skip to content
ci.yml 3.2 KiB
Newer Older
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: "Install poetry"
              run: pip install poetry
            - uses: actions/cache@v1
              with:
                  path: ~/.cache/pypoetry/virtualenvs
                  key: ${{ runner.os }}-poetry-${{ hashFiles('poetry.lock') }}
                  restore-keys: |
                      ${{ runner.os }}-poetry-
            - name: "Flake8"
              run: poetry run flake8 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: "Install poetry"
              run: pip install poetry
            - uses: actions/cache@v1
              with:
                  path: ~/.cache/pypoetry/virtualenvs
                  key: ${{ runner.os }}-poetry-${{ hashFiles('poetry.lock') }}
                  restore-keys: |
                      ${{ runner.os }}-poetry-
            - name: "Mypy"
              run: poetry run mypy relate course

    cmdline:
        name: Command Line
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v2
            - uses: actions/setup-python@v1
              with:
                  python-version: '3.x' 
            - name: "Install poetry"
              run: pip install poetry
            - uses: actions/cache@v1
              with:
                  path: ~/.cache/pypoetry/virtualenvs
                  key: ${{ runner.os }}-poetry-${{ hashFiles('poetry.lock') }}
                  restore-keys: |
                      ${{ runner.os }}-poetry-
            - name: "Main Script"
              run: ./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