Skip to content

Minor improvements #248

Minor improvements

Minor improvements #248

Workflow file for this run

name: PdfDing Tests
on:
pull_request:
paths:
- 'pdfding/**/*.py'
- 'pdfding/**/*.html'
- 'pyproject.toml'
- 'package.json'
- '.github/workflows/tests.yaml'
- 'Dockerfile'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
code_quality:
name: Code quality
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Install poetry
run: pipx install poetry
- name: Set up Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: '3.12'
cache: 'poetry'
- name: Install python dependencies
run: poetry install --without e2e
- name: Run flake8
run: poetry run flake8
- name: Run black
run: poetry run black . --check
- name: Run bandit
run: poetry run bandit -x "**/tests/*,**/e2e/*" -r .
unit_tests:
name: Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Install poetry
run: pipx install poetry
- name: Set up Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: '3.12'
cache: 'poetry'
- name: Install python dependencies
run: poetry install --without e2e
- name: Run tests
run: |
cd pdfding
poetry run pytest --ignore=e2e --cov=admin --cov=backup --cov=base --cov=pdf --cov=users --cov-fail-under=100
e2e_tests:
name: E2E tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Install poetry
run: pipx install poetry
- name: Set up Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: '3.12'
cache: 'poetry'
- name: Install python dependencies
run: |
poetry install
poetry run playwright install chromium
- name: Set up Node
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: 22
cache: 'npm'
- name: Install Node dependencies
run: |
npm ci --ignore-scripts
npm run build
npx --yes @tailwindcss/cli -i pdfding/static/css/input.css -o pdfding/static/css/tailwind.css --minify
- name: Run tests
run: poetry run python -m pytest pdfding/e2e
publish_dry_run:
name: Publish dry run
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up QEMU
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # 3.11.1
- name: Build
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with:
context: .
push: false
outputs: type=cacheonly