mirror of https://github.com/databricks/cli.git
Update publish-winget action to use Komac directly (#2228)
## Changes For the most recent release, I had to re-run the "publish-winget" action a couple of times before it passed. The underlying issue that causes the failure should be solved by the latest version of the action, but upon inspection of the latest version, I found that it always installs the latest version of [Komac](https://github.com/russellbanks/Komac). To both fix the issue and lock this down further, I updated our action to call Komac directly instead of relying on a separate action to do this for us. ## Tests Successful run in https://github.com/databricks/cli/actions/runs/12951529979.
This commit is contained in:
parent
959e43e556
commit
f65508690d
|
@ -10,19 +10,65 @@ on:
|
||||||
jobs:
|
jobs:
|
||||||
publish-to-winget-pkgs:
|
publish-to-winget-pkgs:
|
||||||
runs-on:
|
runs-on:
|
||||||
group: databricks-protected-runner-group
|
group: databricks-deco-testing-runner-group
|
||||||
labels: windows-server-latest
|
labels: ubuntu-latest-deco
|
||||||
|
|
||||||
environment: release
|
environment: release
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: vedantmgoyal2009/winget-releaser@93fd8b606a1672ec3e5c6c3bb19426be68d1a8b0 # v2
|
- name: Checkout repository and submodules
|
||||||
with:
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||||
identifier: Databricks.DatabricksCLI
|
|
||||||
installers-regex: 'windows_.*-signed\.zip$' # Only signed Windows releases
|
|
||||||
token: ${{ secrets.ENG_DEV_ECOSYSTEM_BOT_TOKEN }}
|
|
||||||
fork-user: eng-dev-ecosystem-bot
|
|
||||||
|
|
||||||
# Use the tag from the input, or the ref name if the input is not provided.
|
# When updating the version of komac, make sure to update the checksum in the next step.
|
||||||
# The ref name is equal to the tag name when this workflow is triggered by the "sign-cli" command.
|
# Find both at https://github.com/russellbanks/Komac/releases.
|
||||||
release-tag: ${{ inputs.tag || github.ref_name }}
|
- 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 }}
|
||||||
|
|
Loading…
Reference in New Issue