Skip to content

ci(NuGet): Reworking the code signing mechanism. #17

Open
turbobobbytraykov wants to merge 11 commits into
masterfrom
btraykov/update-signing
Open

ci(NuGet): Reworking the code signing mechanism. #17
turbobobbytraykov wants to merge 11 commits into
masterfrom
btraykov/update-signing

Conversation

@turbobobbytraykov

@turbobobbytraykov turbobobbytraykov commented Jul 6, 2026

Copy link
Copy Markdown

Use the new approach to signing code in the repo, aligning it with the recommendations from Microsoft, a.k.a code-signing the DLLs as well as the NuGet package.

The code signing mechanism works on any Windows runner, but unfortunately it requires Windows OS binaries to work, so ubuntu-latest is no longer viable if we want to keep the workflow with just 1 job.

Reference guide from Barry from MS: https://idunno.org/net-code-nupkg-signing-in-github-actions/

Added workflow dispatch inputs for versioning and build configuration. Updated build and signing steps to use environment variables and Azure Key Vault for signing.
@turbobobbytraykov turbobobbytraykov marked this pull request as draft July 6, 2026 12:02

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.

Pull request overview

Updates the release publish workflow to use Windows runners and a Key Vault-based signing flow so assemblies and the produced NuGet package are signed during release publishing.

Changes:

  • Switch publish job to windows-latest and add BUILD_CONFIGURATION env usage for build/pack.
  • Add Azure OIDC login + Sign CLI steps to sign DLLs and the .nupkg, plus signature validation steps.
  • Temporarily add artifact upload for debugging and temporarily disable the final nuget push step.

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

Comment on lines 127 to +129
- name: NuGet push
run: dotnet nuget push artifacts/IgniteUI.Blazor.GridLite.${VERSION}.nupkg --api-key ${{steps.login.outputs.NUGET_API_KEY}} --source "https://api.nuget.org/v3/index.json"
if: false # temp disable while working in the branch
run: dotnet nuget push artifacts/IgniteUI.Blazor.GridLite.${{ env.VERSION }}.nupkg --api-key ${{steps.login.outputs.NUGET_API_KEY}} --source "https://api.nuget.org/v3/index.json"
Comment thread .github/workflows/publish.yml Outdated
Comment thread .github/workflows/publish.yml Outdated
Comment thread .github/workflows/publish.yml
Comment thread .github/workflows/publish.yml Outdated
Comment thread .github/workflows/publish.yml Outdated
Removed commented-out steps for signing NuGet package in the workflow.
@turbobobbytraykov turbobobbytraykov marked this pull request as ready for review July 7, 2026 07:18
@damyanpetev damyanpetev changed the title (ci) Reworking the code signing mechanism. ci(npm): Reworking the code signing mechanism. Jul 8, 2026
@damyanpetev damyanpetev changed the title ci(npm): Reworking the code signing mechanism. ci(NuGet): Reworking the code signing mechanism. Jul 8, 2026
…re-enable push to nuget.org

Removed artifact upload step and adjusted permissions.

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.

Pull request overview

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

Comment on lines +13 to +17
runs-on: windows-latest
environment: NuGet Deploy
permissions:
id-token: write # enable GitHub OIDC token issuance for this job
contents: read
Comment thread .github/workflows/publish.yml Outdated

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.

Pull request overview

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

Comment on lines 100 to +102
# Push the package
- name: NuGet push
run: dotnet nuget push artifacts/IgniteUI.Blazor.GridLite.${VERSION}.nupkg --api-key ${{steps.login.outputs.NUGET_API_KEY}} --source "https://api.nuget.org/v3/index.json"
run: dotnet nuget push artifacts/IgniteUI.Blazor.GridLite.${{ env.VERSION }}.nupkg --api-key ${{steps.login.outputs.NUGET_API_KEY}} --source "https://api.nuget.org/v3/index.json"
@turbobobbytraykov turbobobbytraykov requested a review from Copilot July 8, 2026 13: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.

Pull request overview

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

Comment on lines 82 to +86
- name: Sign NuGet package
env:
SIGNING_CERTIFICATE_PASSWORD: ${{ secrets.SIGNING_CERTIFICATE_PASSWORD }}
SIGNING_CERTIFICATE_TIMESTAMP_URL: ${{ vars.SIGNING_CERTIFICATE_TIMESTAMP_URL }}
run: |
dotnet nuget sign "./artifacts/*.nupkg" \
--certificate-path signingcert.pfx \
--certificate-password "${SIGNING_CERTIFICATE_PASSWORD}" \
--timestamper "${SIGNING_CERTIFICATE_TIMESTAMP_URL}"
shell: pwsh
run: >
./sign/sign code azure-key-vault "*.nupkg"
--base-directory "${{ github.workspace }}/artifacts"
Comment on lines 100 to +102
# Push the package
- name: NuGet push
run: dotnet nuget push artifacts/IgniteUI.Blazor.GridLite.${VERSION}.nupkg --api-key ${{steps.login.outputs.NUGET_API_KEY}} --source "https://api.nuget.org/v3/index.json"
run: dotnet nuget push artifacts/IgniteUI.Blazor.GridLite.${{ env.VERSION }}.nupkg --api-key ${{steps.login.outputs.NUGET_API_KEY}} --source "https://api.nuget.org/v3/index.json"

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.

Pull request overview

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

Comment thread .github/workflows/publish.yml
Comment thread .github/workflows/publish.yml Outdated
Comment on lines 101 to +102
- name: NuGet push
run: dotnet nuget push artifacts/IgniteUI.Blazor.GridLite.${VERSION}.nupkg --api-key ${{steps.login.outputs.NUGET_API_KEY}} --source "https://api.nuget.org/v3/index.json"
run: dotnet nuget push artifacts/IgniteUI.Blazor.GridLite.${{ env.VERSION }}.nupkg --api-key ${{steps.login.outputs.NUGET_API_KEY}} --source "https://api.nuget.org/v3/index.json"
turbobobbytraykov and others added 2 commits July 8, 2026 18:11
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
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