Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,9 @@ If you would like to sign Windows binaries, you can configure Azure Key Vault cr

The action uses the [espressif/release-sign](https://github.com/espressif/release-sign) action internally, which requires Azure credentials to access a certificate stored in Azure Key Vault. If the Azure client secret is not set, signing will be skipped with a warning message.

> [!NOTE]
> Signing only runs on `push` and `release` events within the `espressif` GitHub organization. Pull request builds will compile and test the binary but skip signing, even if Azure credentials are provided. This ensures only reviewed and merged code is signed.

To enable signing, you must explicitly pass the Azure credentials as inputs from your workflow. Set the following secrets in your repository and pass them to the action:

```yaml
Expand Down
9 changes: 6 additions & 3 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -262,14 +262,16 @@ runs:

- name: Check signing certificate
if: |
inputs.target-platform == 'windows-amd64' && inputs.azure-client-secret == ''
inputs.target-platform == 'windows-amd64' && inputs.azure-client-secret == '' &&
(github.event_name == 'push' || github.event_name == 'release') && github.repository_owner == 'espressif'
shell: pwsh
run: |
Write-Host "::warning title=Signing::Azure client secret is not set, skipping signing"

- name: Sign binaries
if: |
inputs.target-platform == 'windows-amd64' && inputs.azure-client-secret != ''
inputs.target-platform == 'windows-amd64' && inputs.azure-client-secret != '' &&
(github.event_name == 'push' || github.event_name == 'release') && github.repository_owner == 'espressif'
uses: espressif/release-sign@master
with:
path: ${{ inputs.output-dir }}
Expand All @@ -281,6 +283,7 @@ runs:

- name: Remove leftover signature files
if: |
inputs.target-platform == 'windows-amd64' && inputs.azure-client-secret != ''
inputs.target-platform == 'windows-amd64' && inputs.azure-client-secret != '' &&
(github.event_name == 'push' || github.event_name == 'release') && github.repository_owner == 'espressif'
shell: bash
run: find ./${{ inputs.output-dir }} -name "*.sig" -type f -delete