Files
bugsink/.github/workflows/ci.yml
2024-09-13 14:29:49 +02:00

60 lines
1.7 KiB
YAML

name: Continuous Integration
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
SAMPLES_DIR: "event-samples"
jobs:
flake8:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: "Set up Python 3.11"
uses: actions/setup-python@v5
with:
python-version: "3.11" # below 3.12 to avoid false positives inside f-string
- 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$`
test:
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: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements.development.txt
- name: Check out event-samples
uses: actions/checkout@master
with:
repository: bugsink/event-samples
path: "event-samples"
- name: Run Makemigrations --check
run: |
python manage.py makemigrations --check
- name: Run Tests
run: |
python manage.py test -v2