# .github/workflows/app.yaml name: PyTest on: push: paths: - "classquiz/**" workflow_dispatch: jobs: test: runs-on: ubuntu-latest timeout-minutes: 10 steps: - name: Check out repository code uses: actions/checkout@v2 - name: Install pipenv run: pipx install pipenv # Setup Python (faster than using Python container) - name: Setup Python uses: actions/setup-python@v3 with: python-version: "3.10" cache: 'pipenv' - run: pipenv install --dev - name: Prepare tests run: | echo ${{ secrets.DOTENV }} | base64 --decode > .env set -o allexport; source .env; set +o allexport mkdir /tmp/storage/ pipenv run python init_db.py docker run --rm -d -p 6379:6379 --name test_redis redis:alpine - name: Run tests run: | pipenv run coverage run -m pytest --asyncio-mode=strict classquiz/tests pipenv run coverage xml - name: Report results to DeepSource run: | # Install deepsource CLI curl https://deepsource.io/cli | sh # From the root directory, run the report coverage command ./bin/deepsource report --analyzer test-coverage --key python --value-file ./coverage.xml env: DEEPSOURCE_DSN: ${{ secrets.DEEPSOURCE_DSN }} - name: Upload Coverage to Codecov uses: codecov/codecov-action@v2 with: files: ./coverage.xml