You've already forked snikket-web-portal
84 lines
1.9 KiB
YAML
84 lines
1.9 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- "release/*"
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
- "release/*"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
mypy:
|
|
runs-on: ubuntu-latest
|
|
|
|
name: 'typecheck: mypy'
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: '3.9'
|
|
- name: Install
|
|
run: |
|
|
set -euo pipefail
|
|
pip install mypy
|
|
pip install -r requirements.txt
|
|
pip install -r build-requirements.txt
|
|
- name: Typecheck
|
|
run: |
|
|
python -m mypy --config mypy.ini -p snikket_web
|
|
|
|
linting:
|
|
runs-on: ubuntu-latest
|
|
|
|
name: 'lint: flake8'
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: '3.9'
|
|
- name: Install
|
|
run: |
|
|
set -euo pipefail
|
|
pip install flake8 flake8-print
|
|
- name: Linting
|
|
run: |
|
|
python -m flake8 snikket_web
|
|
|
|
translation-check:
|
|
runs-on: ubuntu-latest
|
|
|
|
name: 'lint: i18n'
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: '3.9'
|
|
- name: Install
|
|
run: |
|
|
set -euo pipefail
|
|
pip install flask-babel
|
|
- name: Linting
|
|
run: |
|
|
sed -ri '/^"POT-Creation-Date: /d;/^"Generated-By: /d' snikket_web/translations/messages.pot
|
|
git add snikket_web/translations/messages.pot
|
|
make extract_translations
|
|
sed -ri '/^"POT-Creation-Date: /d;/^"Generated-By: /d' snikket_web/translations/messages.pot
|
|
git diff --exit-code --color -- snikket_web/translations/messages.pot
|
|
|
|
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Build the Docker image
|
|
run: >-
|
|
docker build .
|