Skip to content

Commit b0f0741

Browse files
committed
TUN-6590: Use Windows Teamcity agent to build binary
1 parent db4564e commit b0f0741

File tree

4 files changed

+48
-18
lines changed

4 files changed

+48
-18
lines changed

.teamcity/package-windows.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
VERSION=$(git describe --tags --always --match "[0-9][0-9][0-9][0-9].*.*")
2+
echo $VERSION
3+
4+
export TARGET_OS=windows
5+
# This controls the directory the built artifacts go into
6+
export ARTIFACT_DIR=built_artifacts/
7+
mkdir -p $ARTIFACT_DIR
8+
windowsArchs=("amd64" "386")
9+
for arch in ${windowsArchs[@]}; do
10+
export TARGET_ARCH=$arch
11+
# Copy exe into final directory
12+
cp ./artifacts/cloudflared-windows-$arch.exe $ARTIFACT_DIR/cloudflared-windows-$arch.exe
13+
cp ./artifacts/cloudflared-windows-$arch.exe ./cloudflared.exe
14+
make cloudflared-msi
15+
# Copy msi into final directory
16+
mv cloudflared-$VERSION-$arch.msi $ARTIFACT_DIR/cloudflared-windows-$arch.msi
17+
done

Makefile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ cloudflared-pkg: cloudflared cloudflared.1
198198
$(call build_package,osxpkg)
199199

200200
.PHONY: cloudflared-msi
201-
cloudflared-msi: cloudflared
201+
cloudflared-msi:
202202
wixl --define Version=$(VERSION) --define Path=$(EXECUTABLE_PATH) --output cloudflared-$(VERSION)-$(TARGET_ARCH).msi cloudflared.wxs
203203

204204
.PHONY: cloudflared-darwin-amd64.tgz
@@ -288,6 +288,13 @@ github-mac-upload:
288288
python3 github_release.py --path artifacts/cloudflared-darwin-amd64.tgz --release-version $(VERSION) --name cloudflared-darwin-amd64.tgz
289289
python3 github_release.py --path artifacts/cloudflared-amd64.pkg --release-version $(VERSION) --name cloudflared-amd64.pkg
290290

291+
.PHONY: github-windows-upload
292+
github-windows-upload:
293+
python3 github_release.py --path built_artifacts/cloudflared-windows-amd64.exe --release-version $(VERSION) --name cloudflared-windows-amd64.exe
294+
python3 github_release.py --path built_artifacts/cloudflared-windows-amd64.msi --release-version $(VERSION) --name cloudflared-windows-amd64.msi
295+
python3 github_release.py --path built_artifacts/cloudflared-windows-386.exe --release-version $(VERSION) --name cloudflared-windows-386.exe
296+
python3 github_release.py --path built_artifacts/cloudflared-windows-386.msi --release-version $(VERSION) --name cloudflared-windows-386.msi
297+
291298
.PHONY: tunnelrpc-deps
292299
tunnelrpc-deps:
293300
which capnp # https://capnproto.org/install.html

build-packages.sh

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,6 @@ export CGO_ENABLED=0
77
# This controls the directory the built artifacts go into
88
export ARTIFACT_DIR=built_artifacts/
99
mkdir -p $ARTIFACT_DIR
10-
windowsArchs=("amd64" "386")
11-
export TARGET_OS=windows
12-
for arch in ${windowsArchs[@]}; do
13-
export TARGET_ARCH=$arch
14-
make cloudflared-msi
15-
mv ./cloudflared.exe $ARTIFACT_DIR/cloudflared-windows-$arch.exe
16-
mv cloudflared-$VERSION-$arch.msi $ARTIFACT_DIR/cloudflared-windows-$arch.msi
17-
done
18-
1910

2011
linuxArchs=("386" "amd64" "arm" "armhf" "arm64")
2112
export TARGET_OS=linux

cfsetup.yaml

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ stretch: &stretch
133133
- make publish-deb
134134
github-release-macos-amd64:
135135
build_dir: *build_dir
136-
builddeps:
136+
builddeps: &build_pygithub
137137
- *pinned_go
138138
- build-essential
139139
- python3-dev
@@ -145,6 +145,27 @@ stretch: &stretch
145145
- pip3 install pygithub==1.55
146146
post-cache:
147147
- make github-mac-upload
148+
github-release-windows:
149+
build_dir: *build_dir
150+
builddeps:
151+
- *pinned_go
152+
- build-essential
153+
- python3-dev
154+
- libffi-dev
155+
- python3-setuptools
156+
- python3-pip
157+
- wget
158+
# libmsi and libgcab are libraries the wixl binary depends on.
159+
- libmsi-dev
160+
- libgcab-dev
161+
pre-cache:
162+
- wget https://github.com/sudarshan-reddy/msitools/releases/download/v0.101b/wixl -P /usr/local/bin
163+
- chmod a+x /usr/local/bin/wixl
164+
- pip3 install pynacl==1.4.0
165+
- pip3 install pygithub==1.55
166+
post-cache:
167+
- .teamcity/package-windows.sh
168+
- make github-windows-upload
148169
test:
149170
build_dir: *build_dir
150171
builddeps:
@@ -204,13 +225,7 @@ stretch: &stretch
204225
- .teamcity/update-homebrew-core.sh
205226
github-message-release:
206227
build_dir: *build_dir
207-
builddeps:
208-
- *pinned_go
209-
- build-essential
210-
- python3-dev
211-
- libffi-dev
212-
- python3-setuptools
213-
- python3-pip
228+
builddeps: *build_pygithub
214229
pre-cache: *install_pygithub
215230
post-cache:
216231
- make github-message

0 commit comments

Comments
 (0)