chainguard-dev/actions

Improve release asset download

Opened this issue · 0 comments

Currently it goes like

wget --progress=dot:giga \
    https://github.com/spdx/tools-java/releases/download/v${{ inputs.spdx-tools-version }}/tools-java-${{ inputs.spdx-tools-version }}.zip

GHA images include GitHub CLI.
So we can improve the process.

mkdir -p "${{ runner.temp }}/spdx"
RELEASE_ASSET_URL="$(
    gh api /repos/spdx/tools-java/releases/${{ inputs.spdx-tools-release-id }} \
        --jq '."assets"[] | select(."name" | test("^tools-java-.+\\.zip$")) | ."browser_download_url"'
)"
wget --secure-protocol=TLSv1_3 --max-redirect=1 --retry-on-host-error --retry-connrefused --tries=3 \
    --no-verbose --output-document="${{ runner.temp }}/spdx/tools-java.zip" "${RELEASE_ASSET_URL}"

source

Here is how to list releases.

gh api /repos/spdx/tools-java/releases --jq '.[] | ."name" + ":" + (."id"|tostring)'