diff --git a/go.mod b/go.mod index f12c1b95c555..f44c4d50b62a 100644 --- a/go.mod +++ b/go.mod @@ -34,7 +34,7 @@ require ( k8s.io/kube-openapi v0.0.0-20240808142205-8e686545bdb8 k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 knative.dev/caching v0.0.0-20250113195200-dee364dbb0f7 - knative.dev/hack v0.0.0-20250109131303-f8be0ccdff36 + knative.dev/hack v0.0.0-20250116150306-c142b4835bc5 knative.dev/networking v0.0.0-20250113195501-679796878afc knative.dev/pkg v0.0.0-20250113161000-0c2a238a16ed sigs.k8s.io/yaml v1.4.0 diff --git a/go.sum b/go.sum index 3b09f4da3861..02d22ae32944 100644 --- a/go.sum +++ b/go.sum @@ -955,8 +955,8 @@ k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1 k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= knative.dev/caching v0.0.0-20250113195200-dee364dbb0f7 h1:CR9A/ideKIXAf7xD4H7lMOo1H+kVeIv9DT5kn5qOutM= knative.dev/caching v0.0.0-20250113195200-dee364dbb0f7/go.mod h1:gKaakWRBpk42miAe4eDxjJfS5i/Z/ldB3cKRoOadLX8= -knative.dev/hack v0.0.0-20250109131303-f8be0ccdff36 h1:iZ6CwYLo+y82MXlK7PoG/cnFEB0tRdw8elBXj6c6ezE= -knative.dev/hack v0.0.0-20250109131303-f8be0ccdff36/go.mod h1:R0ritgYtjLDO9527h5vb5X6gfvt5LCrJ55BNbVDsWiY= +knative.dev/hack v0.0.0-20250116150306-c142b4835bc5 h1:CwLVoSblWmfaIkgRFX2LcEA0uYZo+nOhdPatsz+QL9w= +knative.dev/hack v0.0.0-20250116150306-c142b4835bc5/go.mod h1:R0ritgYtjLDO9527h5vb5X6gfvt5LCrJ55BNbVDsWiY= knative.dev/networking v0.0.0-20250113195501-679796878afc h1:bzQlBSOXd7Uz+/ugX8bed6I6pbbWNgAuax1NT6DHqaU= knative.dev/networking v0.0.0-20250113195501-679796878afc/go.mod h1:Coz36qc6dZK219RRTPuzQf4YTrCjoqN5T2hcr14RNfI= knative.dev/pkg v0.0.0-20250113161000-0c2a238a16ed h1:PUMNZc1CBUg5G4JYio3wjpCJuCJG2ZeCuLvlBTpDiZI= diff --git a/vendor/knative.dev/hack/release.sh b/vendor/knative.dev/hack/release.sh index a378a5f805a6..a9901aa34166 100644 --- a/vendor/knative.dev/hack/release.sh +++ b/vendor/knative.dev/hack/release.sh @@ -90,11 +90,10 @@ export GOFLAGS="-ldflags=-s -ldflags=-w" export GITHUB_TOKEN="" readonly IMAGES_REFS_FILE="${IMAGES_REFS_FILE:-$(mktemp -d)/images_refs.txt}" -# Convenience function to run the hub tool. -# Parameters: $1..$n - arguments to hub. -function hub_tool() { - # Pinned to SHA because of https://github.com/github/hub/issues/2517 - go_run github.com/github/hub/v2@363513a "$@" +# Convenience function to run the GitHub CLI tool `gh`. +# Parameters: $1..$n - arguments to gh. +function gh_tool() { + go_run github.com/cli/cli/v2/cmd/gh@v2.65.0 "$@" } # Shortcut to "git push" that handles authentication. @@ -193,7 +192,7 @@ function prepare_dot_release() { # Support tags in two formats # - knative-v1.0.0 # - v1.0.0 - releases="$(hub_tool release | cut -d '-' -f2)" + releases="$(gh_tool release list --json tagName --jq '.[].tagName' | cut -d '-' -f2)" echo "Current releases are: ${releases}" [[ $? -eq 0 ]] || abort "cannot list releases" # If --release-branch passed, restrict to that release @@ -218,7 +217,7 @@ function prepare_dot_release() { # Ensure there are new commits in the branch, otherwise we don't create a new release setup_branch # Use the original tag (ie. potentially with a knative- prefix) when determining the last version commit sha - local github_tag="$(hub_tool release | grep "${last_version}")" + local github_tag="$(gh_tool release list --json tagName --jq '.[].tagName' | grep "${last_version}")" local last_release_commit="$(git rev-list -n 1 "${github_tag}")" local last_release_commit_filtered="$(git rev-list --invert-grep --grep "\[skip-dot-release\]" -n 1 "${github_tag}")" local release_branch_commit="$(git rev-list -n 1 upstream/"${RELEASE_BRANCH}")" @@ -239,7 +238,7 @@ function prepare_dot_release() { # If --release-notes not used, copy from the latest release if [[ -z "${RELEASE_NOTES}" ]]; then RELEASE_NOTES="$(mktemp)" - hub_tool release show -f "%b" "${github_tag}" > "${RELEASE_NOTES}" + gh_tool release view "${github_tag}" --json "body" --jq '.body' > "${RELEASE_NOTES}" echo "Release notes from ${last_version} copied to ${RELEASE_NOTES}" fi } @@ -640,18 +639,12 @@ function set_latest_to_highest_semver() { local last_version release_id # don't combine with assignment else $? will be 0 - last_version="$(hub_tool -p release | cut -d'-' -f2 | grep '^v[0-9]\+\.[0-9]\+\.[0-9]\+$'| sort -r -V | head -1)" + last_version="$(gh_tool release list --json tagName --jq '.[].tagName' | cut -d'-' -f2 | grep '^v[0-9]\+\.[0-9]\+\.[0-9]\+$'| sort -r -V | head -1)" if ! [[ $? -eq 0 ]]; then abort "cannot list releases" fi - - release_id="$(hub_tool api "/repos/${ORG_NAME}/${REPO_NAME}/releases/tags/knative-${last_version}" | jq .id)" - if [[ $? -ne 0 ]]; then - abort "cannot get relase id from github" - fi - - hub_tool api --method PATCH "/repos/${ORG_NAME}/${REPO_NAME}/releases/$release_id" \ - -F make_latest=true > /dev/null || abort "error setting $last_version to 'latest'" + + gh_tool release edit "knative-${last_version}" --latest > /dev/null || abort "error setting $last_version to 'latest'" echo "Github release ${last_version} set as 'latest'" } @@ -742,12 +735,14 @@ function publish_to_github() { local description="$(mktemp)" local attachments_dir="$(mktemp -d)" local commitish="" + local target_branch="" local github_tag="knative-${TAG}" # Copy files to a separate dir + # shellcheck disable=SC2068 for artifact in $@; do cp ${artifact} "${attachments_dir}"/ - attachments+=("--attach=${artifact}#$(basename ${artifact})") + attachments+=("${artifact}#$(basename ${artifact})") done echo -e "${title}\n" > "${description}" if [[ -n "${RELEASE_NOTES}" ]]; then @@ -774,13 +769,16 @@ function publish_to_github() { git tag -a "${github_tag}" -m "${title}" git_push tag "${github_tag}" - [[ -n "${RELEASE_BRANCH}" ]] && commitish="--commitish=${RELEASE_BRANCH}" + [[ -n "${RELEASE_BRANCH}" ]] && target_branch="--target=${RELEASE_BRANCH}" for i in {2..0}; do - hub_tool release create \ - ${attachments[@]} \ - --file="${description}" \ - "${commitish}" \ - "${github_tag}" && return 0 + # shellcheck disable=SC2068 + gh_tool release create \ + "${github_tag}" \ + --title "${title}" \ + --notes-file "${description}" \ + "${target_branch}" \ + ${attachments[@]} && return 0 + if [[ "${i}" -gt 0 ]]; then echo "Error publishing the release, retrying in 15s..." sleep 15 diff --git a/vendor/modules.txt b/vendor/modules.txt index a1c9cb8aac89..e79ba7450bc6 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1388,7 +1388,7 @@ knative.dev/caching/pkg/client/injection/informers/caching/v1alpha1/image/fake knative.dev/caching/pkg/client/injection/informers/factory knative.dev/caching/pkg/client/injection/informers/factory/fake knative.dev/caching/pkg/client/listers/caching/v1alpha1 -# knative.dev/hack v0.0.0-20250109131303-f8be0ccdff36 +# knative.dev/hack v0.0.0-20250116150306-c142b4835bc5 ## explicit; go 1.21 knative.dev/hack # knative.dev/networking v0.0.0-20250113195501-679796878afc