Skip to content

feat(windows): ship verified unsigned MSI releases - #274

Merged
veryCrunchy merged 7 commits into
feat/filesync-enginefrom
feat/windows-release
Aug 1, 2026
Merged

feat(windows): ship verified unsigned MSI releases#274
veryCrunchy merged 7 commits into
feat/filesync-enginefrom
feat/windows-release

Conversation

@veryCrunchy

Copy link
Copy Markdown
Member

Summary

  • build and verify one per-user x86-64 MSI on a GitHub-hosted Windows runner
  • store Login Flow app passwords in Windows Credential Manager and qualify the native Cloud Files provider against the current filesync foundation
  • publish the intentionally unsigned MSI with keyless GitHub/Sigstore provenance and immutable SHA-256 checksums
  • disclose the SmartScreen installation path without asking users to disable Windows security controls
  • generate WinGet manifest candidates directly from verified MSI metadata for later catalog submission

Security model

The project does not currently use paid Authenticode signing. This removes the unused PFX secret path and rejects self-signed or unexpectedly signed packages. Release workflows verify the explicit unsigned state, attest the exact MSI produced from protected release source, and publish checksums. Release notes state that Windows may require More info > Run anyway and that managed devices may block unsigned installers.

GitHub provenance is an integrity and source-origin control; it is not presented as an Authenticode publisher signature.

Validation

  • bash tools/check-repository.sh
  • bash tools/test-nightly-release-workflow.sh
  • node --test tools/nightly-release-notes.test.mjs
  • go run github.com/rhysd/actionlint/cmd/actionlint@v1.7.12 -color .github/workflows/ci.yml .github/workflows/nightly.yml .github/workflows/prerelease.yml
  • ./gradlew --no-daemon --max-workers=1 -Pkotlin.incremental=false -Pkotlin.compiler.execution.strategy=in-process :ui:desktopTest with JDK 21 and FUSE 2 available

The GitHub-hosted Windows job remains the authoritative MSI, Windows Credential Manager, MSI metadata, and WinGet generation validation.

Stacked on #272.

Refs #102.

@veryCrunchy veryCrunchy added priority:P1 Required for the pre-release product experience area:release Builds, CI, security, packaging, and releases labels Aug 1, 2026
@veryCrunchy veryCrunchy added this to the 1.0 Release readiness milestone Aug 1, 2026
@veryCrunchy veryCrunchy added area:platform Android, desktop, iOS, Windows, macOS, and Linux platform work type:feature New product capability platform:desktop Desktop-specific implementation or validation verification Implemented and awaiting full automated or device validation labels Aug 1, 2026

@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: f411d5e72a

ℹ️ 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/prerelease.yml
Comment thread ui/src/desktopMain/kotlin/dev/obiente/nextcloudnative/app/DesktopSecretStore.kt Outdated
Comment thread ui/build.gradle.kts
Comment thread .github/workflows/prerelease.yml Outdated
@veryCrunchy
veryCrunchy force-pushed the feat/windows-release branch from f411d5e to 73fcc4d Compare August 1, 2026 16:52

@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: 73fcc4ded4

ℹ️ 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".

@veryCrunchy
veryCrunchy force-pushed the feat/windows-release branch 2 times, most recently from 4752776 to c4af4ac Compare August 1, 2026 17:16

@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: c4af4accc2

ℹ️ 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 tools/nightly-release-notes.mjs
@veryCrunchy
veryCrunchy force-pushed the feat/windows-release branch from c4af4ac to 2fbc2ab Compare August 1, 2026 17:48

@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: 588baeca89

ℹ️ 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".

@veryCrunchy
veryCrunchy force-pushed the feat/windows-release branch 2 times, most recently from 1cb7a82 to b8154d0 Compare August 1, 2026 18:18
@veryCrunchy
veryCrunchy force-pushed the feat/windows-release branch from b8154d0 to 2db1b89 Compare August 1, 2026 18:20
@veryCrunchy
veryCrunchy merged commit 03ebaf9 into main Aug 1, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:platform Android, desktop, iOS, Windows, macOS, and Linux platform work area:release Builds, CI, security, packaging, and releases platform:desktop Desktop-specific implementation or validation priority:P1 Required for the pre-release product experience type:feature New product capability verification Implemented and awaiting full automated or device validation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant