[PR #99] [MERGED] Enhance CI flow - simplify & automate #108

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

📋 Pull Request Information

Original PR: https://github.com/Glitchy-Sheep/boosty-downloader/pull/99
Author: @Glitchy-Sheep
Created: 4/12/2026
Status: ✅ Merged
Merged: 4/12/2026
Merged by: @Glitchy-Sheep

Base: main ← Head: chore/ci-improvements


📝 Commits (10+)

  • bb359d8 chore: add .vscode and .claude to .gitignore
  • 7aebafc chore: use single version source of truth in pyproject.toml
  • 7e0d5eb fix(ci): harden release workflow validation and use changelog for release notes
  • d7ccb5a Add .editorconfig for consistent formatting across editors
  • 52d8032 Update PR template: related make commands and check list
  • 1484afc Add unreleased section for the ci
  • 1d5b719 Improve CI workflow, release automation, and contributing guide
  • 193e7d8 Clean up project config: dependencies and Pyright settings
  • 13f5c47 Make make release only edit files, leave commit/tag/push to the user
  • 1b4a088 Improve Makefile help output and add TOC to CONTRIBUTING.md

📊 Changes

11 files changed (+253 additions, -160 deletions)

View changed files

➕ .editorconfig (+18 -0)
📝 .github/pull_request_template.md (+8 -33)
📝 .github/workflows/ci.yaml (+51 -2)
📝 .github/workflows/release.yaml (+32 -9)
📝 .gitignore (+3 -0)
📝 CHANGELOG.md (+2 -0)
📝 CONTRIBUTING.md (+54 -58)
📝 Makefile (+72 -28)
📝 poetry.lock (+10 -24)
📝 pyproject.toml (+2 -4)
📝 pyrightconfig.json (+1 -2)

📄 Description

📝 Summary

Harden CI/CD pipeline, automate release process, and improve developer experience.

  • Release workflow validates tag matches pyproject.toml, uses CHANGELOG.md for release notes, fixes changelog grep and PyPI check
  • CI caches Poetry, skips integration tests on forks, enforces CHANGELOG.md updates on PRs
  • make release v=X.Y.Z automates version bump, changelog rename, commit and tag
  • Single version source of truth in pyproject.toml, removed asyncio stdlib dep, widened rich constraint
  • .editorconfig, simplified PR template, restructured CONTRIBUTING.md

New release flow

  1. Each PR adds a line to ## Unreleased in CHANGELOG.md (CI enforces this)
  2. When ready to release: make release v=X.Y.Z
  3. Review the commit, then git push && git push origin vX.Y.Z
  4. Release workflow validates everything and publishes to PyPI automatically

✅ Checklist

  • Locally tested (make test)
  • CI checks pass (make ci-check)
  • Added a line to ## Unreleased section in CHANGELOG.md describing the change (or added 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/99 **Author:** [@Glitchy-Sheep](https://github.com/Glitchy-Sheep) **Created:** 4/12/2026 **Status:** ✅ Merged **Merged:** 4/12/2026 **Merged by:** [@Glitchy-Sheep](https://github.com/Glitchy-Sheep) **Base:** `main` ← **Head:** `chore/ci-improvements` --- ### 📝 Commits (10+) - [`bb359d8`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/bb359d84da5bcc90f4ddf9d3e2aa8f7a325555cb) chore: add .vscode and .claude to .gitignore - [`7aebafc`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/7aebafc219f4cf146c8479f9f4d35745839a0ca5) chore: use single version source of truth in pyproject.toml - [`7e0d5eb`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/7e0d5eba64343e0e67fccce5d68adc3042711714) fix(ci): harden release workflow validation and use changelog for release notes - [`d7ccb5a`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/d7ccb5aef0af64459c601b1d4435fc223f2a2c6c) Add .editorconfig for consistent formatting across editors - [`52d8032`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/52d80329172ccf8fe6caff19f43a4f038173f60b) Update PR template: related make commands and check list - [`1484afc`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/1484afc5239e9cf98b318f78c85680bcc9969295) Add unreleased section for the ci - [`1d5b719`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/1d5b719cf4af2374aab24a15458e386d845d1431) Improve CI workflow, release automation, and contributing guide - [`193e7d8`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/193e7d87701aa15367d81bb8c9101b7eac036738) Clean up project config: dependencies and Pyright settings - [`13f5c47`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/13f5c478ab893432ccb20ff6e08146ee937f3de9) Make `make release` only edit files, leave commit/tag/push to the user - [`1b4a088`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/1b4a088f3421c66cf485329e309cfabcad7298e1) Improve Makefile help output and add TOC to CONTRIBUTING.md ### 📊 Changes **11 files changed** (+253 additions, -160 deletions) <details> <summary>View changed files</summary> ➕ `.editorconfig` (+18 -0) 📝 `.github/pull_request_template.md` (+8 -33) 📝 `.github/workflows/ci.yaml` (+51 -2) 📝 `.github/workflows/release.yaml` (+32 -9) 📝 `.gitignore` (+3 -0) 📝 `CHANGELOG.md` (+2 -0) 📝 `CONTRIBUTING.md` (+54 -58) 📝 `Makefile` (+72 -28) 📝 `poetry.lock` (+10 -24) 📝 `pyproject.toml` (+2 -4) 📝 `pyrightconfig.json` (+1 -2) </details> ### 📄 Description ## 📝 Summary Harden CI/CD pipeline, automate release process, and improve developer experience. - Release workflow validates tag matches `pyproject.toml`, uses CHANGELOG.md for release notes, fixes changelog grep and PyPI check - CI caches Poetry, skips integration tests on forks, enforces CHANGELOG.md updates on PRs - `make release v=X.Y.Z` automates version bump, changelog rename, commit and tag - Single version source of truth in `pyproject.toml`, removed `asyncio` stdlib dep, widened `rich` constraint - `.editorconfig`, simplified PR template, restructured CONTRIBUTING.md ### New release flow 1. Each PR adds a line to `## Unreleased` in CHANGELOG.md (CI enforces this) 2. When ready to release: `make release v=X.Y.Z` 3. Review the commit, then `git push && git push origin vX.Y.Z` 4. Release workflow validates everything and publishes to PyPI automatically ## 🎯 Related Issue <!-- Closes #123, or remove this section --> ## ✅ Checklist - [x] Locally tested (`make test`) - [x] CI checks pass (`make ci-check`) - [x] Added a line to `## Unreleased` section in CHANGELOG.md describing the change (or added `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:47:25 +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#108
No description provided.