From 47ae7226b436f4940234ac91efcc57e0baa13dd6 Mon Sep 17 00:00:00 2001 From: Klaas van Schelven Date: Thu, 5 Sep 2024 14:14:08 +0200 Subject: [PATCH] .github workflows --- .github/workflows/flake8.yml | 32 ++++++++++++++++++++++++++++++++ .github/workflows/tests.yml | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 .github/workflows/flake8.yml create mode 100644 .github/workflows/tests.yml diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml new file mode 100644 index 0000000..3788920 --- /dev/null +++ b/.github/workflows/flake8.yml @@ -0,0 +1,32 @@ +name: Flake8 + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.11"] # below 3.12 to avoid false positives inside f-strings + + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: Install Flake8 + run: | + python -m pip install --upgrade flake8 + - name: Run Flake8 + run: | + # We ignore 2 classes of whitespace errors (which are useful in the local context, + # but not worth breaking the build). + # https://github.com/PyCQA/flake8/issues/515 shows a dead end of doing this "properly" + # so we just specify it on the command line + flake8 --extend-ignore=E127,E741,E501 `git ls-files | grep py$` diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..295217f --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,34 @@ +name: Tests + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + max-parallel: 4 + matrix: + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: Create wheel and install it + run: | + python -m pip install --upgrade pip + pip install build + python -m build . + pip install django + pip install dist/*.whl + - name: Run Tests + run: | + cd example_django_project + python manage.py test snappea