diff --git a/go.mod b/go.mod index b0f30ed180c..8438fac1ac3 100644 --- a/go.mod +++ b/go.mod @@ -43,8 +43,8 @@ require ( k8s.io/apiserver v0.31.4 k8s.io/client-go v0.31.4 k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 - knative.dev/hack v0.0.0-20250109131303-f8be0ccdff36 - knative.dev/hack/schema v0.0.0-20250109131303-f8be0ccdff36 + knative.dev/hack v0.0.0-20250116150306-c142b4835bc5 + knative.dev/hack/schema v0.0.0-20250116150306-c142b4835bc5 knative.dev/pkg v0.0.0-20250113161000-0c2a238a16ed knative.dev/reconciler-test v0.0.0-20250109131538-359287e93238 sigs.k8s.io/yaml v1.4.0 diff --git a/go.sum b/go.sum index 46da46ba71c..839df70b999 100644 --- a/go.sum +++ b/go.sum @@ -851,10 +851,10 @@ k8s.io/kube-openapi v0.0.0-20240808142205-8e686545bdb8 h1:1Wof1cGQgA5pqgo8MxKPtf k8s.io/kube-openapi v0.0.0-20240808142205-8e686545bdb8/go.mod h1:Os6V6dZwLNii3vxFpxcNaTmH8LJJBkOTg1N0tOA0fvA= k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A= k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -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/schema v0.0.0-20250109131303-f8be0ccdff36 h1:j7/31r2d68tu3zVVxSSrEbuLqjGrgWzfzwY5+wXyISw= -knative.dev/hack/schema v0.0.0-20250109131303-f8be0ccdff36/go.mod h1:jRH/sx6mwwuMVhvJgnzSaoYA1N4qaIkJa+zxEGtVA5I= +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/hack/schema v0.0.0-20250116150306-c142b4835bc5 h1:KsX1VKxKe3ViMc+4OsEHJE+Eih1EQOLl1fk7+hSCfqk= +knative.dev/hack/schema v0.0.0-20250116150306-c142b4835bc5/go.mod h1:jRH/sx6mwwuMVhvJgnzSaoYA1N4qaIkJa+zxEGtVA5I= knative.dev/pkg v0.0.0-20250113161000-0c2a238a16ed h1:PUMNZc1CBUg5G4JYio3wjpCJuCJG2ZeCuLvlBTpDiZI= knative.dev/pkg v0.0.0-20250113161000-0c2a238a16ed/go.mod h1:p7c7yCCf1YVX04FQ8YDyJaHciknu726qVWOXRX5tIBM= knative.dev/reconciler-test v0.0.0-20250109131538-359287e93238 h1:qGRLFIcJ9quJb9MglIyMk3SUMCey7esVl2idt1G7cNk= diff --git a/vendor/knative.dev/hack/release.sh b/vendor/knative.dev/hack/release.sh index a378a5f805a..a9901aa3416 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 4254e2792fa..175adf4f1b4 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1110,10 +1110,10 @@ k8s.io/utils/pointer k8s.io/utils/ptr k8s.io/utils/strings/slices k8s.io/utils/trace -# 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/hack/schema v0.0.0-20250109131303-f8be0ccdff36 +# knative.dev/hack/schema v0.0.0-20250116150306-c142b4835bc5 ## explicit; go 1.21 knative.dev/hack/schema/commands knative.dev/hack/schema/docs