[PR #207] [MERGED] ci: send a weekly repository report to Telegram #206

Closed
opened 2026-10-13 19:48:50 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Glitchy-Sheep/boosty-downloader/pull/207
Author: @Glitchy-Sheep
Created: 9/22/2026
Status: ✅ Merged
Merged: 9/23/2026
Merged by: @Glitchy-Sheep

Base: main ← Head: ci/weekly-telegram-report


📝 Commits (2)

  • 174d8fd ci: send a weekly repository report to Telegram
  • 41b85c7 ci: send the weekly report on Saturdays

📊 Changes

2 files changed (+204 additions, -0 deletions)

View changed files

➕ .github/workflows/weekly-report.yaml (+45 -0)
➕ scripts/weekly_report.py (+159 -0)

📄 Description

📝 Summary

Every Saturday a Telegram bot sends a short report of the past week: canary and CI state, pull requests, issues, releases, PyPI downloads and stars.

🔧 What changes

  • scripts/weekly_report.py builds the report as Telegram HTML through the gh CLI. Stdlib only, runs on the runner's Python.
  • Blocks: 🩺 Health (last canary and CI run on main, open api-drift issues), 🔀 Pull requests (merged, opened, open now, Renovate count, up to 8 merged titles), 🐛 Issues (new, closed, open now, new titles), 🚀 Releases of the week, 📈 Audience (PyPI downloads last week from pypistats, stars, forks).
  • .github/workflows/weekly-report.yaml runs it on Saturdays at 09:00 UTC and on demand. It sends the message with appleboy/telegram-action@v1.1.1.
  • The job stops with a clear error when the TELEGRAM_BOT_TOKEN or TELEGRAM_CHAT_ID secret is missing.

🧪 Tests

  • Local run on Python 3.10 and 3.14 against this repo: every block filled with real data.
  • ruff, ruff format and pyright pass. The workflow passes check-jsonschema against the GitHub workflow schema.

⏭️ Next

  • After merge and the secrets: a manual run from the Actions tab delivers the message.

✅ Checklist

  • Tested live on a real blog (feature or fix)
  • Updated CLI --help and README if needed
  • Updated docs/ if the download flow or dev process changed
  • Added a line to ## Unreleased in CHANGELOG.md (or the ci/skip-changelog label if not user-facing)

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Glitchy-Sheep/boosty-downloader/pull/207 **Author:** [@Glitchy-Sheep](https://github.com/Glitchy-Sheep) **Created:** 9/22/2026 **Status:** ✅ Merged **Merged:** 9/23/2026 **Merged by:** [@Glitchy-Sheep](https://github.com/Glitchy-Sheep) **Base:** `main` ← **Head:** `ci/weekly-telegram-report` --- ### 📝 Commits (2) - [`174d8fd`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/174d8fd4311412f5b36a5ce7716fe80e470faec3) ci: send a weekly repository report to Telegram - [`41b85c7`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/41b85c7c68d22d62b67bfa2e5c3da8e17af6776c) ci: send the weekly report on Saturdays ### 📊 Changes **2 files changed** (+204 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `.github/workflows/weekly-report.yaml` (+45 -0) ➕ `scripts/weekly_report.py` (+159 -0) </details> ### 📄 Description ## 📝 Summary Every Saturday a Telegram bot sends a short report of the past week: canary and CI state, pull requests, issues, releases, PyPI downloads and stars. ## 🔧 What changes - `scripts/weekly_report.py` builds the report as Telegram HTML through the gh CLI. Stdlib only, runs on the runner's Python. - Blocks: 🩺 Health (last canary and CI run on `main`, open `api-drift` issues), 🔀 Pull requests (merged, opened, open now, Renovate count, up to 8 merged titles), 🐛 Issues (new, closed, open now, new titles), 🚀 Releases of the week, 📈 Audience (PyPI downloads last week from pypistats, stars, forks). - `.github/workflows/weekly-report.yaml` runs it on Saturdays at 09:00 UTC and on demand. It sends the message with `appleboy/telegram-action@v1.1.1`. - The job stops with a clear error when the `TELEGRAM_BOT_TOKEN` or `TELEGRAM_CHAT_ID` secret is missing. ## 🧪 Tests - Local run on Python 3.10 and 3.14 against this repo: every block filled with real data. - ruff, ruff format and pyright pass. The workflow passes `check-jsonschema` against the GitHub workflow schema. ## ⏭️ Next - After merge and the secrets: a manual run from the Actions tab delivers the message. ## ✅ Checklist <!-- Tick an item that doesn't apply too --> - [x] Tested live on a real blog (feature or fix) - [x] Updated CLI `--help` and README if needed - [x] Updated `docs/` if the download flow or dev process changed - [x] Added a line to `## Unreleased` in CHANGELOG.md (or the `ci/skip-changelog` label if not user-facing) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-13 19:48:50 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Glitchy-Sheep/boosty-downloader#206
No description provided.