name: CI on: [push, pull_request] jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: [3.6, 3.7, 3.8] services: redis: image: redis ports: - 6379:6379 postgres: image: postgres env: POSTGRES_USER: netbox POSTGRES_PASSWORD: netbox options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 ports: - 5432:5432 steps: - name: Check out repo uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Install dependencies & set up configuration run: | python -m pip install --upgrade pip pip install -r requirements.txt pip install pycodestyle coverage ln -s configuration.testing.py netbox/netbox/configuration.py - name: Check PEP8 compliance run: pycodestyle --ignore=W504,E501 netbox/ - name: Run tests run: coverage run --source="netbox/" netbox/manage.py test netbox/ - name: Show coverage report run: coverage report --skip-covered --omit *migrations*