Skip to content

Commit 002aba2

Browse files
authored
task: Update msi packaging (#191)
1 parent d80f22c commit 002aba2

File tree

3 files changed

+87
-47
lines changed

3 files changed

+87
-47
lines changed

build/ci/evergreen.yml

Lines changed: 58 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -216,28 +216,19 @@ functions:
216216
working_dir: src/github.com/mongodb/mongocli
217217
command: choco uninstall -y "go-msi"
218218
"generate msi":
219-
- command: shell.exec
219+
- command: subprocess.exec
220220
type: test
221221
params:
222222
working_dir: src/github.com/mongodb/mongocli
223-
script: |
224-
set -Eeou pipefail
225-
226-
export GOROOT="${go_root}"
227-
export GOCACHE="$(cygpath --mixed "${workdir}\.gocache")"
228-
export CGO_ENABLED=0
229-
export GOMSI="/cygdrive/c/Program Files/go-msi"
230-
export PATH="$GOMSI:/cygdrive/c/wixtools/bin:$GOROOT\bin:$PATH"
231-
232-
go-msi check-env
233-
234-
VERSION=$(git describe | cut -d "v" -f 2)
235-
236-
env GOOS=windows GOARCH=amd64 go build -ldflags "-s -w -X github.com/mongodb/mongocli/internal/version.Version=$VERSION" -o mongocli.exe
237-
238-
mkdir -p build
239-
240-
go-msi make --msi "dist/mongocli_$VERSION.msi" --version $VERSION
223+
add_to_path:
224+
- ${go_bin}
225+
- "/cygdrive/c/Program Files/go-msi"
226+
- "/cygdrive/c/wixtools/bin"
227+
include_expansions_in_env:
228+
- workdir
229+
env:
230+
<<: *go_options
231+
command: bash.exe -c build/package/generate-msi.sh
241232
"rename pkg":
242233
- command: subprocess.exec
243234
type: test
@@ -266,6 +257,25 @@ functions:
266257
VERSION=$(git describe | cut -d "v" -f 2)
267258
268259
go run ../internal/release/main.go "$VERSION"
260+
"upload dist":
261+
- command: s3.put
262+
params:
263+
aws_key: ${aws_key}
264+
aws_secret: ${aws_secret}
265+
local_files_include_filter:
266+
- src/github.com/mongodb/mongocli/dist/*.tar.gz
267+
- src/github.com/mongodb/mongocli/dist/*.zip
268+
- src/github.com/mongodb/mongocli/dist/*.deb
269+
- src/github.com/mongodb/mongocli/dist/*.rpm
270+
- src/github.com/mongodb/mongocli/dist/*.tgz
271+
- src/github.com/mongodb/mongocli/dist/*.json
272+
- src/github.com/mongodb/mongocli/dist/*.rb
273+
- src/github.com/mongodb/mongocli/dist/*.msi
274+
remote_file: ${project}/dist/${revision}_${created_at}/
275+
bucket: mongodb-mongocli-build
276+
permissions: public-read
277+
content_type: ${content_type|application/x-gzip}
278+
display_name: inernal-bucket
269279
"set up notary client credentials":
270280
- command: shell.exec
271281
params:
@@ -400,21 +410,7 @@ tasks:
400410
include:
401411
- "*.rpm"
402412
- func: "generate download archive json"
403-
- command: s3.put
404-
params:
405-
aws_key: ${aws_key}
406-
aws_secret: ${aws_secret}
407-
local_files_include_filter:
408-
- src/github.com/mongodb/mongocli/dist/*.tar.gz
409-
- src/github.com/mongodb/mongocli/dist/*.zip
410-
- src/github.com/mongodb/mongocli/dist/*.deb
411-
- src/github.com/mongodb/mongocli/dist/*.rpm
412-
- src/github.com/mongodb/mongocli/dist/*.tgz
413-
- src/github.com/mongodb/mongocli/dist/*.json
414-
remote_file: ${project}/dist/${revision}_${created_at}/
415-
bucket: mongodb-mongocli-build
416-
permissions: public-read
417-
content_type: ${content_type|application/x-gzip}
413+
- func: "upload dist"
418414
- name: release
419415
stepback: false
420416
patch_only: true
@@ -444,34 +440,41 @@ tasks:
444440
include:
445441
- "*.rpm"
446442
- func: "generate download archive json"
443+
- func: "upload dist"
447444
- command: s3.put
448445
params:
449-
aws_key: ${aws_key}
450-
aws_secret: ${aws_secret}
446+
aws_key: ${download_center_aws_key}
447+
aws_secret: ${download_center_aws_secret}
451448
local_files_include_filter:
452449
- src/github.com/mongodb/mongocli/dist/*.tar.gz
453450
- src/github.com/mongodb/mongocli/dist/*.zip
454451
- src/github.com/mongodb/mongocli/dist/*.deb
455452
- src/github.com/mongodb/mongocli/dist/*.rpm
456453
- src/github.com/mongodb/mongocli/dist/*.tgz
457454
- src/github.com/mongodb/mongocli/dist/*.json
458-
- src/github.com/mongodb/mongocli/dist/*.rb
459-
remote_file: ${project}/dist/${revision}_${created_at}/
460-
bucket: mongodb-mongocli-build
455+
remote_file: mongocli/
456+
bucket: downloads.mongodb.org
461457
permissions: public-read
462458
content_type: ${content_type|application/x-gzip}
463-
display_name: inernal-bucket-
459+
display_name: downloads-center-
460+
- name: release_msi
461+
stepback: false
462+
patch_only: true
463+
depends_on:
464+
- name: compile
465+
variant: "code_health"
466+
commands:
467+
- func: "clone"
468+
- func: "install go-msi"
469+
- func: "generate msi"
470+
- func: "uninstall go-msi"
471+
- func: "upload dist"
464472
- command: s3.put
465473
params:
466474
aws_key: ${download_center_aws_key}
467475
aws_secret: ${download_center_aws_secret}
468476
local_files_include_filter:
469-
- src/github.com/mongodb/mongocli/dist/*.tar.gz
470-
- src/github.com/mongodb/mongocli/dist/*.zip
471-
- src/github.com/mongodb/mongocli/dist/*.deb
472-
- src/github.com/mongodb/mongocli/dist/*.rpm
473-
- src/github.com/mongodb/mongocli/dist/*.tgz
474-
- src/github.com/mongodb/mongocli/dist/*.json
477+
- src/github.com/mongodb/mongocli/dist/*.msi
475478
remote_file: mongocli/
476479
bucket: downloads.mongodb.org
477480
permissions: public-read
@@ -953,3 +956,12 @@ buildvariants:
953956
- name: .push_stable
954957
run_on:
955958
- rhel70-small
959+
- name: release_msi
960+
display_name: "Release (go-msi)"
961+
run_on:
962+
- windows-64-vs2017-compile
963+
expansions:
964+
go_root: "c:\\golang\\go1.14"
965+
go_bin: "c:\\golang\\go1.14/bin"
966+
tasks:
967+
- name: release_msi

build/package/generate-msi.sh

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/usr/bin/env bash
2+
# Copyright 2020 MongoDB Inc
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
16+
17+
set -Eeou pipefail
18+
19+
export GOCACHE="$(cygpath --mixed "${workdir}\.gocache")"
20+
export CGO_ENABLED=0
21+
22+
go-msi check-env
23+
24+
VERSION=$(git describe | cut -d "v" -f 2)
25+
26+
env GOOS=windows GOARCH=amd64 go build -ldflags "-s -w -X github.com/mongodb/mongocli/internal/version.Version=${VERSION}" -o ./bin/mongocli.exe
27+
28+
go-msi make --msi "dist/mongocli_${VERSION}_windows_x86_64.msi" --version ${VERSION}

wix.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"files": {
77
"guid": "c7b0df57-c3c1-4591-becd-f0f73a912eb8",
88
"items": [
9-
"mongocli.exe"
9+
"bin/mongocli.exe"
1010
]
1111
},
1212
"env": {

0 commit comments

Comments
 (0)