Skip to content

Clean config

Clean config #1502

Workflow file for this run

name: Continuous integration
on: [push]
jobs:
runner-job:
runs-on: ubuntu-latest
strategy:
matrix:
django: ["django==3.2.21", "django==4.1.11", "django==4.2.5"]
services:
postgres:
image: postgres
env:
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
env:
POSTGRES_HOST: localhost
POSTGRES_PASSWORD: postgres
POSTGRES_PORT: 5432
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Cache python packages
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements**.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: "16"
cache: "npm"
cache-dependency-path: "frontend/package-lock.json"
- name: Install javascript packages
working-directory: ./frontend
run: npm clean-install --audit=false --fund=false --loglevel=http
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Install python packages
run: python -m pip install --upgrade pip && pip install wheel && pip install ${{ matrix.django }} && pip install -r testproject/requirements.txt && pip install -r testproject/requirements_test.txt && pip install -r testproject/requirements_ci.txt && pip install -e .
- name: Run tests
run: python -Wd testproject/manage.py test django_file_form_example -v 2
- name: Run django check
run: python testproject/manage.py check
- name: Check migrations
run: python testproject/manage.py makemigrations django_file_form --check --noinput --verbosity=1
env:
CHECK_MIGRATIONS: true
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: "16"
- name: Build javascript
working-directory: ./frontend
run: npm run build
- name: Javascript test
working-directory: ./frontend
run: npm run test
- name: Create javascript coverage directory
run: mkdir js_coverage
- name: Test with coverage
run: COVERAGE=true coverage run --source=django_file_form,testproject/django_file_form_example testproject/manage.py test django_file_form_example -v 2
- name: Merge Python coverage
run: coverage report && coverage lcov
- name: Merge javascript coverage
working-directory: ./coverage
run: npm clean-install --audit=false --fund=false --loglevel=http && npm run merge_coverage
- name: Codecov
uses: codecov/codecov-action@v3
with:
verbose: true