11on : release
22
3- name : Upload release assets
3+ name : Upload release assets when release is published
44jobs :
5+ onReleasePublished :
6+ name : On release published
7+ runs-on : ubuntu-latest
8+
9+ steps :
10+ - name : Is release published?
11+ if : github.event.action != 'published'
12+ run : exit 78
13+
514 uploadReleaseAssets :
615 name : Upload release assets
716 runs-on : ubuntu-latest
8- steps :
17+ needs : onReleasePublished
918
19+ steps :
1020 - name : set up Go 1.12
21+ id : go
1122 uses : actions/setup-go@v1
1223 with :
1324 go-version : 1.12
14- id : go
1525
1626 - name : Check out code into the Go module directory
1727 uses : actions/checkout@v1
@@ -20,33 +30,36 @@ jobs:
2030 env :
2131 GO_BUILD_OPTIONS : " -a -installsuffix cgo"
2232 GO_BUILD_LDFLAGS : " -s -w"
23- CGO_ENABLED : 0
2433 GOARCH : amd64
2534 TAG_NAME : ${{ github.event.release.tag_name }}
2635 run : |
27- BUILD_DATE=$(date "+%Y-%m-%d")
28- BUILD_COMMIT_HASH=$(git rev-parse --short HEAD 2> /dev/null)
29- GO_BUILD_LDFLAGS="${GO_BUILD_LDFLAGS}
36+ export BUILD_DATE=$(date "+%Y-%m-%d")
37+ export BUILD_COMMIT_HASH=$(git rev-parse --short HEAD 2> /dev/null)
38+ export GO_BUILD_LDFLAGS="${GO_BUILD_LDFLAGS}
3039 -X github.com/inextensodigital/github/cmd.version=${TAG_NAME}
3140 -X github.com/inextensodigital/github/cmd.buildDate=${BUILD_DATE}
3241 -X github.com/inextensodigital/github/cmd.commitHash=${BUILD_COMMIT_HASH}
3342 "
3443
35- GOOS=linux
36- NAME=github-${GOOS}-${GOARCH}
44+ export GOOS=darwin
45+ export NAME=github-${GOOS}-${GOARCH}
46+ printf "Building ${NAME}..."
3747 go build ${GO_BUILD_OPTIONS} -ldflags "${GO_BUILD_LDFLAGS}" -o release/${NAME}
38- shasum -a 256 release/" ${NAME}" > "release/${NAME}.sha256"
48+ shasum -a 256 release/${NAME} > "release/${NAME}.sha256"
3949
40- GOOS=darwin
41- NAME=github-${GOOS}-${GOARCH}
42- CGO_ENABLED=1 go build ${GO_BUILD_OPTIONS} -ldflags "${GO_BUILD_LDFLAGS}" -o release/${NAME}
43- shasum -a 256 release/"${NAME}" > "release/${NAME}.sha256"
50+ export GOOS=windows
51+ export NAME=github-${GOOS}-${GOARCH}.exe
52+ printf "Building ${NAME}..."
53+ go build ${GO_BUILD_OPTIONS} -ldflags "${GO_BUILD_LDFLAGS}" -o release/${NAME}
54+ shasum -a 256 release/${NAME} > "release/${NAME}.sha256"
4455
45- GOOS=windows
46- NAME=github-${GOOS}-${GOARCH}.exe
56+ export GOOS=darwin
57+ export NAME=github-${GOOS}-${GOARCH}
58+ printf "Building ${NAME}..."
4759 go build ${GO_BUILD_OPTIONS} -ldflags "${GO_BUILD_LDFLAGS}" -o release/${NAME}
48- shasum -a 256 release/" ${NAME}" > "release/${NAME}.sha256"
60+ shasum -a 256 release/${NAME} > "release/${NAME}.sha256"
4961
62+ file ./release/*
5063 ./release/github-linux-amd64 version
5164
5265 - name : Install hub cli
@@ -58,13 +71,16 @@ jobs:
5871 - name : Upload artifacts
5972 env :
6073 TAG_NAME : ${{ github.event.release.tag_name }}
74+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
6175 run : |
62- hub release edit
63- -m ""
64- -a ./release/github-linux-amd64
65- -a ./release/github-linux-amd64.sha256
66- -a ./release/github-darwin-amd64
67- -a ./release/github-darwin-amd64.sha256
68- -a ./release/github-windows-amd64.exe
76+ # https://help.github.com/en/articles/virtual-environments-for-github-actions#token-permissions
77+ echo "GITHUB_ACTOR: ${GITHUB_ACTOR}"
78+ GITHUB_USER=${GITHUB_ACTOR}; hub release edit \
79+ "${TAG_NAME}" \
80+ -m "" \
81+ -a ./release/github-darwin-amd64 \
82+ -a ./release/github-darwin-amd64.sha256 \
83+ -a ./release/github-linux-amd64 \
84+ -a ./release/github-linux-amd64.sha256 \
85+ -a ./release/github-windows-amd64.exe \
6986 -a ./release/github-windows-amd64.exe.sha256
70- ${TAG_NAME}
0 commit comments