Skip to content

Commit 2ed837a

Browse files
authored
Merge pull request #111 from cdk-team/main-dev
fix(gh action - gox): gox not found in path
2 parents 022ff4c + 251f18c commit 2ed837a

File tree

1 file changed

+44
-29
lines changed

1 file changed

+44
-29
lines changed

.github/workflows/build_and_release.yml

Lines changed: 44 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -34,41 +34,56 @@ jobs:
3434
set -euo pipefail
3535
set -x
3636
37-
go get github.com/mitchellh/gox
38-
sudo apt-get install -y upx
37+
sudo apt-get update
38+
sudo apt-get install -y upx file curl
3939
4040
export CGO_ENABLED=0
41-
4241
export GIT_COMMIT=$(git rev-list -1 HEAD)
43-
44-
export ldflags="-X github.com/cdk-team/CDK/pkg/cli.GitCommit=$GIT_COMMIT"
45-
gox -parallel 5 -osarch="darwin/amd64 linux/386 linux/amd64 linux/arm linux/arm64" -ldflags="-s -w $ldflags " -output="bin/{{.Dir}}_{{.OS}}_{{.Arch}}" ./cmd/cdk/
46-
gox -parallel 5 -osarch="linux/386 linux/amd64 linux/arm64" -ldflags="-s -w $ldflags " -tags="thin" -output="bin/{{.Dir}}_{{.OS}}_{{.Arch}}_thin" ./cmd/cdk/
47-
48-
# cdk_linux_386 cdk_linux_amd64 cdk_linux_arm cdk_linux_arm64
49-
cp bin/cdk_linux_amd64 bin/cdk_linux_amd64_upx
50-
upx bin/cdk_linux_amd64_upx
51-
52-
cp bin/cdk_linux_386 bin/cdk_linux_386_upx
53-
upx bin/cdk_linux_386_upx
54-
55-
cp bin/cdk_linux_amd64_thin bin/cdk_linux_amd64_thin_upx
56-
upx bin/cdk_linux_amd64_thin_upx
57-
58-
cp bin/cdk_linux_386_thin bin/cdk_linux_386_thin_upx
59-
upx bin/cdk_linux_386_thin_upx
42+
export ldflags="-s -w -extldflags \"-static\" -X github.com/cdk-team/CDK/pkg/cli.GitCommit=$GIT_COMMIT"
43+
44+
mkdir -p bin
45+
46+
echo "Building standard versions..."
47+
GOOS=darwin GOARCH=amd64 go build -ldflags="$ldflags" -o bin/cdk_darwin_amd64 ./cmd/cdk/ || echo "Darwin build failed"
48+
GOOS=linux GOARCH=386 go build -ldflags="$ldflags" -o bin/cdk_linux_386 ./cmd/cdk/
49+
GOOS=linux GOARCH=amd64 go build -ldflags="$ldflags" -o bin/cdk_linux_amd64 ./cmd/cdk/
50+
GOOS=linux GOARCH=arm go build -ldflags="$ldflags" -o bin/cdk_linux_arm ./cmd/cdk/
51+
GOOS=linux GOARCH=arm64 go build -ldflags="$ldflags" -o bin/cdk_linux_arm64 ./cmd/cdk/
52+
53+
echo "Building thin versions..."
54+
GOOS=linux GOARCH=386 go build -ldflags="$ldflags" -tags="thin" -o bin/cdk_linux_386_thin ./cmd/cdk/
55+
GOOS=linux GOARCH=amd64 go build -ldflags="$ldflags" -tags="thin" -o bin/cdk_linux_amd64_thin ./cmd/cdk/
56+
GOOS=linux GOARCH=arm64 go build -ldflags="$ldflags" -tags="thin" -o bin/cdk_linux_arm64_thin ./cmd/cdk/
57+
58+
echo "Creating UPX compressed versions..."
59+
for file in bin/cdk_linux_{386,amd64}{,_thin}; do
60+
if [ -f "$file" ]; then
61+
cp "$file" "${file}_upx"
62+
upx "${file}_upx" || echo "UPX compression failed for ${file}"
63+
fi
64+
done
6065
6166
UPLOAD_URL=$(echo -n $UPLOAD_URL | sed s/\{.*//g)
6267
63-
for FILE in bin/*
64-
do
65-
echo "Uploading ${FILE}";
66-
curl \
67-
-H "${API_HEADER}" \
68-
-H "${AUTH_HEADER}" \
69-
-H "Content-Type: $(file -b --mime-type ${FILE})" \
70-
--data-binary "@${FILE}" \
71-
"${UPLOAD_URL}?name=$(basename ${FILE})";
68+
echo "Uploading files..."
69+
70+
for FILE in bin/*; do
71+
if [ -f "$FILE" ]; then
72+
echo "Uploading ${FILE}"
73+
MIME_TYPE=$(file -b --mime-type "${FILE}")
74+
RESPONSE=$(curl -w "%{http_code}" \
75+
-H "${API_HEADER}" \
76+
-H "${AUTH_HEADER}" \
77+
-H "Content-Type: ${MIME_TYPE}" \
78+
--data-binary "@${FILE}" \
79+
"${UPLOAD_URL}?name=$(basename ${FILE})" \
80+
-o /dev/null)
81+
82+
if [ "$RESPONSE" -ne 201 ]; then
83+
echo "Error uploading ${FILE}, status code: ${RESPONSE}"
84+
fi
85+
fi
7286
done
7387
7488
bash ".github/workflows/changelog.sh"
89+

0 commit comments

Comments
 (0)