mirror of
https://github.com/Glitchy-Sheep/boosty-downloader.git
synced 2026-10-14 21:33:23 +00:00
[PR #202] [MERGED] ci: test on Python 3.10-3.14 and Windows, probe the live API weekly #201
Labels
No labels
api-drift
bug
ci
documentation
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Glitchy-Sheep/boosty-downloader#201
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Glitchy-Sheep/boosty-downloader/pull/202
Author: @Glitchy-Sheep
Created: 9/22/2026
Status: ✅ Merged
Merged: 9/23/2026
Merged by: @Glitchy-Sheep
Base:
main← Head:ci/test-matrix-and-canary📝 Commits (10+)
a4e7dbe[ci] Test on Python 3.10, 3.12, 3.14 and on Windows17102e1[renderer] Give zip attachments the archive icon on Windowsc7f49cf[ci] Probe the live Boosty API weekly and open an issue on drifte451ae1docs: ask for the --debug log in bug reports, describe the real test treef85ff1cci: run the canary on Saturdays before the weekly reportb2a6097docs: make the debug log optional in the bug reporte7f7c97docs: shorten the debug log hint68fc8dadocs: say the debug log is safe to attach610998ddocs: say when a debug log helps a bug report61bf789docs: put how before when in the debug log hint📊 Changes
14 files changed (+344 additions, -43 deletions)
View changed files
📝
.github/ISSUE_TEMPLATE/bug_report.md(+15 -0)📝
.github/actions/setup/action.yml(+17 -4)➕
.github/workflows/canary.yaml(+67 -0)📝
.github/workflows/ci.yaml(+24 -5)📝
CHANGELOG.md(+4 -0)📝
Taskfile.yml(+16 -0)📝
boosty_downloader/infrastructure/html_generator/renderer.py(+2 -0)📝
docs/development/02-testing.md(+32 -20)📝
docs/development/03-ci.md(+39 -2)📝
pyproject.toml(+3 -2)📝
test/ABOUT_TESTING.md(+14 -10)➕
test/canary/__init__.py(+0 -0)➕
test/canary/api_drift_test.py(+95 -0)📝
test/unit/html_generator/html_templates_test.py(+16 -0)📄 Description
📝 Summary
The package promises Python 3.10 to 3.14 and runs on Windows, but CI tested one Python on Ubuntu. Boosty's API has no contract, and so far its changes were found by users. This PR makes CI test every promised Python plus Windows, and adds a weekly probe of the live API that opens an issue when the answer no longer fits our models. Audit stage 6.
🔧 What changes
fail-fast: false: one red cell does not cancel the others.python-versionand hands it to setup-uv. Empty means the pin from.python-version, so release.yaml is not affected. The test step runs under bash on every OS.canary.yamlrunstask test:canaryagainst the public blog in theCANARY_AUTHORrepository variable, every Saturday at 06:00 UTC, three hours before the weekly report (#207), and on demand. It checks that every post parses, nothing in the answer is unknown to the client and an open post carries content. On failure it opens one issue with theapi-driftlabel, and no second one while the first is open..zipattachment got the generic file icon on Windows, because Windows names the zip typeapplication/x-zip-compressed. Fixed, with a CHANGELOG entry.--debuglog and the Python version.docs/development/02-testing.md,03-ci.mdandtest/ABOUT_TESTING.mddescribe the real test tree, the matrix and the canary.🧪 Tests
uv run --python X --isolated pytest.check-jsonschemaagainst the GitHub workflow and action schemas.⏭️ Next
workflow_dispatchworks only once the workflow is onmain.docs/api/boosty-api.yaml(#203).✅ Checklist
--helpand README if neededdocs/if the download flow or dev process changed## Unreleasedin CHANGELOG.md (or theci/skip-changeloglabel if not user-facing)🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.