Compare commits
2 Commits
0e46a5f41b
...
ca84bd7fac
| Author | SHA1 | Date | |
|---|---|---|---|
| ca84bd7fac | |||
| 9124aa17d5 |
@@ -115,3 +115,33 @@ steps:
|
||||
- uv run --no-sync coverage combine .coverage.unit .coverage.integration
|
||||
- uv run --no-sync coverage report --fail-under=70 --include=app/*
|
||||
- uv run --no-sync coverage html
|
||||
|
||||
- name: pr-comment
|
||||
image: python:3.13
|
||||
volumes:
|
||||
- /tmp/uv-cache:/root/.cache/uv
|
||||
environment:
|
||||
UV_CACHE_DIR: /root/.cache/uv
|
||||
UV_LINK_MODE: copy
|
||||
UV_PYTHON: "3.13"
|
||||
GITEA_API_TOKEN:
|
||||
from_secret: gitea_api_token
|
||||
depends_on: [coverage, lint, type]
|
||||
when:
|
||||
event: [pull_request]
|
||||
commands:
|
||||
- pip install uv
|
||||
- |
|
||||
SHA7=$(printf '%.7s' "${CI_COMMIT_SHA:-unknown}")
|
||||
COMMIT_URL="${CI_FORGE_URL}/${CI_REPO_OWNER}/${CI_REPO_NAME}/commit/${CI_COMMIT_SHA}"
|
||||
SOURCE="${CI_COMMIT_SOURCE:-${CI_COMMIT_SOURCE_BRANCH:-?}}"
|
||||
TARGET="${CI_COMMIT_TARGET:-${CI_COMMIT_TARGET_BRANCH:-?}}"
|
||||
PIPELINE_URL="${CI_PIPELINE_URL:-}"
|
||||
COVER=$(uv run --no-sync coverage report --include='app/*' | tail -1 | awk '{print $NF}')
|
||||
if [ -z "$GITEA_API_TOKEN" ]; then
|
||||
echo "pr-comment: GITEA_API_TOKEN not set, skipping"
|
||||
exit 0
|
||||
fi
|
||||
FMT='{"body": "## CI Summary\n\n**Commit:** [`%s`](%s)\n**Branch:** `%s` → `%s`\n**Pipeline:** [View](%s)\n\n### Checks\n\n| Check | Status |\n|-------|--------|\n| Lint (ruff + isort) | ✅ |\n| Type check (mypy) | ✅ |\n| Unit tests | ✅ |\n| Integration tests | ✅ |\n| E2E tests | ✅ |\n| Coverage | **%s** |\n\n---\n*Reported by Woodpecker CI*"}'
|
||||
BODY=$(printf "$FMT" "$SHA7" "$COMMIT_URL" "$SOURCE" "$TARGET" "$PIPELINE_URL" "$COVER")
|
||||
curl -s -X POST "${CI_FORGE_URL}/api/v1/repos/${CI_REPO_OWNER}/${CI_REPO_NAME}/issues/${CI_COMMIT_PULL_REQUEST}/comments" -H "Authorization: token $${GITEA_API_TOKEN}" -H "Content-Type: application/json" --data-binary "$BODY"
|
||||
|
||||
Reference in New Issue
Block a user