publish-winget #37
Workflow file for this run
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: 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 }} |