Skip to content

add(ci): signing bin before release#2202

Open
PIKACHUIM wants to merge 6 commits intoEasyTier:mainfrom
PIKACHUIM:dev-signcode
Open

add(ci): signing bin before release#2202
PIKACHUIM wants to merge 6 commits intoEasyTier:mainfrom
PIKACHUIM:dev-signcode

Conversation

@PIKACHUIM
Copy link
Copy Markdown

@PIKACHUIM PIKACHUIM commented May 2, 2026

添加了Certum EV Cloud Signing代码签名步骤

Copilot AI review requested due to automatic review settings May 2, 2026 15:59
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

Adds a Windows code-signing step to the release workflow (via Certum SimplySign) so Windows binaries can be signed before drafting a GitHub Release.

Changes:

  • Introduces a sign-windows job that downloads Windows artifacts, installs/configures SimplySign, signs .exe/.dll, and uploads “signed” artifacts.
  • Updates the release job to prefer signed artifacts when present and to include signing status in release notes.
  • Adds helper scripts for SimplySign installation, registry configuration, and TOTP-based authentication.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 9 comments.

File Description
.github/workflows/release.yml Adds signing job, artifact switching logic, and release notes generation.
.github/scripts/install-simplysign.sh Installs SimplySign Desktop MSI on Windows runner.
.github/scripts/configure-simplysign-registry.ps1 Preconfigures HKCU registry settings to make SimplySign login dialog automation-friendly.
.github/scripts/Connect-SimplySign-Enhanced.ps1 Generates TOTP and automates SimplySign login via window focus + SendKeys.

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

Comment thread .github/workflows/release.yml
Comment thread .github/workflows/release.yml
Comment thread .github/scripts/Connect-SimplySign-Enhanced.ps1
Comment thread .github/workflows/release.yml
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml
Comment thread .github/scripts/install-simplysign.sh
Comment thread .github/scripts/Connect-SimplySign-Enhanced.ps1 Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
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

Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.


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

Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/scripts/install-simplysign.sh
Comment thread .github/scripts/install-simplysign.sh
Comment thread .github/scripts/Connect-SimplySign-Enhanced.ps1 Outdated
PIKACHUIM and others added 4 commits May 4, 2026 18:36
@PIKACHUIM PIKACHUIM requested a review from Copilot May 4, 2026 10:48
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

Copilot reviewed 4 out of 4 changed files in this pull request and generated 7 comments.


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

Comment on lines 29 to +36
permissions:
contents: write


# SimplySign signing configuration
CERTUM_OTP_URI: ${{ secrets.CERTUM_OTP_URI }}
CERTUM_USERNAME: ${{ secrets.CERTUM_USERNAME }}
CERTUM_EXE_PATH: ${{ secrets.CERTUM_EXE_PATH }}
Comment on lines +39 to +42
sign-windows:
name: Sign Windows Artifacts with SimplySign
runs-on: windows-latest
continue-on-error: true
Comment on lines +141 to +166
# Continue regardless of signing result (success, failure, skipped, or cancelled)
if: ${{ always() && (needs.sign-windows.result == 'success' || needs.sign-windows.result == 'failure' || needs.sign-windows.result == 'cancelled' || needs.sign-windows.result == 'skipped') }}
steps:
-
name: Checkout
uses: actions/checkout@v5

- name: Check signing result
id: check_signing
run: |
echo "Signing job result: ${{ needs.sign-windows.result }}"
if [ "${{ needs.sign-windows.result }}" = "success" ]; then
echo "status=signed" >> $GITHUB_OUTPUT
echo "Windows artifacts were signed successfully"
else
echo "status=unsigned" >> $GITHUB_OUTPUT
echo "Warning: Windows signing was skipped or failed, continuing without signatures"
fi

- name: Download signed artifacts (if available)
uses: actions/download-artifact@v4
with:
name: signed-windows-artifacts
path: signed_release_assets
continue-on-error: true

Comment on lines +93 to +105
foreach ($file in $filesToSign) {
Write-Host "Signing: $($file.FullName)"
try {
# Using signtool with the certificate from SimplySign virtual smart card
$timestampServer = "http://timestamp.digicert.com"
& signtool sign /fd SHA256 /tr $timestampServer /td SHA256 /a "$($file.FullName)"
Write-Host " OK: Signed successfully"
} catch {
Write-Host " WARNING: Failed to sign file - $($_.Exception.Message)"
}
}

Write-Host "=== SIGNING COMPLETE ==="
Write-Host "Signing: $($file.FullName)"
try {
# Using signtool with the certificate from SimplySign virtual smart card
$timestampServer = "http://timestamp.digicert.com"
CERTUM_INSTALLER="SimplySignDesktop.msi"
echo "Downloading SimplySign Desktop MSI..."

if curl -L "https://files.certum.eu/software/SimplySignDesktop/Windows/9.3.2.67/SimplySignDesktop-9.3.2.67-64-bit-en.msi" -o "$CERTUM_INSTALLER" --fail --max-time 60; then

$Digits = if ($q['digits']) { [int]$q['digits'] } else { 6 }
$Period = if ($q['period']) { [int]$q['period'] } else { 30 }
$Algorithm = if ($q['algorithm']) { $q['algorithm'].ToUpper() } else { 'SHA256' }
@PIKACHUIM
Copy link
Copy Markdown
Author

@copilot apply changes based on the comments in this thread

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