name: Django CI on: push: branches: [master] pull_request: branches: [master] jobs: build: env: IMGUR_UPLOAD_CLIENT_ID: ${{ secrets.IMGUR_UPLOAD_CLIENT_ID }} IMGUR_UPLOAD_CLIENT_SECRET: ${{ secrets.IMGUR_UPLOAD_CLIENT_SECRET }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} runs-on: ubuntu-latest if: "!contains(github.event.head_commit.message, '[ci skip]')" strategy: matrix: test-group: ["RIGS.tests.test_unit", "RIGS.tests.test_models", "RIGS.tests.test_functional", "versioning.tests.test_versioning", "users.tests.test_users"] parallel: true include: - test-group: "assets.tests.test_assets" parallel: false - test-group: "RIGS.tests.test_interaction" parallel: false steps: - uses: actions/checkout@v2 - name: Set up Python uses: actions/setup-python@v2 with: python-version: 3.8 - 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 -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 manage.py test ${{ matrix.test-group }} --verbosity=2 - name: Run Tests (Parallel) if: ${{ matrix.parallel }} run: coverage run manage.py test ${{ matrix.test-group }} --parallel --verbosity=2 - name: Upload Coverage run: coveralls 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 }}