Skip to content

Commit 58a4441

Browse files
committed
thx Claude Code!
1 parent 5709e58 commit 58a4441

File tree

3 files changed

+75
-10
lines changed

3 files changed

+75
-10
lines changed

.github/workflows/build.yml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -956,6 +956,7 @@ jobs:
956956
runs-on: ubuntu-latest
957957
steps:
958958
- name: Set the tag name
959+
if: env.RELEASE == 'true'
959960
run: |
960961
tag=${{ needs.config.outputs.tag }}
961962
release_id=${{ fromJson(needs.create-draft-release.outputs.release).id }}
@@ -965,20 +966,22 @@ jobs:
965966
--method PATCH \
966967
-H 'Accept: application/vnd.github+json' \
967968
-H 'X-GitHub-Api-Version: 2022-11-28' \
968-
-f tag_name=$tag
969+
-f tag_name=$tag \
970+
-f "target_commitish=$GITHUB_SHA"
969971
970-
current_tag_name=$(
972+
release=$(
971973
gh api \
972974
"/repos/$GITHUB_REPOSITORY/releases/$release_id" \
973975
-H 'Accept: application/vnd.github+json' \
974976
-H 'X-GitHub-Api-Version: 2022-11-28' \
975-
-q .tag_name
977+
-q '{ tag_name, target_commitish }'
976978
)
977-
if [ "$current_tag_name" = $tag ]; then
979+
if [ "$(jq -r .tag_name <<< "$release")" = $tag ] &&
980+
[ "$(jq -r .target_commitish <<< "$release")" = "$GITHUB_SHA" ]; then
978981
exit
979-
else
980-
echo 'tag_name was not set. retrying' >&2
981982
fi
983+
echo 'tag_name was not set. retrying' >&2
984+
sleep 1
982985
done
983986
984987
echo "::error title=set-tag-name::Could not set 'tag_name'. Please set it manually"

.github/workflows/publish.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,29 @@ defaults:
1111

1212
jobs:
1313
get-release:
14-
name: Check if the release is draft
14+
name: Get the release
1515
runs-on: ubuntu-latest
1616
outputs:
1717
num-assets: ${{ fromJson(steps.get-release.outputs.release).numAssets }}
1818
body-is-empty: ${{ fromJson(steps.get-release.outputs.release).bodyIsEmpty }}
1919
is-draft: ${{ fromJson(steps.get-release.outputs.release).isDraft }}
2020
target-commitish: ${{ fromJson(steps.get-release.outputs.release).targetCommitish }}
2121
steps:
22-
- name: Check if the tag name is unique in recent releases
22+
- name: Check if no other releases with the same tag name exist in recent releases
2323
run: |
2424
multiple=$(
2525
gh release -R "$GITHUB_REPOSITORY" list \
2626
--json tagName \
2727
-q 'map(select(.tagName == "'"$GITHUB_REF_NAME"'")) | length > 1'
2828
)
2929
if [ "$multiple" = true ]; then
30-
echo "::error title=get-release::Multiple '$GITHUB_REF_NAME'"
30+
echo "::error title=get-release::Multiple '$GITHUB_REF_NAME' in recent releases"
3131
exit 1
3232
fi
3333
env:
3434
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3535

36-
- name: Check if the release is draft
36+
- name: Get the release
3737
id: get-release
3838
run: |
3939
release=$(
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
fail_with_usage() {
6+
echo "Usage: $0 [-R <repository>] <type> <version>" >&2
7+
exit 1
8+
}
9+
10+
repository=VOICEVOX/onnxruntime-builder
11+
12+
while getopts R: opt; do
13+
case "$opt" in
14+
R)
15+
repository=$OPTARG
16+
shift 2 ;;
17+
*)
18+
fail_with_usage
19+
esac
20+
done
21+
22+
if [ $# -ne 2 ]; then
23+
fail_with_usage
24+
fi
25+
26+
type=$1
27+
version=$2
28+
29+
remotes=$(git remote -v)
30+
remote=$(grep -e '\shttps://github\.com/'"$repository"'\(\.git\)\? (push)$' <<< "$remotes")
31+
remote_name=$(awk '{ print $1 }' <<< "$remote")
32+
33+
tag=$type-$version
34+
msg=$tag
35+
36+
local_rev=$(git rev-parse HEAD)
37+
remote_rev=$(gh release -R "$repository" view "$tag" --json targetCommitish -q .targetCommitish)
38+
39+
if [ "$local_rev" != "$remote_rev" ]; then
40+
echo "local: '$local_rev', remote: '$remote_rev'" >&2
41+
exit 1
42+
fi
43+
echo 'Commit SHA: OK' >&2
44+
45+
echo >&2
46+
table=$'Repository\t'"$repository ($remote_name)"$'\n'
47+
table+=$'Tag name\t'"$tag"$'\n'
48+
table+=$'Tag message\t'"$msg"$'\n'
49+
table+=$'Revision\t'"$local_rev"
50+
column <(cat <<< "$table") -tms $'\t' -o ' | ' | sed 's/.*/| \0|/' >&2
51+
echo >&2
52+
53+
read -rp 'Proceed? (y/N): ' input
54+
if ! [[ "$input" =~ ^[yY]$ ]]; then
55+
echo 'Aborted' >&2
56+
exit
57+
fi
58+
59+
git tag "$tag" -sm "$msg"
60+
echo "Created '$tag'" >&2
61+
62+
git push "$remote_name" "$tag"

0 commit comments

Comments
 (0)