Skip to content

Commit a574a32

Browse files
committed
Upload the assets to OSS
1 parent e39fa1d commit a574a32

File tree

5 files changed

+84
-5
lines changed

5 files changed

+84
-5
lines changed

.github/workflows/release.yml

+12-3
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,14 @@ jobs:
3737
run: |
3838
TAG=${{ github.ref_name }}
3939
VERSION=${TAG#v}
40-
GOOS=darwin GOARCH=amd64 go build -ldflags "-X 'github.com/aliyun/aliyun-cli/cli.Version=${VERSION}'" -o out/aliyun.amd64 main/main.go
41-
GOOS=darwin GOARCH=arm64 go build -ldflags "-X 'github.com/aliyun/aliyun-cli/cli.Version=${VERSION}'" -o out/aliyun.arm64 main/main.go
40+
GOOS=darwin GOARCH=amd64 go build -ldflags "-X 'github.com/aliyun/aliyun-cli/cli.Version=${VERSION}'" -o out/aliyun main/main.go
41+
tar zcvf out/aliyun-cli-macosx-${VERSION}-amd64.tgz -C out aliyun
42+
bash tools/upload_asset.sh ${VERSION} out/aliyun-cli-macosx-${VERSION}-amd64.tgz
43+
cp out/aliyun out/aliyun.amd64
44+
GOOS=darwin GOARCH=arm64 go build -ldflags "-X 'github.com/aliyun/aliyun-cli/cli.Version=${VERSION}'" -o out/aliyun main/main.go
45+
tar zcvf out/aliyun-cli-macosx-${VERSION}-arm64.tgz -C out aliyun
46+
bash tools/upload_asset.sh ${VERSION} out/aliyun-cli-macosx-${VERSION}-arm64.tgz
47+
cp out/aliyun out/aliyun.arm64
4248
lipo -output out/aliyun -create out/aliyun.amd64 out/aliyun.arm64
4349
tar zcvf out/aliyun-cli-macosx-${VERSION}-universal.tgz -C out aliyun
4450
bash tools/upload_asset.sh ${VERSION} out/aliyun-cli-macosx-${VERSION}-universal.tgz
@@ -102,6 +108,8 @@ jobs:
102108
runs-on: ubuntu-latest
103109
env:
104110
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
111+
ACCESS_KEY_ID: ${{ secrets.OSS_ACCESS_KEY_ID }}
112+
ACCESS_KEY_SECRET: ${{ secrets.OSS_ACCESS_KEY_SECRET }}
105113
steps:
106114
- uses: actions/checkout@v3
107115
with:
@@ -112,4 +120,5 @@ jobs:
112120
TAG=${{ github.ref_name }}
113121
VERSION=${TAG#v}
114122
bash tools/download_assets.sh ${VERSION}
115-
bash tools/upload_asset.sh ${VERSION} SHASUMS256.txt
123+
bash tools/upload_asset.sh ${VERSION} SHASUMS256.txt
124+
bash tools/finish_release.sh ${VERSION}

tools/create_release.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
TAGNAME=$1
44

5-
DATA='{"tag_name":"'$TAGNAME'","name":"'$TAGNAME'","body":"TBD","draft":false,"prerelease":true,"generate_release_notes":false}'
5+
DATA='{"tag_name":"'$TAGNAME'","name":"'$TAGNAME'","draft":false,"prerelease":true,"generate_release_notes":true}'
66

77
curl -fsSL \
88
-H "Accept: application/vnd.github+json" \

tools/download_assets.sh

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ RELEASE_ID=$(curl -fsSL \
99
https://api.github.com/repos/aliyun/aliyun-cli/releases/tags/v$VERSION | jq '.["id"]')
1010

1111
LIST=(
12+
"aliyun-cli-macosx-$VERSION-amd64.tgz"
13+
"aliyun-cli-macosx-$VERSION-arm64.tgz"
1214
"aliyun-cli-$VERSION.pkg"
1315
"aliyun-cli-macosx-$VERSION-universal.tgz"
1416
"aliyun-cli-linux-$VERSION-amd64.tgz"

tools/finish_release.sh

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
#!/usr/bin/env bash
2+
3+
VERSION=$1
4+
5+
ALIYUN="./out/aliyun"
6+
7+
go build -ldflags "-X 'github.com/aliyun/aliyun-cli/cli.Version=${VERSION}'" -o $ALIYUN main/main.go
8+
9+
FLAGS="oss://aliyun-cli --force --access-key-id ${ACCESS_KEY_ID} --access-key-secret ${ACCESS_KEY_SECRET} --region cn-hangzhou"
10+
11+
# mac amd64
12+
${ALIYUN} oss cp ./aliyun-cli-macosx-${VERSION}-amd64.tgz $FLAGS
13+
# mac arm64
14+
${ALIYUN} oss cp ./aliyun-cli-macosx-${VERSION}-arm64.tgz $FLAGS
15+
# mac universal
16+
${ALIYUN} oss cp ./aliyun-cli-macosx-${VERSION}-universal.tgz $FLAGS
17+
# mac pkg
18+
${ALIYUN} oss cp ./aliyun-cli-${VERSION}.pkg $FLAGS
19+
# linux amd64
20+
${ALIYUN} oss cp ./aliyun-cli-linux-${VERSION}-amd64.tgz $FLAGS
21+
# linux arm64
22+
${ALIYUN} oss cp ./aliyun-cli-linux-${VERSION}-arm64.tgz $FLAGS
23+
# windows
24+
${ALIYUN} oss cp ./aliyun-cli-windows-${VERSION}-amd64.zip $FLAGS
25+
26+
if [[ "$VERSION" == *"-beta" ]]; then
27+
echo "beta. skip."
28+
else
29+
cp ./aliyun-cli-macosx-${VERSION}-amd64.tgz ./aliyun-cli-macosx-latest-amd64.tgz
30+
${ALIYUN} oss cp ./aliyun-cli-macosx-latest-amd64.tgz $FLAGS
31+
32+
cp ./aliyun-cli-macosx-${VERSION}-arm64.tgz ./aliyun-cli-macosx-latest-arm64.tgz
33+
${ALIYUN} oss cp ./aliyun-cli-macosx-latest-arm64.tgz $FLAGS
34+
35+
cp ./aliyun-cli-macosx-${VERSION}-universal.tgz ./aliyun-cli-macosx-latest-universal.tgz
36+
${ALIYUN} oss cp ./aliyun-cli-macosx-latest-arm64.tgz $FLAGS
37+
38+
cp ./aliyun-cli-${VERSION}.pkg ./aliyun-cli-latest.pkg
39+
${ALIYUN} oss cp ./aliyun-cli-latest.pkg $FLAGS
40+
41+
cp ./aliyun-cli-linux-${VERSION}-amd64.tgz ./aliyun-cli-linux-latest-amd64.tgz
42+
${ALIYUN} oss cp ./aliyun-cli-linux-latest-amd64.tgz $FLAGS
43+
44+
cp ./aliyun-cli-linux-${VERSION}-arm64.tgz ./aliyun-cli-linux-latest-arm64.tgz
45+
${ALIYUN} oss cp ./aliyun-cli-linux-latest-arm64.tgz $FLAGS
46+
47+
cp ./aliyun-cli-windows-${VERSION}-amd64.zip ./aliyun-cli-windows-latest-amd64.zip
48+
${ALIYUN} oss cp ./aliyun-cli-windows-latest-amd64.zip $FLAGS
49+
# local version
50+
51+
echo ${VERSION} > out/version
52+
${ALIYUN} oss cp out/version $FLAGS
53+
54+
RELEASE_ID=$(curl -fsSL \
55+
-H "Accept: application/vnd.github+json" \
56+
-H "Authorization: Bearer $GITHUB_TOKEN" \
57+
-H "X-GitHub-Api-Version: 2022-11-28" \
58+
https://api.github.com/repos/aliyun/aliyun-cli/releases/tags/$TAG | jq '.["id"]')
59+
60+
DATA='{"draft":false,"prerelease":false,"make_latest":true}'
61+
62+
curl -fsSL \
63+
-X PATCH \
64+
-H "Accept: application/vnd.github+json" \
65+
-H "Authorization: Bearer $GITHUB_TOKEN" \
66+
-H "X-GitHub-Api-Version: 2022-11-28" \
67+
https://api.github.com/repos/aliyun/aliyun-cli/releases/$RELEASE_ID \
68+
-d "$DATA"
69+
fi

tools/upload_asset.sh

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ else
1313
TYPE=application/zip
1414
fi
1515

16-
1716
RELEASE_ID=$(curl -fsSL \
1817
-H "Accept: application/vnd.github+json" \
1918
-H "Authorization: Bearer $GITHUB_TOKEN" \

0 commit comments

Comments
 (0)