mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-17 05:22:16 +00:00
65 lines
2.0 KiB
YAML
65 lines
2.0 KiB
YAML
name: Django CI
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
branches: [master]
|
|
|
|
jobs:
|
|
build:
|
|
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
python: [3.9]
|
|
experimental: [false]
|
|
include:
|
|
- python: 3.10.0-alpha.5
|
|
experimental: true
|
|
continue-on-error: ${{ matrix.experimental }}
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Cache Static Files
|
|
id: static-cache
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: 'static/'
|
|
key: ${{ hashFiles('package-lock.json') }}-${{ hashFiles('pipeline/source_assets') }}
|
|
- uses: bahmutov/npm-install@v1
|
|
if: steps.static-cache.outputs.cache-hit != 'true'
|
|
- run: node node_modules/gulp/bin/gulp build
|
|
if: steps.static-cache.outputs.cache-hit != 'true'
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: ${{ matrix.python }}
|
|
- name: Cache python deps
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ${{ env.pythonLocation }}
|
|
key: ${{ env.pythonLocation }}-${{ hashFiles('Pipfile.lock') }}
|
|
- name: Install Dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install pipenv
|
|
pipenv install -d
|
|
- name: Basic Checks
|
|
run: |
|
|
pipenv run pycodestyle . --exclude=migrations,node_modules
|
|
pipenv run python manage.py check
|
|
pipenv run python manage.py makemigrations --check --dry-run
|
|
pipenv run python manage.py collectstatic --noinput
|
|
- name: Run Tests
|
|
run: pipenv run pytest --cov -n auto
|
|
- uses: actions/upload-artifact@v2
|
|
if: failure()
|
|
with:
|
|
name: failure-screenshots ${{ matrix.test-group }}
|
|
path: screenshots/
|
|
retention-days: 5
|
|
- name: Coveralls
|
|
run: pipenv run coveralls --service=github
|