name: Django CI on: push: branches: [ master ] pull_request: branches: [ master ] jobs: test: runs-on: ubuntu-20.04 strategy: matrix: db: [sqlite, postgres, mysql] python-version: [3.6, 3.7, 3.8, 3.9] include: - db: postgres db_user: runner db_password: '' - db: mysql db_user: root db_password: root steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Start MySQL if: matrix.db == 'mysql' run: sudo systemctl start mysql.service - name: Start PostgreSQL if: matrix.db == 'postgres' run: | sudo systemctl start postgresql.service sudo -u postgres createuser -s runner - name: Install Dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt pip install apprise braintree coverage coveralls mysqlclient - name: Run Tests env: DB: ${{ matrix.db }} DB_USER: ${{ matrix.db_user }} DB_PASSWORD: ${{ matrix.db_password }} SECRET_KEY: dummy-key run: | coverage run --omit=*/tests/*,*/migrations/* --source=hc manage.py test - name: Coveralls if: matrix.db == 'postgres' && matrix.python-version == '3.8' run: coveralls --service=github env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}