File tree Expand file tree Collapse file tree 1 file changed +58
-0
lines changed
Expand file tree Collapse file tree 1 file changed +58
-0
lines changed Original file line number Diff line number Diff line change 1+ name : Run Tests and Update Coverage Badge
2+
3+ on :
4+ push :
5+ branches : [main]
6+ pull_request :
7+
8+ jobs :
9+ test :
10+ runs-on : ubuntu-latest
11+
12+ steps :
13+ - name : Checkout Repository
14+ uses : actions/checkout@v4
15+
16+ - name : Install UV
17+ uses : astral-sh/setup-uv@v7
18+ with :
19+ enable-cache : true
20+ save-cache : true
21+
22+ - name : Run Pytest with Coverage
23+ run : |
24+ uv sync --locked --dev
25+ uv run pytest --cov=src --cov-report=term --cov-report=xml
26+
27+ - name : Extract branch name
28+ shell : bash
29+ run : |
30+ BRANCH=${GITHUB_HEAD_REF:-$GITHUB_REF_NAME}
31+ echo "BRANCH=$BRANCH" >> $GITHUB_ENV
32+ echo "BADGE_SOURCE=/tmp/$BRANCH-coverage.svg" >> $GITHUB_ENV
33+ echo "BADGE_DEST=badges/$BRANCH/coverage.svg" >> $GITHUB_ENV
34+
35+ - name : Generate badge
36+ run : |
37+ uv run genbadge coverage -i coverage.xml -o $BADGE_SOURCE
38+
39+ - uses : actions/checkout@v1
40+ with :
41+ ref : badges
42+ path : badges
43+
44+ - name : Commit badge
45+ run : |
46+ git config --local user.email "action@github.com"
47+ git config --local user.name "GitHub Action"
48+ git checkout --
49+ mkdir -p "badges/${BRANCH}"
50+ cp "$BADGE_SOURCE" "$BADGE_DEST"
51+ git add "$BADGE_DEST" && git commit -m "Add/Update badge" || true
52+
53+ - name : Push badge commit
54+ uses : ad-m/github-push-action@master
55+ with :
56+ github_token : ${{ secrets.GITHUB_TOKEN }}
57+ branch : badges
58+ directory : badges
You can’t perform that action at this time.
0 commit comments