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 }}