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
strategy:
matrix:
python-version: [3.7]
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
uses: dschep/install-poetry-action@v1.3
with:
create_virtualenvs: true
path: ~/.cache/pypoetry/virtualenvs
key: pypoetry-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }}
pypoetry-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }}
- name: Install Dependencies
run: poetry install
if: steps.cache.outputs.cache-hit != 'true'
run: poetry run flake8 relate course accounts tests
mypy:
name: Mypy
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.7]
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
uses: dschep/install-poetry-action@v1.3
with:
create_virtualenvs: true
path: ~/.cache/pypoetry/virtualenvs
key: pypoetry-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }}
pypoetry-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }}
- name: Install Dependencies
run: poetry install
if: steps.cache.outputs.cache-hit != 'true'
- name: "Mypy"
run: poetry run mypy relate course
cmdline:
name: Command Line
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.7]
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
uses: dschep/install-poetry-action@v1.3
with:
create_virtualenvs: true
path: ~/.cache/pypoetry/virtualenvs
key: pypoetry-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }}
pypoetry-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }}
- name: Install Dependencies
run: poetry install
if: steps.cache.outputs.cache-hit != 'true'
run: PY_EXE=$(poetry run which python) bash ./test-command-line-tool.sh $(poetry run which python)
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: Install Poetry
uses: dschep/install-poetry-action@v1.3
with:
create_virtualenvs: true
- uses: actions/cache@v1
id: cache
with:
path: ~/.cache/pypoetry/virtualenvs
key: pypoetry-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }}
pypoetry-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }}
- name: Install Dependencies
run: poetry install
if: steps.cache.outputs.cache-hit != 'true'
sudo DEBIAN_FRONTEND=noninteractive apt-get install -qq gettext
PY_EXE=$(poetry run which python) RL_CI_TEST=test bash ./run-tests-for-ci.sh
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
fail_ci_if_error: true
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
pytest-pg:
name: Pytest-postgres on Py${{ matrix.python-version }}
runs-on: ubuntu-latest
services:
postgres:
image: postgres
env:
POSTGRES_PASSWORD: relatepgpass
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
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: Install Poetry
uses: dschep/install-poetry-action@v1.3
with:
create_virtualenvs: true
- uses: actions/cache@v1
id: cache
with:
path: ~/.cache/pypoetry/virtualenvs
key: pypoetry-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }}
restore-keys: |
pypoetry-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }}
- name: Install Dependencies
run: poetry install
if: steps.cache.outputs.cache-hit != 'true'
- name: "Main Script"
run: |
sudo DEBIAN_FRONTEND=noninteractive apt-get install -qq gettext
PY_EXE=$(poetry run which python) RL_CI_TEST=test_postgres bash ./run-tests-for-ci.sh
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
fail_ci_if_error: true
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: Install Poetry
uses: dschep/install-poetry-action@v1.3
with:
create_virtualenvs: true
- uses: actions/cache@v1
id: cache
with:
path: ~/.cache/pypoetry/virtualenvs
key: pypoetry-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }}
pypoetry-${{ hashFiles('**/poetry.lock') }}-${{ matrix.python-version }}
- name: Install Dependencies
run: poetry install
if: steps.cache.outputs.cache-hit != 'true'
sudo DEBIAN_FRONTEND=noninteractive apt-get install -qq gettext
PY_EXE=$(poetry run which python) RL_CI_TEST=test_expensive bash ./run-tests-for-ci.sh
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
fail_ci_if_error: true