Skip to content

Code-sign Kallichore binaries on Windows#57

Merged
jmcphers merged 3 commits into
mainfrom
feature/sign-windows
Dec 10, 2025
Merged

Code-sign Kallichore binaries on Windows#57
jmcphers merged 3 commits into
mainfrom
feature/sign-windows

Conversation

@jmcphers
Copy link
Copy Markdown
Contributor

@jmcphers jmcphers commented Dec 10, 2025

Signs Kallichore releases on Windows.

Part of posit-dev/positron#9962

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds code signing for Windows releases of Kallichore by introducing a signing step in the release workflow and bumping the version to 0.1.61.

  • Adds a Windows binary signing workflow using a reusable workflow from posit-dev/posit-gh-actions
  • Refactors the Windows build process to separate building, signing, and packaging into distinct jobs
  • Updates job dependencies to ensure signed binaries are used in releases

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 1 comment.

File Description
crates/kcserver/Cargo.toml Bumps version from 0.1.60 to 0.1.61
Cargo.lock Updates lock file to reflect version 0.1.61
.github/workflows/release.yml Adds signing workflow with new jobs for signing Windows binaries and repackaging signed executables; updates job dependencies to include signing steps

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +200 to +216
sign_windows:
name: "Sign Windows Binaries"
uses: posit-dev/posit-gh-actions/.github/workflows/sign-windows.yml@main
needs: [build_windows, get_version]
secrets: inherit
strategy:
matrix:
arch: [x64, arm64]
flavor: [debug, release]
with:
unsigned_artifact_name: kallichore-${{ matrix.flavor }}-windows-${{ matrix.arch }}-unsigned
signed_artifact_name: kallichore-${{ matrix.flavor }}-windows-${{ matrix.arch }}-signed

repackage_signed_windows:
name: Repackage Signed Windows Binaries
runs-on: windows-latest
needs: [sign_windows, get_version]
Copy link

Copilot AI Dec 10, 2025

Choose a reason for hiding this comment

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

The sign_windows job attempts to use a matrix strategy with a reusable workflow, but GitHub Actions does not support matrix strategies at the job level when calling reusable workflows. The matrix strategy should be defined inside the reusable workflow itself, or this job needs to be split into separate jobs for each combination.

This will cause the workflow to fail because you cannot use 'strategy.matrix' with a job that uses a reusable workflow (the 'uses' keyword). Either remove the matrix strategy here and handle it within the reusable workflow, or create separate jobs for each matrix combination.

Suggested change
sign_windows:
name: "Sign Windows Binaries"
uses: posit-dev/posit-gh-actions/.github/workflows/sign-windows.yml@main
needs: [build_windows, get_version]
secrets: inherit
strategy:
matrix:
arch: [x64, arm64]
flavor: [debug, release]
with:
unsigned_artifact_name: kallichore-${{ matrix.flavor }}-windows-${{ matrix.arch }}-unsigned
signed_artifact_name: kallichore-${{ matrix.flavor }}-windows-${{ matrix.arch }}-signed
repackage_signed_windows:
name: Repackage Signed Windows Binaries
runs-on: windows-latest
needs: [sign_windows, get_version]
sign_windows_x64_debug:
name: "Sign Windows Binaries (x64, debug)"
uses: posit-dev/posit-gh-actions/.github/workflows/sign-windows.yml@main
needs: [build_windows, get_version]
secrets: inherit
with:
unsigned_artifact_name: kallichore-debug-windows-x64-unsigned
signed_artifact_name: kallichore-debug-windows-x64-signed
arch: x64
flavor: debug
sign_windows_x64_release:
name: "Sign Windows Binaries (x64, release)"
uses: posit-dev/posit-gh-actions/.github/workflows/sign-windows.yml@main
needs: [build_windows, get_version]
secrets: inherit
with:
unsigned_artifact_name: kallichore-release-windows-x64-unsigned
signed_artifact_name: kallichore-release-windows-x64-signed
arch: x64
flavor: release
sign_windows_arm64_debug:
name: "Sign Windows Binaries (arm64, debug)"
uses: posit-dev/posit-gh-actions/.github/workflows/sign-windows.yml@main
needs: [build_windows, get_version]
secrets: inherit
with:
unsigned_artifact_name: kallichore-debug-windows-arm64-unsigned
signed_artifact_name: kallichore-debug-windows-arm64-signed
arch: arm64
flavor: debug
sign_windows_arm64_release:
name: "Sign Windows Binaries (arm64, release)"
uses: posit-dev/posit-gh-actions/.github/workflows/sign-windows.yml@main
needs: [build_windows, get_version]
secrets: inherit
with:
unsigned_artifact_name: kallichore-release-windows-arm64-unsigned
signed_artifact_name: kallichore-release-windows-arm64-signed
arch: arm64
flavor: release
repackage_signed_windows:
name: Repackage Signed Windows Binaries
runs-on: windows-latest
needs:
- sign_windows_x64_debug
- sign_windows_x64_release
- sign_windows_arm64_debug
- sign_windows_arm64_release
- get_version

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will cause the workflow to fail

no it works fine! you're wrong.

@jmcphers jmcphers merged commit fc7882e into main Dec 10, 2025
11 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Dec 10, 2025
@jmcphers jmcphers changed the title Add code signatures on Windows Code-sign Kallichore binaries on Windows Dec 11, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants