Runs on Bash #6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Chocolatey Deploy | |
# This GH action will push a okta-aws-cli build to chocolatey.org when a | |
# okta-aws-cli GH release is completed. | |
# | |
# inspired by https://github.com/rcmaehl/MSEdgeRedirect thank you rcmaehl 🙏🙏🙏 | |
on: | |
release: | |
types: | |
- published | |
push: | |
branches: | |
- chocolatey-gh-action | |
tags: | |
- 'test-*' | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
chocolatey: | |
runs-on: windows-latest | |
steps: | |
- | |
name: Checkout | |
uses: actions/checkout@v4 | |
- | |
name: Unshallow | |
run: git fetch --prune --unshallow | |
- | |
name: Get latest release tag | |
uses: oprypin/find-latest-tag@v1 | |
with: | |
repository: ${{ github.repository }} | |
releases-only: true | |
id: latesttag | |
- | |
name: Set Checksum | |
run: | | |
shortVersion=$(echo "${{ steps.latesttag.outputs.tag }}" | grep -oE '\d{1,2}\.\d{1,2}\.\d{1,2}') | |
filename="okta-aws-cli_${shortVersion}_windows_386.zip" | |
url="https://github.com/${{ github.repository }}/releases/download/${{ steps.latesttag.outputs.tag }}/${filename}" | |
sed -i "s#{ZIPURL}#${url}#g" "nuspec/chocolatey/tools/chocolateyinstall.ps1" | |
curl -sSL "${url}" -o "nuspec/chocolatey/${filename}" | |
sha256=$(cat "nuspec/chocolatey/${filename}" | sha256sum -) | |
sed -i "s/{SHA256CHECKSUM}/${sha256:0:64}/g" "nuspec/chocolatey/tools/chocolateyinstall.ps1" | |
- | |
name: Set Version | |
id: version | |
run: | | |
version=${{ steps.latesttag.outputs.tag }} | |
echo "nuget=$version" >> $GITHUB_OUTPUT | |
sed -i "s/{VERSION}/${version}/g" "nuspec/chocolatey/okta-aws-cli.nuspec" | |
- | |
name: Choco Downgrade | |
uses: crazy-max/ghaction-chocolatey@v3 | |
with: | |
args: install chocolatey --version=1.2.1 --allow-downgrade -y -r --no-progress | |
- | |
name: Pack Release | |
uses: crazy-max/ghaction-chocolatey@v3 | |
with: | |
args: pack nuspec/chocolatey/okta-aws-cli.nuspec --outputdirectory nuspec/chocolatey | |
- | |
name: Choco Upgrade | |
uses: crazy-max/ghaction-chocolatey@v3 | |
with: | |
args: upgrade chocolatey | |
- | |
name: Upload Release | |
uses: crazy-max/ghaction-chocolatey@v3 | |
with: | |
args: push nuspec/chocolatey/okta-aws-cli.${{ steps.version.outputs.nuget }}.nupkg -s https://push.chocolatey.org/ -k ${{ secrets.CHOCO_KEY }} |