.github: ci.yml: clean up extension handling and step names - #3019
Conversation
📝 MINOR SUGGESTIONS (Automated PR Review — round 1)
This is a backport of a release-workflow change from the main branch onto the 1.18 branch. It splits one "extension" setting into two — the extension the app is built as, and the extension it is published as — and folds the two Linux-only upload steps into the shared ones every platform already uses. On Windows and macOS the two extensions are the same; on Linux the published file is the compressed AppImage, which is what that branch already published. The practical effect is that the step copying stable releases to the public download bucket finally has a filename to work with instead of one ending in a bare dot. Nothing in the application itself changes. What still needs attention
Change map — what was established before judgingEnvironment note (affects what could be verified). The PR's base is Claims
Failure site. The misbehaving line is the electron job's Entry points (workflow steps, not functions — the diff contains no code):
Invariants. The change establishes one: every entry of the 8. Commit Hygiene — 2 findings8.1 — The PR's single commit Consequence: someone reading the 1.18 branch history to find out why stable downloads started publishing again sees only "clean up", so the next person debugging that release path has to rediscover the cause from scratch. 8.2 —
Consequence: the 1.18 branch credits the wrong person for this change, so anyone searching that branch's history by author, or blaming these lines, is pointed at the backporter rather than at the person who can explain the change. Sections with nothing to report (10)1. Correctness & Implementation Bugs — ✅ (traced all seven artifact-naming steps in 2. Persistence & User Data — ✅ (no persisted key, storage backend or 3. AGENTS.md Adherence — ✅ (the two 4. Security — ✅ (no new action, secret, endpoint, trigger or permission: 5. Performance — ✅ (no runtime code; the net effect on CI is two fewer steps and one fewer upload invocation per Linux leg) 6. UI / UX — ✅ (no user-facing surface: the only strings changed are two GitHub Actions step names visible in the Actions log) 7. Code Quality & Style — ✅ (YAML only, so 9. Tests — ✅ (no test file or spec is touched, and the 10. Documentation — ✅ ( 11. Nitpicks / Optional — ✅ (the only candidate — Generated by Claude. This is advisory; a human reviewer must still approve. |
Defines the uploadExtension the stable AWS upload step already references. (cherry picked from commit c9d6963)
e87da85 to
8a6e1a7
Compare
Review follow-up — round 1Done
|
|
/review |
✅ READY TO MERGE (Automated PR Review — round 2)
This is a backport of a release-workflow change from the main branch onto the 1.18 branch. It splits one "extension" setting into two — the extension the app is built as, and the extension it is published as — and folds the two Linux-only upload steps into the shared ones every platform already uses. On Windows and macOS the two extensions are the same; on Linux the published file is the compressed AppImage, which is what that branch already published. The practical effect is that the step copying stable releases to the public download bucket finally has a filename to work with instead of one ending in a bare dot. Nothing in the application itself changes. What still needs attentionNothing is open: both findings from round 1 were addressed by the amended commit, and no new finding was raised this round. Since round 1 — 2 closed, comparing e87da85 → 8a6e1a7The range is not trustworthy as a delta, so the transitions below come from Content is unchanged since round 1.
Discussion since round 1.
Change map — what was established before judgingEnvironment note (affects what could be verified). The PR's base is Claims
Failure site. The misbehaving line is the electron job's Entry points (workflow steps, not functions — the diff contains no code):
Invariants. One: every entry of the Sections with nothing to report (11)1. Correctness & Implementation Bugs — ✅ (re-traced all seven artifact-naming steps in 2. Persistence & User Data — ✅ (no persisted key, storage backend or 3. AGENTS.md Adherence — ✅ (the two 4. Security — ✅ (no new action, secret, endpoint, trigger or permission: 5. Performance — ✅ (no runtime code; the net effect on CI is two fewer steps and one fewer upload invocation per Linux leg) 6. UI / UX — ✅ (no user-facing surface: the only strings changed are two GitHub Actions step names visible in the Actions log) 7. Code Quality & Style — ✅ (YAML only, so 8. Commit Hygiene — ✅ (the single commit 9. Tests — ✅ (no test file or spec is touched, and the 10. Documentation — ✅ ( 11. Nitpicks / Optional — ✅ (the only candidate — Generated by Claude. This is advisory; a human reviewer must still approve. |
ES-Alexander
left a comment
There was a problem hiding this comment.
Oops - I should have run a diff on the files. Thanks for the fix!
Given the AWS push won't run again until the next tag, I guess we should manually update those files this time, and hope it works next time?
Summary
buildExtension/uploadExtensionsplit ontov1.18-devso the stable AWS upload can resolvematrix.uploadExtension.v1.18.3tag failedaws s3 cpon every electron job because that field was empty (dist/Cockpit-linux-arm64-1.18.3.)..AppImage.tar.gz).Test plan
uploadExtensionfor every OS (dmg/AppImage.tar.gz/exe)dist/Cockpit-${suffix}-${arch}-${VERSION}.${uploadExtension}.AppImage.tar.gz)bcloud-publicstill returnedAccessDeniedforgithub-actions— that is IAM, not this PR