-
Notifications
You must be signed in to change notification settings - Fork 1
56 lines (54 loc) · 1.87 KB
/
action_python.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
name: Python package
on:
push:
paths:
- 'src/**'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Create application default credentials
run: |
mkdir -p $HOME/.config/gcloud/
echo "$APP_CRED" >> $HOME/.config/gcloud/application_default_credentials.json
chmod 600 $HOME/.config/gcloud/application_default_credentials.json
shell: bash
env:
APP_CRED: ${{secrets.APPLICATION_DEFAULT_CREDENTIALS}}
- name: Set up wandb api key
run: |
echo "$WANDB_API_KEY" >> $HOME/.netrc
chmod 600 $HOME/.netrc
shell: bash
env:
WANDB_API_KEY: ${{secrets.WANDB_API_KEY}}
- name: Install poetry
run: pipx install poetry
- name: Set up Python and install dependencies
uses: actions/setup-python@v4
with:
python-version: '3.10'
cache: 'poetry'
run: |
poetry install
- name: Test with pytest
run: |
poetry run pytest --cov=src tests/ --doctest-modules --junitxml=cover/xunit-result.xml --cov-report xml:cover/coverage.xml
poetry run coverage json -o cover/coverage.json
- name: "Extract numbers from cov report"
run: |
export TOTAL=$(python -c "import json;print(json.load(open('cover/coverage.json'))['totals']['percent_covered_display'])")
echo "total=$TOTAL" >> $GITHUB_ENV
echo "### Total coverage: ${TOTAL}%" >> $GITHUB_STEP_SUMMARY
- name: "Make badge"
uses: schneegans/[email protected]
with:
auth: ${{ secrets.GIST_TOKEN }}
gistID: e2578f2f3e6322d299f1cb2e294d6b0b
filename: covbadge.json
label: Coverage
message: ${{ env.total }}%
minColorRange: 50
maxColorRange: 90
valColorRange: ${{ env.total }}