mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-17 05:22:16 +00:00
Also rewrote some asset tests to be in the pytest style. May do some more. Some warnings cleaned up in the process.
75 lines
2.4 KiB
YAML
75 lines
2.4 KiB
YAML
name: Django CI
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
branches: [master]
|
|
|
|
jobs:
|
|
build:
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
runs-on: ubuntu-latest
|
|
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
|
strategy:
|
|
matrix:
|
|
test-group: ["RIGS/tests/", "versioning/tests/", "users/tests/", "assets/tests/"]
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.9
|
|
- name: Cache python deps
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ${{ env.pythonLocation }}
|
|
key: ${{ env.pythonLocation }}-${{ hashFiles('requirements.txt') }}
|
|
- name: Setup Chromedriver
|
|
if: \!${{ matrix.parallel }}
|
|
run: |
|
|
wget https://chromedriver.storage.googleapis.com/2.36/chromedriver_linux64.zip
|
|
unzip chromedriver_linux64.zip
|
|
export PATH=$PATH:$(pwd)
|
|
chmod +x chromedriver
|
|
export PATH=$PATH:/usr/lib/chromium-browser/
|
|
- name: Install Dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install pycodestyle coverage coveralls django_coverage_plugin
|
|
pip install --upgrade --upgrade-strategy eager -r requirements.txt
|
|
python manage.py collectstatic --noinput
|
|
- name: Basic Checks
|
|
run: |
|
|
pycodestyle . --exclude=migrations,importer*
|
|
python manage.py check
|
|
python manage.py makemigrations --check --dry-run
|
|
- name: Run Tests
|
|
if: ${{ matrix.parallel }}
|
|
run: coverage run -m pytest -n 8 ${{ matrix.test-group }}
|
|
- uses: actions/upload-artifact@v2
|
|
if: failure()
|
|
with:
|
|
name: failure-screenshots ${{ matrix.test-group }}
|
|
path: screenshots/
|
|
retention-days: 5
|
|
- name: Upload Coverage
|
|
run: coveralls --service=github
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
COVERALLS_FLAG_NAME: ${{ matrix.test-group }}
|
|
COVERALLS_PARALLEL: true
|
|
coveralls:
|
|
name: Indicate completion to coveralls.io
|
|
needs: build
|
|
runs-on: ubuntu-latest
|
|
container: python:3-slim
|
|
steps:
|
|
- name: Finished
|
|
run: |
|
|
pip3 install --upgrade coveralls
|
|
coveralls --service=github --finish
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|