Repository navigation
release: announce each new version in the OpenIPC Telegram channel (#34) - #38
Conversation
The release job sets announce=true only when the version in the title of the current latest differs (not when it publishes the same version again to complete missing files); a Telegram step then sends a message (sendMessage, no file): version, commit, time, the CHANGELOG.md section of the version, the install command and the release link. Organization secrets; missing secrets or a failed post are a warning. READMEs: new versions are announced in the OpenIPC Telegram channels. Tested with curl stubbed (nothing sent): without secrets a warning and exit 0; with them the 0.3.1 message holds its CHANGELOG section and the install command. Closes #34
PR Summary by QodoAnnounce new Cerberus releases in the OpenIPC Telegram channel
AI Description
Diagram
High-Level Assessment
Files changed (4)
|
Code Review by Qodo
1. Test releases reach the Telegram channel
|
| if [ "$prev" != "Cerberus $ver" ]; then | ||
| echo "new=true" >> "$GITHUB_OUTPUT" | ||
| echo "announce=true" >> "$GITHUB_OUTPUT" # a new version: Telegram (#34) |
There was a problem hiding this comment.
1. Test releases reach the telegram channel 📎 Requirement gap ≡ Correctness
The release gate sets announce=true for every version whose title differs from the previous latest release, without checking whether VER is a stable release. A test pre-release that reaches the release job is therefore posted to the OpenIPC channel instead of being limited to stable versions.
Agent Prompt
## Issue description
The Telegram announcement flag is enabled whenever the release title changes, but the workflow does not exclude test pre-release versions.
## Fix Focus Areas
- .github/workflows/ci.yml[143-145]
- .github/workflows/ci.yml[205-206]
## Recommended Fix
Validate `ver` as a stable release version before writing `announce=true`, or add an equivalent condition to the Telegram step so test pre-releases are published without being announced.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| # A new version (not a re-publication of the same one) goes to the OpenIPC Telegram dev | ||
| # channel (#34). Organization secrets; a failed post is a warning, not a failed release. | ||
| - name: Telegram |
There was a problem hiding this comment.
2. The release history omits telegram announcements 📎 Requirement gap ⚙ Maintainability
The PR adds Telegram delivery and README notices but does not add a corresponding entry to CHANGELOG.md. The next release's history therefore does not record this release-process change for users or maintainers reviewing the change log.
Agent Prompt
## Issue description
The new Telegram announcement workflow is not recorded in `CHANGELOG.md`, although the release documentation requirements require the change to be documented there.
## Fix Focus Areas
- .github/workflows/ci.yml[203-205]
- CHANGELOG.md[1-18]
## Recommended Fix
Add a changelog bullet or section describing that new stable versions are announced in the OpenIPC Telegram channels, including the relevant release or pull request reference.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| echo "ver=$ver" >> "$GITHUB_OUTPUT" | ||
| if [ "$prev" != "Cerberus $ver" ]; then | ||
| echo "new=true" >> "$GITHUB_OUTPUT" | ||
| echo "announce=true" >> "$GITHUB_OUTPUT" # a new version: Telegram (#34) |
There was a problem hiding this comment.
3. A failed announcement cannot be retried 🐞 Bug ☼ Reliability
announce is set only when the previous release title differs, while missing secrets and failed Telegram posts are treated as successful steps. Once publication has updated the title and assets, rerunning the workflow leaves announce unset and skips Telegram, even if the secrets or posting failure have been fixed.
Agent Prompt
## Issue description
A warning-only Telegram failure leaves no retry path: subsequent runs see a complete release with a matching title and skip the announcement.
## Fix Focus Areas
- .github/workflows/ci.yml[143-154]
- .github/workflows/ci.yml[205-225]
## Recommended Fix
Track whether the current version was successfully announced separately from the release title. Allow a rerun or manual run to send an announcement that has not succeeded, while keeping publication and Telegram posting independent.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
|
LGTM, merging once the tests are green & code review fixed. The first real post happens on 0.3.2, so please check the channel then. |
|
Qodo findings:
|
|
/review |
Thanks for the clarification.
I can’t change finding statuses from this response; the PR author can dismiss the findings that are intentionally out of scope or not applicable. |
|
Code review by qodo was updated up to the latest commit 9843ab5 |
|
Qodo finding 3 (long release notes prevent announcements): fixed in 3659a0f, the excerpt is cut at 3000 characters, so with the header, the install command and the link the message stays below Telegram's 4096. Findings 1, 2 and 4: unchanged, see the reply above. |
|
/review |
Thanks for the update. The fix in |
|
Code review by qodo was updated up to the latest commit 3659a0f |
Closes #34.
ci.yml, jobrelease:announce=trueis set only when the version in the title of the currentlatestdiffers fromCERBERUS_VERSION— a re-publication of the same version (to complete missing files, Release: one release "latest" titled "Cerberus <version>", published on a version bump #32) is not announced. A newTelegramstep then sendssendMessageto the OpenIPC dev channel (organization secretsTELEGRAM_TOKEN_BOT_OPENIPC,TELEGRAM_CHANNEL_OPENIPC_DEV, available to this repository):Cerberus <version>, the commit, the time, the version'sCHANGELOG.mdsection (first 15 lines), the install command andreleases/latest. No binary is attached. Missing secrets or a failed post give a warning; the release stays.Tested in
compot/crosswithcurlstubbed (nothing sent): without secrets a warning and exit 0; with them the 0.3.1 message holds itsCHANGELOG.mdsection and the install command. Workflow and docs only: no version bump, so merging posts nothing (0.3.1 is already inlatest).