From 736625dccd60f780dfbfbdc8ba6a70f9e4505cb6 Mon Sep 17 00:00:00 2001 From: "internalautomation[bot]" <85681268+internalautomation[bot]@users.noreply.github.com> Date: Wed, 21 Oct 2026 21:09:30 +0000 Subject: [PATCH 1/2] Apply repository updates to master --- ...elease.yml => release-build-artifacts.yml} | 21 ++++----- .../workflows/release-deploy-production.yml | 46 +++++++++++++++++++ .github/workflows/release-deploy-staging.yml | 31 +++++++++++++ .release/.templates/default/create/footer.sbn | 10 ++++ .release/.templates/default/issue-note.sbn | 6 +++ .release/GitReleaseManager.yaml | 10 ++++ 6 files changed, 113 insertions(+), 11 deletions(-) rename .github/workflows/{release.yml => release-build-artifacts.yml} (54%) create mode 100644 .github/workflows/release-deploy-production.yml create mode 100644 .github/workflows/release-deploy-staging.yml create mode 100644 .release/.templates/default/create/footer.sbn create mode 100644 .release/.templates/default/issue-note.sbn create mode 100644 .release/GitReleaseManager.yaml diff --git a/.github/workflows/release.yml b/.github/workflows/release-build-artifacts.yml similarity index 54% rename from .github/workflows/release.yml rename to .github/workflows/release-build-artifacts.yml index 0d7862c4..ac164286 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release-build-artifacts.yml @@ -1,4 +1,4 @@ -name: Release +name: Release - build and store artifacts on: push: tags: @@ -10,7 +10,7 @@ defaults: run: shell: pwsh jobs: - release: + build-and-store-artifacts: runs-on: ubuntu-latest steps: - name: Checkout @@ -26,18 +26,17 @@ jobs: - name: Sign NuGet packages uses: Particular/sign-nuget-packages-action@v1.0.0 with: - client-id: ${{ secrets.AZURE_KEY_VAULT_CLIENT_ID }} - tenant-id: ${{ secrets.AZURE_KEY_VAULT_TENANT_ID }} - client-secret: ${{ secrets.AZURE_KEY_VAULT_CLIENT_SECRET }} - certificate-name: ${{ secrets.AZURE_KEY_VAULT_CERTIFICATE_NAME }} - - name: Publish artifacts + client-id: ${{ secrets.AZURE_KEY_VAULT_CLIENT_ID }} + tenant-id: ${{ secrets.AZURE_KEY_VAULT_TENANT_ID }} + client-secret: ${{ secrets.AZURE_KEY_VAULT_CLIENT_SECRET }} + certificate-name: ${{ secrets.AZURE_KEY_VAULT_CERTIFICATE_NAME }} + - name: Publish NuGet packages to the workflow uses: actions/upload-artifact@v7.0.2 with: name: nugets path: nugets/* retention-days: 1 - - name: Deploy - # Does not follow standard practice of targeting explicit versions because configuration is tightly coupled to Octopus Deploy configuration - uses: Particular/push-octopus-package-action@main + - name: Create draft release and attach artifacts + uses: particular/deployment-workflows/.github/actions/create-draft-release-with-assets@1.0.0 with: - octopus-deploy-api-key: ${{ secrets.OCTOPUS_DEPLOY_API_KEY }} + asset-paths: "nugets/" diff --git a/.github/workflows/release-deploy-production.yml b/.github/workflows/release-deploy-production.yml new file mode 100644 index 00000000..56776585 --- /dev/null +++ b/.github/workflows/release-deploy-production.yml @@ -0,0 +1,46 @@ +name: Deploy Production +on: + workflow_dispatch: + inputs: + version: + required: true + type: string +env: + DOTNET_NOLOGO: true +jobs: + check-authorized-user: + uses: Particular/deployment-workflows/.github/workflows/verify-authorized-user.yml@1.0.0 + publish-release-notes: + needs: check-authorized-user + uses: Particular/deployment-workflows/.github/workflows/publish-release-notes.yml@1.0.0 + with: + version: ${{ inputs.version }} + secrets: inherit + virus-scan: + needs: publish-release-notes + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Scan release for viruses + uses: Particular/virus-scan-action@main + with: + owner: ${{ github.repository_owner }} + repo: ${{ github.event.repository.name }} + tag: ${{ inputs.version }} + github-access-token: ${{ secrets.GITHUB_TOKEN }} + slack-token: ${{ secrets.SLACK_TOKEN }} + slack-channel: ${{ vars.VIRUS_REPORTING_SLACK_CHANNEL }} + push-nuget-packages: + permissions: + id-token: write + contents: read + runs-on: ubuntu-latest + needs: publish-release-notes + steps: + - name: Push NuGet packages + uses: particular/deployment-workflows/.github/actions/push-nuget-packages@1.0.0 + with: + version: ${{ inputs.version }} + deploy-environment: production + api-key: required-but-real-value-not-needed-we-use-trusted-publishing-for-production diff --git a/.github/workflows/release-deploy-staging.yml b/.github/workflows/release-deploy-staging.yml new file mode 100644 index 00000000..5bbf4de1 --- /dev/null +++ b/.github/workflows/release-deploy-staging.yml @@ -0,0 +1,31 @@ +name: Deploy Staging +on: + workflow_dispatch: + inputs: + version: + required: true + type: string +env: + DOTNET_NOLOGO: true +jobs: + check-authorized-user: + uses: Particular/deployment-workflows/.github/workflows/verify-authorized-user.yml@1.0.0 + push-nuget-packages-staging: + needs: check-authorized-user + runs-on: ubuntu-latest + permissions: + id-token: write + contents: write + steps: + - name: Push NuGet packages + uses: Particular/deployment-workflows/.github/actions/push-nuget-packages@1.0.0 + with: + version: ${{ inputs.version }} + deploy-environment: staging + api-key: ${{ secrets.FEEDZIO_PUBLISH_API_KEY }} + generate-release-notes: + needs: check-authorized-user + uses: Particular/deployment-workflows/.github/workflows/generate-release-notes.yml@1.0.0 + with: + version: ${{ inputs.version }} + secrets: inherit diff --git a/.release/.templates/default/create/footer.sbn b/.release/.templates/default/create/footer.sbn new file mode 100644 index 00000000..19c9983f --- /dev/null +++ b/.release/.templates/default/create/footer.sbn @@ -0,0 +1,10 @@ +{{ if config.create.include_footer }} + +### Where to get it + + +You can download this release from [NuGet](https://www.nuget.org/profiles/ParticularSoftware/). + +{{ end }} + + \ No newline at end of file diff --git a/.release/.templates/default/issue-note.sbn b/.release/.templates/default/issue-note.sbn new file mode 100644 index 00000000..cc3a32ed --- /dev/null +++ b/.release/.templates/default/issue-note.sbn @@ -0,0 +1,6 @@ +{{ + if issue.is_pull_request +}}- [__#{{ issue.public_number }}__]({{ issue.html_url }}) {{ issue.title }} +{{ else +}}- [__#{{ issue.public_number }}__]({{ issue.html_url }}) {{ issue.title }} +{{ end -}} diff --git a/.release/GitReleaseManager.yaml b/.release/GitReleaseManager.yaml new file mode 100644 index 00000000..f6de466d --- /dev/null +++ b/.release/GitReleaseManager.yaml @@ -0,0 +1,10 @@ +templates-dir: .templates +create: + include-footer: true +issue-labels-include: + - "Bug" + - "Feature" + - "Improvement" + - "Dependency CVE" +issue-labels-exclude: + - "Refactoring" From 7c29720f1d88bf9ae2a9d8c386acf9868972c196 Mon Sep 17 00:00:00 2001 From: Tamara Rivera Date: Tue, 27 Oct 2026 15:49:39 -0700 Subject: [PATCH 2/2] Add spaces --- .github/workflows/release-build-artifacts.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release-build-artifacts.yml b/.github/workflows/release-build-artifacts.yml index ac164286..e760fc83 100644 --- a/.github/workflows/release-build-artifacts.yml +++ b/.github/workflows/release-build-artifacts.yml @@ -26,10 +26,10 @@ jobs: - name: Sign NuGet packages uses: Particular/sign-nuget-packages-action@v1.0.0 with: - client-id: ${{ secrets.AZURE_KEY_VAULT_CLIENT_ID }} - tenant-id: ${{ secrets.AZURE_KEY_VAULT_TENANT_ID }} - client-secret: ${{ secrets.AZURE_KEY_VAULT_CLIENT_SECRET }} - certificate-name: ${{ secrets.AZURE_KEY_VAULT_CERTIFICATE_NAME }} + client-id: ${{ secrets.AZURE_KEY_VAULT_CLIENT_ID }} + tenant-id: ${{ secrets.AZURE_KEY_VAULT_TENANT_ID }} + client-secret: ${{ secrets.AZURE_KEY_VAULT_CLIENT_SECRET }} + certificate-name: ${{ secrets.AZURE_KEY_VAULT_CERTIFICATE_NAME }} - name: Publish NuGet packages to the workflow uses: actions/upload-artifact@v7.0.2 with: