Skip to content

fix(windows): rebuild the release pipeline on one version number - #23

Merged
PCcoding666 merged 3 commits into
masterfrom
fix/windows-release-pipeline
Oct 31, 2026
Merged

PCcoding666 merged 3 commits into
masterfrom
fix/windows-release-pipeline

Conversation

@PCcoding666

Copy link
Copy Markdown
Owner

Summary

The last Windows release was published as v0.1.4, below the earlier v1.0.3, and the exe inside it still reports 1.0.2: GenerateAssemblyInfo was off and the version lived in a hand-edited AssemblyInfo.cs that CI never updated. Release notes were raw commit lists. This PR puts the Windows release on one version number and one set of user-facing notes.

  • windows/LiveCaptionsTranslator.csproj <VersionPrefix> (now 1.0.4) is the single source of truth; assembly/file/product versions are generated from it. AssemblyInfo.cs keeps only ThemeInfo.
  • New .github/workflows/windows-build.yml: every change under windows/ builds the NSIS installer, four portable exes (x64/ARM64 × with/without runtime) and SHA256SUMS.txt as an artifact. A vX.Y.Z tag publishes the GitHub Release and fails on purpose if the tag ≠ <VersionPrefix> or windows/CHANGELOG.md has no ## [X.Y.Z] section. Embedded versions are checked after publish.
  • Removed build-and-release.yml (every quote escaped as \", triggers on a non-existent main, references a script path that does not exist) and the old dotnet-build.yml it duplicated.
  • windows/CHANGELOG.md (user-facing notes) + windows/docs/dev/release-notes-footer.md (download table, requirements, SmartScreen note) form the release body.
  • installer.nsi takes PUBLISH_DIR / LICENSE_FILE; the repo LICENSE lives one level above windows/.
  • In-app update check now points at PCcoding666/LCT (was SakiRinn/... and PCcoding666/LiveCaptions-Translator).
  • windows/docs/dev/RELEASE.md: release checklist.

Test plan

  • Workflow YAML and csproj parse; changelog extraction and footer substitution tested locally with awk/sed.
  • "Windows Build and Release" on this PR is the real test — first time the Windows workflow runs since the monorepo merge. Check: all five publishes succeed, makensis is found on windows-latest, the "Verify embedded version" step prints FileVersion=1.0.4.0 / ProductVersion=1.0.4-ci.N+….
  • Download the artifact and smoke-run the installer + a portable exe on a Windows machine (About page should show 1.0.4-ci.N).
  • Local scripts (build-installer.bat, build-version.ps1) were edited blind — no Windows here.

Follow-ups (not in this PR)

  • Code signing (needs a certificate) — SmartScreen still warns.
  • After merge: set the date in CHANGELOG.md, tag v1.0.4, then consider marking the old v0.1.4 release as pre-release so "Latest" is unambiguous.

🤖 Generated with Claude Code

The last Windows release went out as v0.1.4, below the earlier v1.0.3, and
the executable inside it still reported 1.0.2: the csproj had
GenerateAssemblyInfo=false and the version lived in a hand-edited
AssemblyInfo.cs that CI never touched. Release notes were commit lists.

- csproj <VersionPrefix> (now 1.0.4) is the single source of truth; assembly
  attributes are generated from it. AssemblyInfo.cs keeps only ThemeInfo.
- New .github/workflows/windows-build.yml builds installer + 4 portable exes
  + SHA256SUMS on every windows/ change; a vX.Y.Z tag publishes the release
  and fails if the tag differs from <VersionPrefix> or windows/CHANGELOG.md
  has no matching section. Embedded versions are verified after publish.
- Remove build-and-release.yml (quotes escaped as \", triggers on a
  non-existent main branch, calls a script path that does not exist) and the
  old dotnet-build.yml it duplicated.
- windows/CHANGELOG.md holds user-facing notes; release-notes-footer.md adds
  the download table, requirements and the SmartScreen note.
- installer.nsi accepts PUBLISH_DIR / LICENSE_FILE; the repository LICENSE is
  one level above windows/. Local build scripts pass the version through
  MSBuild properties instead of rewriting AssemblyInfo.cs.
- In-app update check points at PCcoding666/LCT instead of older repos.
- windows/docs/dev/RELEASE.md documents the checklist.

Not verified locally (no Windows/.NET here): the workflow runs on this PR.
Code signing is still missing; see RELEASE.md.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 31, 2026 18:09

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-31T18:50:37.882397Z 1f70885 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 141a212fea

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/windows-build.yml Resolved
…staller

windows-latest no longer ships NSIS, so the installer step failed with
"makensis not found" after all five publishes succeeded. Install it with
Chocolatey when missing.

ReleaseInfo.GetInstallerAsset() required "x64" in the asset name, which
LCT-vX.Y.Z-Setup.exe never had, so in-app updates always ended with "No
suitable installer found". The installer is x64 only; exclude only an
explicitly ARM64-named installer instead.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 31, 2026 18:18

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

@PCcoding666

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep it up!

Reviewed commit: 1f7088576e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 31, 2026 19:03
@PCcoding666
PCcoding666 merged commit c3dd390 into master Oct 31, 2026
1 check passed
@PCcoding666
PCcoding666 deleted the fix/windows-release-pipeline branch October 31, 2026 19:03

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants