Skip to content

Merge pull request #178 from SFTtech/milo/refactorings #303

Merge pull request #178 from SFTtech/milo/refactorings

Merge pull request #178 from SFTtech/milo/refactorings #303

Workflow file for this run

name: Tests
on:
push:
branches: [ "master" ]
pull_request:
jobs:
pylint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.10
uses: actions/setup-python@v2
with:
python-version: "3.10"
- name: Install dependencies
run: pip install -e '.[dev,test]'
- name: Analysing the code with pylint
run: make pylint
mypy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.10
uses: actions/setup-python@v2
with:
python-version: "3.10"
- name: Install dependencies
run: pip install -e '.[dev,test]'
- name: Analysing the code with mypy
run: make mypy
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version:
- "3.10"
- "3.11"
os: [ubuntu-latest]
services:
postgres:
image: postgres
env:
POSTGRES_PASSWORD: "password"
POSTGRES_USER: "abrechnung"
POSTGRES_DB: "abrechnung"
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
env:
TEST_DB_USER: "abrechnung"
TEST_DB_HOST: "localhost"
TEST_DB_DATABASE: "abrechnung"
TEST_DB_PASSWORD: "password"
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: pip install -e '.[dev,test]'
- name: Run all tests
run: pytest tests --doctest-modules --junitxml=junit/test-results.xml --cov=com --cov-report=xml --cov-report=html
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.10
uses: actions/setup-python@v2
with:
python-version: "3.10"
- name: Install dependencies
run: pip install -e '.[dev,test]'
- name: Check formatting
run: make check-format
format-frontend:
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps:
- uses: actions/checkout@v2
- name: Set up Nodejs
uses: actions/setup-node@v2
with:
node-version: "18"
cache: "npm"
cache-dependency-path: frontend/package-lock.json
- name: Install dependencies
run: npm ci
- name: Check JavaScript formatting
run: npx prettier --check .
build-web:
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps:
- uses: actions/checkout@v2
- name: Set up Nodejs
uses: actions/setup-node@v2
with:
node-version: "18"
cache: "npm"
cache-dependency-path: frontend/package-lock.json
- name: Install dependencies
run: npm ci
- name: Build web app
run: npx nx build web
test-frontend:
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps:
- uses: actions/checkout@v2
- name: Set up Nodejs
uses: actions/setup-node@v2
with:
node-version: "18"
cache: "npm"
cache-dependency-path: frontend/package-lock.json
- name: Install dependencies
run: npm ci
- name: Build web app
run: npx nx run-many --target test
lint-frontend:
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps:
- uses: actions/checkout@v2
- name: Set up Nodejs
uses: actions/setup-node@v2
with:
node-version: "18"
cache: "npm"
cache-dependency-path: frontend/package-lock.json
- name: Install dependencies
run: npm ci
- name: Build web app
run: npx nx run-many --target lint