From ffb674669b0966f41c0d6e3ffbd90e14952ec969 Mon Sep 17 00:00:00 2001 From: KenanZhu <3471685733@qq.com> Date: Wed, 23 Sep 2026 14:15:47 +0800 Subject: [PATCH] chore: prepare v1.27.3 release and guard template publishing --- .github/release-notes/v1.27.2.md | 22 ++++++++++++++++++++++ .github/release-notes/v1.27.3.md | 22 ++++++++++++++++++++++ .github/workflows/gitea-tracker.yml | 4 +++- .github/workflows/release.yml | 17 +++++++++++++---- AGENTS.md | 3 ++- COMPATIBILITY.md | 14 +++++++------- README.md | 4 ++-- docs/README.zh-CN.md | 4 ++-- 8 files changed, 73 insertions(+), 17 deletions(-) create mode 100644 .github/release-notes/v1.27.2.md create mode 100644 .github/release-notes/v1.27.3.md diff --git a/.github/release-notes/v1.27.2.md b/.github/release-notes/v1.27.2.md new file mode 100644 index 0000000..8b294a9 --- /dev/null +++ b/.github/release-notes/v1.27.2.md @@ -0,0 +1,22 @@ +> **Correction (2026-09-23):** v1.27.2 did not fix every push notification template. Bloom, Ember, and Heritage still used the old commit ID path and can fail to render push notifications on Gitea 1.27.1+. Use v1.27.3 for the fix. + +FEATURES + +- THEMES (Aurora) + - Add `email-text` class to release template paragraphs for consistent typography with the rest of the theme + +BUGFIXES + +- THEMES + - Update push commit data paths in seven themes for Gitea 1.27.1 compatibility (`.ID` → `.UserCommit.GitCommit.ID`); see the correction above for the three remaining themes + - Replace `rgba()` colors with `#RRGGBBAA` hex notation across all 10 themes + +DOCS + +- Track Gitea 1.27.0, 1.27.1, and 1.27.2 compatibility +- Keep English and Simplified Chinese README and CONTRIBUTING files + + +--- + +**Full Changelog:** [v1.0.1...v1.27.2](https://github.com/KenanZhu/GiteaMailTemplates/compare/v1.0.1...v1.27.2) diff --git a/.github/release-notes/v1.27.3.md b/.github/release-notes/v1.27.3.md new file mode 100644 index 0000000..9388528 --- /dev/null +++ b/.github/release-notes/v1.27.3.md @@ -0,0 +1,22 @@ +FEATURES + +- RELEASE + - Include English and Simplified Chinese README and CONTRIBUTING files in the release archives + - Use reviewed release notes in the publishing workflow + +BUGFIXES + +- THEMES (Bloom, Ember, Heritage) + - Fix pull request push notification commit links and abbreviated hashes for Gitea 1.27.1–1.27.3 by reading `.UserCommit.GitCommit.ID` +- CI + - Add a push notification regression test covering all 10 themes and run Go tests before packaging a release + +DOCS + +- Verify compatibility with Gitea 1.27.3; its mail templates, mailer, and locale files are unchanged from 1.27.2 +- Correct the compatibility matrix to distinguish the affected v1.27.2 archive from this fixed release + + +--- + +**Full Changelog:** [v1.27.2...v1.27.3](https://github.com/KenanZhu/GiteaMailTemplates/compare/v1.27.2...v1.27.3) diff --git a/.github/workflows/gitea-tracker.yml b/.github/workflows/gitea-tracker.yml index 316d76e..489b763 100644 --- a/.github/workflows/gitea-tracker.yml +++ b/.github/workflows/gitea-tracker.yml @@ -106,14 +106,16 @@ jobs: - [ ] Check [Gitea changelog](https://github.com/go-gitea/gitea/blob/main/CHANGELOG.md) for mail template changes - [ ] Review diff of official templates: `git diff v${{ steps.version.outputs.current_version }}..v${{ steps.version.outputs.new_version }} -- templates/mail/ services/mailer/` - [ ] Run `cd tools && go run . preview all` to confirm templates still render + - [ ] Run `cd tools && go test ./...` to verify push-notification data paths - [ ] Update status from ⏳ to ✅ (compatible) or ❌ (breaking) in COMPATIBILITY.md - [ ] Update the `Mail Template Changes` and `Breaking?` columns with accurate notes - [ ] After verification, update `TRACKER:LATEST-VERIFIED` and the English/Chinese `TRACKER:LATEST-TESTED` lines; switch the README badge from pending to tested ## Semantic tracking Once verified, update the tracked Gitea version: - - [ ] Keep the top **Template Release** row as `Unreleased` until its fixes are tagged; never label a released archive compatible with unshipped changes + - [ ] If templates changed, mark the top **Template Release** row `Unreleased` until the fix is tagged; if no change is needed, retain the verified release tag - [ ] Update the README release status and compatibility matrix to distinguish source fixes from published packages + - [ ] Write `.github/release-notes/vX.Y.Z.md` before tagging; the release workflow uses this file for the published notes - [ ] Tag a new release when shipping template fixes — `git tag vX.Y.Z && git push origin vX.Y.Z` (the release workflow packages automatically) labels: compatibility, automated env: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bf90a15..52b5a1f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,6 +16,10 @@ jobs: with: go-version: '1.21' + - name: Test — mail template data contexts + working-directory: tools + run: go test ./... + - name: Lint — render all templates working-directory: tools run: go run . preview all @@ -30,20 +34,25 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Verify release notes + run: test -s ".github/release-notes/${GITHUB_REF_NAME}.md" + - name: Package themes/ run: | VERSION=${GITHUB_REF#refs/tags/} ARCHIVE="gitea-mail-templates-${VERSION}" - mkdir -p "dist/${ARCHIVE}" - cp -r themes LICENSE README.md COMPATIBILITY.md "dist/${ARCHIVE}/" + mkdir -p "dist/${ARCHIVE}/docs" + cp -r themes LICENSE README.md CONTRIBUTING.md COMPATIBILITY.md "dist/${ARCHIVE}/" + cp docs/README.zh-CN.md docs/CONTRIBUTING.zh-CN.md "dist/${ARCHIVE}/docs/" cd dist zip -r "${ARCHIVE}.zip" "${ARCHIVE}" tar -czf "${ARCHIVE}.tar.gz" "${ARCHIVE}" - name: Create Release - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v3 with: files: dist/*.zip,dist/*.tar.gz - generate_release_notes: true + fail_on_unmatched_files: true + body_path: .github/release-notes/${{ github.ref_name }}.md env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/AGENTS.md b/AGENTS.md index 435f972..5f4d400 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -67,9 +67,10 @@ docs/ # Bilingual documentation (English + Simplified Chinese) ## Versioning - Release tags identify actual downloadable packages; the compatibility matrix distinguishes released tags from source-only fixes -- The current published release is **v1.27.2**; it has a push-notification bug in Bloom, Ember, and Heritage on Gitea 1.27.1+. The fix is on `main` and verified against Gitea 1.27.3. The quick-reference table in `COMPATIBILITY.md` lists the `main (unreleased)` row first; the tracker workflow updates that row by position +- The current release is **v1.27.3**, verified against Gitea 1.27.3; it fixes the push-notification bug in Bloom, Ember, and Heritage that affects v1.27.2 on Gitea 1.27.1+. The quick-reference table in `COMPATIBILITY.md` lists the active release first; the tracker workflow updates that row by position - When a new Gitea version is checked: update the top `COMPATIBILITY.md` row and README badge; keep unreleased fixes distinct from the published release, and update verified/tested wording only after verification - Tag a new release (`vX.Y.Z`) only when the template content itself changes — the release workflow packages automatically on tag push +- Before tagging, add `.github/release-notes/vX.Y.Z.md`; the release workflow validates the file, runs `go test ./...`, and publishes those reviewed notes with the archives - Keep the `TRACKER:` markers in `COMPATIBILITY.md` / `README.md` adjacent to their rows so the automated workflow keeps parsing them ## Commit Conventions diff --git a/COMPATIBILITY.md b/COMPATIBILITY.md index 0156493..c06c134 100644 --- a/COMPATIBILITY.md +++ b/COMPATIBILITY.md @@ -7,22 +7,22 @@ This document tracks the compatibility between **Gitea Mail Templates** releases | Template Release | Min Gitea | Max Tested Gitea | Status | |-----------------|-----------|-----------------|--------| -| **main (unreleased)** | **1.25.0** | **1.27.3** | ✅ Fix pushed and verified; release pending | +| **v1.27.3** | **1.25.0** | **1.27.3** | ✅ Active | | **v1.27.2** | **1.25.0** | **1.27.3** | ⚠️ Push notices fail in Bloom, Ember, and Heritage on Gitea 1.27.1+ | | **v1.0.1** | **1.25.0** | **1.27.0** | ✅ Superseded; push notices need newer release on 1.27.1+ | | **v1.0.0** | **1.25.0** | **1.26.4** | ✅ Superseded | -> **Latest verified:** The fix on `main` passes the Gitea 1.27.3 source audit and push-render test; [CI passed](https://github.com/KenanZhu/GiteaMailTemplates/actions/runs/35824718700). The published v1.27.2 archive still contains three broken push-notification templates. +> **Latest verified:** Release v1.27.3 passes the Gitea 1.27.3 source audit and push-render test. The older v1.27.2 archive contains three broken push-notification templates. ## Versioning -The release tag identifies the downloadable template package. The supported Gitea version may be appended in parentheses in this compatibility matrix; the parenthesized version is not a Git tag. A **main (unreleased)** row describes fixes available in the repository but not yet in a downloadable release. +The release tag identifies the downloadable template package. The supported Gitea version may be appended in parentheses in this compatibility matrix; the parenthesized version is not a Git tag. An **unreleased** row describes fixes available in the repository but not yet in a downloadable release. | Gitea version | Template release | |---------------|------------------| -| 1.27.3 | **main (unreleased)**; published v1.27.2 has a push-notification issue in three themes | -| 1.27.2 | **main (unreleased)**; published v1.27.2 has the same issue | -| 1.27.1 | **main (unreleased)**; published v1.27.2 has the same issue | +| 1.27.3 | **v1.27.3**; v1.27.2 has a push-notification issue in three themes | +| 1.27.2 | **v1.27.3**; v1.27.2 has the same issue | +| 1.27.1 | **v1.27.3**; v1.27.2 has the same issue | - The [tracker workflow](.github/workflows/gitea-tracker.yml) opens a PR when a new Gitea release appears, marking it ⏳ Pending Verification. - After verification, update the top **Template Release** row. Keep fixes on `main` marked **unreleased** until a new tag is published; the [release workflow](.github/workflows/release.yml) packages the archive on tag push. @@ -41,7 +41,7 @@ gitea --version | Gitea | Release Date | Mail Template Changes | Breaking? | |-------|-------------|----------------------|-----------| -| **1.27.3** | 2026-08-29 | No upstream mail template, mailer, or locale changes; an existing push-notification defect in three published themes was found and fixed in the current source tree | No upstream break (local fix pending release) | +| **1.27.3** | 2026-08-29 | No upstream mail template, mailer, or locale changes; an existing push-notification defect in three themes is fixed in template release v1.27.3 | No upstream break | | **1.27.2** | 2026-08-14 | None — security + bug fixes | No | | **1.27.1** | 2026-07-27 | Push commit data paths changed: .ID → .UserCommit.GitCommit.ID (#38467); older custom templates can fail on push notifications | Yes (old .ID paths) | | **1.27.0** | 2026-07-13 | None — no mail template changes | No | diff --git a/README.md b/README.md index f37870b..b4dafe1 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A curated collection of professionally designed, audience-driven email templates [![Gitea](https://img.shields.io/badge/Gitea-1.25+%20%7C%201.27.3%20tested-blue)](COMPATIBILITY.md) -> **110 template files — 10 visual styles, 11 email types each. The `main` branch is verified with Gitea 1.27.3; push-notification fixes await a new release.** +> **Release v1.27.3 — verified with Gitea 1.27.3 — 110 template files, 10 visual styles, 11 email types each.** --- @@ -165,7 +165,7 @@ gitea-mail-templates/ - **Gitea 1.25+** — matches the refactored mail template directory structure (v1.25) - **Latest tested:** Gitea 1.27.3 -- **Published release:** v1.27.2. Its Bloom, Ember, and Heritage push notifications can fail on Gitea 1.27.1+; the fix is on `main` and awaits release (see [COMPATIBILITY.md](COMPATIBILITY.md)) +- **Latest release:** [v1.27.3](https://github.com/KenanZhu/GiteaMailTemplates/releases/tag/v1.27.3) fixes push notifications in Bloom, Ember, and Heritage on Gitea 1.27.1+. The older v1.27.2 archive is affected (see [COMPATIBILITY.md](COMPATIBILITY.md)) - The current source uses Gitea's official template data paths — see [COMPATIBILITY.md](COMPATIBILITY.md) for release-specific limitations - Uses only built-in Gitea template functions and official translation keys - No custom template functions or locale patches required diff --git a/docs/README.zh-CN.md b/docs/README.zh-CN.md index 125550f..9939eda 100644 --- a/docs/README.zh-CN.md +++ b/docs/README.zh-CN.md @@ -2,7 +2,7 @@ 为自托管 [Gitea](https://about.gitea.com) 实例精心设计、面向不同受众的邮件模板集合。 -> **110 个模板文件 — 10 种视觉风格,每种 11 种邮件类型** +> **发布版 v1.27.3 — 已通过 Gitea 1.27.3 兼容性检查 — 110 个模板文件、10 种视觉风格、每种 11 种邮件类型** --- @@ -80,7 +80,7 @@ cd tools && go run . dev - **Gitea 1.25+** — v1.25 引入的邮件模板目录结构 - **最新测试:** Gitea 1.27.3 -- **发布状态:** 已发布的 v1.27.2 在 Gitea 1.27.1+ 上,Bloom、Ember、Heritage 主题的推送通知可能失败;修复已推送到 `main`,尚待发布(详见 [兼容性说明](../COMPATIBILITY.md)) +- **最新发布版:** [v1.27.3](https://github.com/KenanZhu/GiteaMailTemplates/releases/tag/v1.27.3) 已修复 Bloom、Ember、Heritage 主题在 Gitea 1.27.1+ 上的推送通知问题;旧版 v1.27.2 压缩包仍受影响(详见 [兼容性说明](../COMPATIBILITY.md)) - 当前源码使用 Gitea 官方模板的数据路径;各发布版的限制详见 [兼容性说明](../COMPATIBILITY.md) ## 许可证