github.com/kubeshop/testkube@v1.17.23/.github/workflows/manual-choco-release.yaml (about) 1 name: Manual trigger for Choco release 2 3 on: 4 workflow_dispatch 5 6 env: 7 OFFICIAL_CHOCO_REPO: https://push.chocolatey.org/ 8 9 jobs: 10 get_tag: 11 runs-on: ubuntu-latest 12 outputs: 13 output1: ${{ steps.tag.outputs.VERSION }} 14 15 steps: 16 - name: Checkout 17 uses: actions/checkout@v3 18 with: 19 fetch-depth: 0 20 21 - name: Get latest release tag 22 id: tag 23 run: | 24 #Get latest release tag 25 curl -s -f --output /dev/null --connect-timeout 5 https://api.github.com/repos/kubeshop/testkube/releases/latest 26 27 export VERSION=$(curl -s -f https://api.github.com/repos/kubeshop/testkube/releases/latest | jq -r .tag_name | cut -c2-) 28 echo "::set-output name=VERSION::${VERSION}" 29 30 - name: Echo release tag 31 run: echo ${{ steps.tag.outputs.VERSION }} 32 33 package_and_publish_choco: 34 needs: get_tag 35 runs-on: windows-latest 36 37 steps: 38 - name: Checkout 39 uses: actions/checkout@v3 40 with: 41 fetch-depth: 0 42 43 - name: Calculate Checksum 44 working-directory: ./choco/tools 45 id: checksum 46 run: | 47 #Download latest release msi 48 Invoke-WebRequest -URI https://github.com/kubeshop/testkube/releases/download/v${{needs.get_tag.outputs.output1}}/testkube_${{needs.get_tag.outputs.output1}}_Windows_i386.msi -OutFile testkube_${{needs.get_tag.outputs.output1}}_Windows_i386.msi 49 50 $hash=Get-FileHash testkube_${{needs.get_tag.outputs.output1}}_Windows_i386.msi 51 $hashsum = $hash.Hash 52 echo "::set-output name=CHECKSUM::${hashsum}" 53 54 - name: Update checksum in chocolateyInstall.ps1 file 55 working-directory: ./choco 56 run: | 57 $file_content = Get-Content .\tools\chocolateyInstall.ps1 -Raw 58 $update_version = $file_content -replace "(?i)(\schecksum\s*=\s*)('.*')", "`$1'${{steps.checksum.outputs.CHECKSUM}}'" 59 Set-Content -Path .\tools\chocolateyInstall.ps1 -Value $update_version -NoNewline 60 61 - name: Bump versions and push package to chocolatey repo 62 working-directory: ./choco 63 run: | 64 ./update.ps1 ${{needs.get_tag.outputs.output1}} ${{ secrets.OFFICIAL_CHOCO_API_KEY }} ${{ env.OFFICIAL_CHOCO_REPO }}