49 lines
1.2 KiB
YAML
49 lines
1.2 KiB
YAML
# .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: |
|
|
chmod +x run_tests.sh
|
|
- name: Run tests
|
|
run: |
|
|
./run_tests.sh a
|
|
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
|