diff --git a/.github/workflows/CD.yml b/.github/workflows/CD.yml index 08ac25b..2dce007 100644 --- a/.github/workflows/CD.yml +++ b/.github/workflows/CD.yml @@ -1,6 +1,8 @@ -# Binding Simple CD - Template +# Binding Tracked CD - Template -# This template is for pure .NET bindings (no XML update) to publish NuGets to Nuget.org. +# This template is for bindings that follow an upstream specification declared in +# binding.yml: the workflow fetches it, regenerates, and publishes only when the +# generated API changed. # Copy this file to your repository as `.github/workflows/CD.yml` and customize the inputs below. name: CD @@ -13,11 +15,18 @@ on: required: false type: boolean default: false + force-publish: + description: 'Publish even if the generated API did not change (for shipping a reviewed regeneration)' + required: false + type: boolean + default: false + schedule: + - cron: '30 1 1 * *' # Monthly update on day 1 at 01:30 jobs: cd: if: github.event_name != 'schedule' || github.ref_name == github.event.repository.default_branch - uses: EvergineTeam/Evergine.Bindings/.github/workflows/binding-simple-cd.yml@v1 + uses: EvergineTeam/Evergine.Bindings/.github/workflows/binding-tracked-cd.yml@v1 with: generator-project: "RenderDocGen/RenderDocGen/RenderDocGen.csproj" # Path to your generator .csproj generator-name: "RenderDoc" # Name of your generator executable @@ -28,6 +37,7 @@ jobs: runtime-identifier: "win-x64" # Runtime identifier (win-x64, linux-x64, etc.) build-configuration: "Release" # Build configuration (Release, Debug, etc.) revision: ${{ github.run_number }} # Revision for date-based version (bindings style). Use with bindings. + force-publish: ${{ inputs.force-publish || false }} publish-enabled: ${{ !inputs.skip-assets-publishing }} # Publish NuGets to Nuget.org enable-email-notifications: true # Enable email notifications on failure runner-os: windows-latest # OS for the runner (windows-latest, ubuntu-latest, etc.)