name: publish-winget on: workflow_dispatch: inputs: tag: description: 'Tag to publish' default: '' jobs: publish-to-winget-pkgs: runs-on: group: databricks-deco-testing-runner-group labels: ubuntu-latest-deco environment: release steps: - name: Checkout repository and submodules uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 # When updating the version of komac, make sure to update the checksum in the next step. # Find both at https://github.com/russellbanks/Komac/releases. - name: Download komac binary run: | curl -s -L -o $RUNNER_TEMP/komac-2.9.0-x86_64-unknown-linux-gnu.tar.gz https://github.com/russellbanks/Komac/releases/download/v2.9.0/komac-2.9.0-x86_64-unknown-linux-gnu.tar.gz - name: Verify komac binary run: | echo "d07a12831ad5418fee715488542a98ce3c0e591d05c850dd149fe78432be8c4c $RUNNER_TEMP/komac-2.9.0-x86_64-unknown-linux-gnu.tar.gz" | sha256sum -c - - name: Untar komac binary to temporary path run: | mkdir -p $RUNNER_TEMP/komac tar -xzf $RUNNER_TEMP/komac-2.9.0-x86_64-unknown-linux-gnu.tar.gz -C $RUNNER_TEMP/komac - name: Add komac to PATH run: echo "$RUNNER_TEMP/komac" >> $GITHUB_PATH - name: Confirm komac version run: komac --version # Use the tag from the input, or the ref name if the input is not provided. # The ref name is equal to the tag name when this workflow is triggered by the "sign-cli" command. - name: Strip "v" prefix from version id: strip_version run: echo "version=$(echo ${{ inputs.tag || github.ref_name }} | sed 's/^v//')" >> "$GITHUB_OUTPUT" - name: Get URLs of signed Windows binaries id: get_windows_urls run: | urls=$( gh api https://api.github.com/repos/databricks/cli/releases/tags/${{ inputs.tag || github.ref_name }} | \ jq -r .assets[].browser_download_url | \ grep -E '_windows_.*-signed\.zip$' | \ tr '\n' ' ' ) if [ -z "$urls" ]; then echo "No signed Windows binaries found" >&2 exit 1 fi echo "urls=$urls" >> "$GITHUB_OUTPUT" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Publish to Winget run: | komac update Databricks.DatabricksCLI \ --version ${{ steps.strip_version.outputs.version }} \ --submit \ --urls ${{ steps.get_windows_urls.outputs.urls }} \ env: KOMAC_FORK_OWNER: eng-dev-ecosystem-bot GITHUB_TOKEN: ${{ secrets.ENG_DEV_ECOSYSTEM_BOT_TOKEN }}