name: Publish to Chocolatey
on:
workflow_call:
inputs:
plan:
required: true
type: string
jobs:
publish:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Parse Version from Plan
id: version
shell: pwsh
run: |
# We use a here-string to safely handle the JSON input which might contain quotes
$planJson = @'
${{ inputs.plan }}
'@
$plan = $planJson | ConvertFrom-Json
$version = $plan.releases[0].app_version
"version=$version" | Out-File -FilePath $env:GITHUB_OUTPUT -Append
- name: Pack Chocolatey Package
shell: pwsh
run: choco pack choco/casc-cli.nuspec --version ${{ steps.version.outputs.version }}
- name: Push Chocolatey Package
shell: pwsh
env:
CHOCOLATEY_API_KEY: ${{ secrets.CHOCOLATEY_API_KEY }}
run: choco push casc-cli.${{ steps.version.outputs.version }}.nupkg --api-key $env:CHOCOLATEY_API_KEY --source https://push.chocolatey.org/