djbrown/hbscorez

View on GitHub
.github/workflows/pr-build.yml

Summary

Maintainability
Test Coverage
name: PR Build

on:
  pull_request:
    branches: [master]

  workflow_dispatch:

jobs:
  main:
    runs-on: ubuntu-latest
    steps:
      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: "3.10"
      - name: Install Pipenv
        run: python -m pip install --upgrade pipenv
      - name: Checkout Repository
        uses: actions/checkout@v4
      - name: Cache Pipenv
        id: cache-pipenv
        uses: actions/cache@v4
        with:
          path: ~/.local/share/virtualenvs
          key: pipenv-${{ hashFiles('Pipfile.lock') }}
      - name: Install dependencies
        if: steps.cache-pipenv.outputs.cache-hit != 'true'
        run: pipenv install --deploy --dev

      - name: Set up locale
        run: |
          sudo locale-gen de_DE.UTF-8
          sudo dpkg-reconfigure locales

      - name: Run unit tests
        run: pipenv run hbunittest
        env:
          TEST_OUTPUT_FILE_NAME: unit.xml
      - name: Upload unit test results
        uses: actions/upload-artifact@v4
        if: success() || failure()
        with:
          name: unit-test-results
          path: unit.xml

      - name: Run Mypy
        run: pipenv run mypy src

      - name: Run Flake8
        run: pipenv run flake8

      - name: Run Pylint
        run: pipenv run pylint src