Skip to content

Commit 1277d54

Browse files
authored
Push master build to MyGet + validate Api Docs generation script (#1319)
1 parent 9392310 commit 1277d54

File tree

5 files changed

+149
-2578
lines changed

5 files changed

+149
-2578
lines changed

evergreen/evergreen.yml

+109-74
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,7 @@ functions:
4646
CURRENT_VERSION=latest
4747
fi
4848
49-
if [ "${BUILD_TARGET}" = "release" ]; then
50-
PACKAGE_VERSION=$(bash ./evergreen/get-version.sh)
51-
fi
52-
49+
PACKAGE_VERSION=$(bash ./evergreen/get-version.sh)
5350
export DOTNET_SDK_PATH="$(pwd)/../.dotnet"
5451
export DRIVERS_TOOLS="$(pwd)/../drivers-tools"
5552
@@ -925,6 +922,7 @@ functions:
925922
build-packages:
926923
- command: shell.exec
927924
params:
925+
shell: bash
928926
working_dir: mongo-csharp-driver
929927
script: |
930928
${PREPARE_SHELL}
@@ -933,6 +931,7 @@ functions:
933931
push-packages:
934932
- command: shell.exec
935933
params:
934+
shell: bash
936935
working_dir: mongo-csharp-driver
937936
env:
938937
PACKAGES_SOURCE: ${PACKAGES_SOURCE}
@@ -941,40 +940,90 @@ functions:
941940
${PREPARE_SHELL}
942941
. ./evergreen/push-packages.sh
943942
944-
upload-package:
943+
upload-packages:
945944
- command: s3.put
946945
params:
947946
aws_key: ${aws_key}
948947
aws_secret: ${aws_secret}
949-
local_file: mongo-csharp-driver/artifacts/nuget/${PACKAGE_ID}.${PACKAGE_VERSION}.nupkg
950-
remote_file: ${UPLOAD_BUCKET}/${revision}/${PACKAGE_ID}.${PACKAGE_VERSION}.nupkg
948+
local_files_include_filter:
949+
- mongo-csharp-driver/artifacts/nuget/*.${PACKAGE_VERSION}.nupkg
950+
- mongo-csharp-driver/artifacts/nuget/*.${PACKAGE_VERSION}.snupkg
951+
remote_file: ${UPLOAD_BUCKET}/${revision}/
952+
preserve_path: false
951953
bucket: mciuploads
952954
permissions: public-read
953955
content_type: ${content_type|application/octet-stream}
954-
- command: s3.put
956+
957+
download-packages:
958+
- command: s3.get
955959
params:
956960
aws_key: ${aws_key}
957961
aws_secret: ${aws_secret}
958-
local_file: mongo-csharp-driver/artifacts/nuget/${PACKAGE_ID}.${PACKAGE_VERSION}.snupkg
959-
remote_file: ${UPLOAD_BUCKET}/${revision}/${PACKAGE_ID}.${PACKAGE_VERSION}.snupkg
962+
local_file: mongo-csharp-driver/artifacts/nuget/MongoDB.Bson.${PACKAGE_VERSION}.nupkg
963+
remote_file: ${UPLOAD_BUCKET}/${revision}/MongoDB.Bson.${PACKAGE_VERSION}.nupkg
964+
bucket: mciuploads
965+
- command: s3.get
966+
params:
967+
aws_key: ${aws_key}
968+
aws_secret: ${aws_secret}
969+
local_file: mongo-csharp-driver/artifacts/nuget/MongoDB.Bson.${PACKAGE_VERSION}.snupkg
970+
remote_file: ${UPLOAD_BUCKET}/${revision}/MongoDB.Bson.${PACKAGE_VERSION}.snupkg
971+
bucket: mciuploads
972+
- command: s3.get
973+
params:
974+
aws_key: ${aws_key}
975+
aws_secret: ${aws_secret}
976+
local_file: mongo-csharp-driver/artifacts/nuget/MongoDB.Driver.${PACKAGE_VERSION}.nupkg
977+
remote_file: ${UPLOAD_BUCKET}/${revision}/MongoDB.Driver.${PACKAGE_VERSION}.nupkg
978+
bucket: mciuploads
979+
- command: s3.get
980+
params:
981+
aws_key: ${aws_key}
982+
aws_secret: ${aws_secret}
983+
local_file: mongo-csharp-driver/artifacts/nuget/MongoDB.Driver.${PACKAGE_VERSION}.snupkg
984+
remote_file: ${UPLOAD_BUCKET}/${revision}/MongoDB.Driver.${PACKAGE_VERSION}.snupkg
985+
bucket: mciuploads
986+
- command: s3.get
987+
params:
988+
aws_key: ${aws_key}
989+
aws_secret: ${aws_secret}
990+
local_file: mongo-csharp-driver/artifacts/nuget/MongoDB.Driver.Core.${PACKAGE_VERSION}.nupkg
991+
remote_file: ${UPLOAD_BUCKET}/${revision}/MongoDB.Driver.Core.${PACKAGE_VERSION}.nupkg
992+
bucket: mciuploads
993+
- command: s3.get
994+
params:
995+
aws_key: ${aws_key}
996+
aws_secret: ${aws_secret}
997+
local_file: mongo-csharp-driver/artifacts/nuget/MongoDB.Driver.Core.${PACKAGE_VERSION}.snupkg
998+
remote_file: ${UPLOAD_BUCKET}/${revision}/MongoDB.Driver.Core.${PACKAGE_VERSION}.snupkg
999+
bucket: mciuploads
1000+
- command: s3.get
1001+
params:
1002+
aws_key: ${aws_key}
1003+
aws_secret: ${aws_secret}
1004+
local_file: mongo-csharp-driver/artifacts/nuget/MongoDB.Driver.GridFS.${PACKAGE_VERSION}.nupkg
1005+
remote_file: ${UPLOAD_BUCKET}/${revision}/MongoDB.Driver.GridFS.${PACKAGE_VERSION}.nupkg
1006+
bucket: mciuploads
1007+
- command: s3.get
1008+
params:
1009+
aws_key: ${aws_key}
1010+
aws_secret: ${aws_secret}
1011+
local_file: mongo-csharp-driver/artifacts/nuget/MongoDB.Driver.GridFS.${PACKAGE_VERSION}.snupkg
1012+
remote_file: ${UPLOAD_BUCKET}/${revision}/MongoDB.Driver.GridFS.${PACKAGE_VERSION}.snupkg
9601013
bucket: mciuploads
961-
permissions: public-read
962-
content_type: ${content_type|application/octet-stream}
963-
964-
download-package:
9651014
- command: s3.get
9661015
params:
9671016
aws_key: ${aws_key}
9681017
aws_secret: ${aws_secret}
969-
local_file: mongo-csharp-driver/artifacts/nuget/${PACKAGE_ID}.${PACKAGE_VERSION}.nupkg
970-
remote_file: ${UPLOAD_BUCKET}/${revision}/${PACKAGE_ID}.${PACKAGE_VERSION}.nupkg
1018+
local_file: mongo-csharp-driver/artifacts/nuget/mongocsharpdriver.${PACKAGE_VERSION}.nupkg
1019+
remote_file: ${UPLOAD_BUCKET}/${revision}/mongocsharpdriver.${PACKAGE_VERSION}.nupkg
9711020
bucket: mciuploads
9721021
- command: s3.get
9731022
params:
9741023
aws_key: ${aws_key}
9751024
aws_secret: ${aws_secret}
976-
local_file: mongo-csharp-driver/artifacts/nuget/${PACKAGE_ID}.${PACKAGE_VERSION}.snupkg
977-
remote_file: ${UPLOAD_BUCKET}/${revision}/${PACKAGE_ID}.${PACKAGE_VERSION}.snupkg
1025+
local_file: mongo-csharp-driver/artifacts/nuget/mongocsharpdriver.${PACKAGE_VERSION}.snupkg
1026+
remote_file: ${UPLOAD_BUCKET}/${revision}/mongocsharpdriver.${PACKAGE_VERSION}.snupkg
9781027
bucket: mciuploads
9791028

9801029
build-apidocs:
@@ -984,10 +1033,6 @@ functions:
9841033
working_dir: mongo-csharp-driver
9851034
script: |
9861035
${PREPARE_SHELL}
987-
if ! [[ "$PACKAGE_VERSION" =~ ^[0-9]+\.[0-9]+\.0$ ]]; then
988-
echo "Skip api docs generating for the patch release"
989-
exit 0
990-
fi
9911036
./evergreen/build-apidocs.sh
9921037
9931038
upload-apidocs:
@@ -1001,7 +1046,7 @@ functions:
10011046
script: |
10021047
${PREPARE_SHELL}
10031048
if ! [[ "$PACKAGE_VERSION" =~ ^[0-9]+\.[0-9]+\.0$ ]]; then
1004-
echo "Skip api docs generating for the patch release"
1049+
echo "Cannot upload api docs for the patch release"
10051050
exit 0
10061051
fi
10071052
./evergreen/upload-apidocs.sh
@@ -1721,51 +1766,37 @@ tasks:
17211766
commands:
17221767
- func: install-dotnet
17231768
- func: build-packages
1724-
- func: upload-package
1725-
vars:
1726-
PACKAGE_ID: "MongoDB.Bson"
1727-
- func: upload-package
1728-
vars:
1729-
PACKAGE_ID: "MongoDB.Driver"
1730-
- func: upload-package
1731-
vars:
1732-
PACKAGE_ID: "MongoDB.Driver.Core"
1733-
- func: upload-package
1734-
vars:
1735-
PACKAGE_ID: "MongoDB.Driver.GridFS"
1736-
- func: upload-package
1737-
vars:
1738-
PACKAGE_ID: "mongocsharpdriver"
1769+
- func: upload-packages
17391770

1740-
- name: push-packages
1771+
- name: push-packages-nuget
17411772
commands:
17421773
- func: install-dotnet
1743-
- func: download-package
1744-
vars:
1745-
PACKAGE_ID: "MongoDB.Bson"
1746-
- func: download-package
1747-
vars:
1748-
PACKAGE_ID: "MongoDB.Driver"
1749-
- func: download-package
1750-
vars:
1751-
PACKAGE_ID: "MongoDB.Driver.Core"
1752-
- func: download-package
1753-
vars:
1754-
PACKAGE_ID: "MongoDB.Driver.GridFS"
1755-
- func: download-package
1756-
vars:
1757-
PACKAGE_ID: "mongocsharpdriver"
1774+
- func: download-packages
17581775
- func: push-packages
17591776
vars:
17601777
PACKAGES_SOURCE: "https://api.nuget.org/v3/index.json"
17611778
PACKAGES_SOURCE_KEY: ${nuget_api_key}
17621779

1780+
- name: push-packages-myget
1781+
commands:
1782+
- func: install-dotnet
1783+
- func: download-packages
1784+
- func: push-packages
1785+
vars:
1786+
PACKAGES_SOURCE: "https://www.myget.org/F/mongodb/api/v3/index.json"
1787+
PACKAGES_SOURCE_KEY: ${myget_api_key}
1788+
17631789
- name: generate-apidocs
17641790
commands:
17651791
- func: install-dotnet
17661792
- func: build-apidocs
17671793
- func: upload-apidocs
17681794

1795+
- name: validate-apidocs
1796+
commands:
1797+
- func: install-dotnet
1798+
- func: build-apidocs
1799+
17691800
axes:
17701801
- id: version
17711802
display_name: MongoDB Version
@@ -1933,18 +1964,6 @@ axes:
19331964
variables:
19341965
VAULT_NAME: "serverless_next"
19351966

1936-
- id: build-target
1937-
display_name: CI build target
1938-
values:
1939-
- id: "tests"
1940-
display_name: "tests"
1941-
variables:
1942-
BUILD_TARGET: "tests"
1943-
- id: "release"
1944-
display_name: "release"
1945-
variables:
1946-
BUILD_TARGET: "release"
1947-
19481967
task_groups:
19491968
- name: testazurekms-task-group
19501969
setup_group_can_fail_task: true
@@ -2569,18 +2588,23 @@ buildvariants:
25692588
# Package release variants
25702589
- matrix_name: build-packages
25712590
matrix_spec:
2572-
build-target: "release"
25732591
os: "windows-64" # should produce package on Windows to make sure full framework binaries created.
2574-
display_name: "Package Pack"
2592+
display_name: "Packages Pack"
25752593
tags: ["build-packages", "release-tag"]
25762594
tasks:
25772595
- name: build-packages
2578-
git_tag_only: true
25792596
priority: 10
25802597

2598+
- matrix_name: validate-apidocs
2599+
matrix_spec:
2600+
os: "ubuntu-2004"
2601+
display_name: "Validate API Documentation generation"
2602+
tags: ["build-apidocs"]
2603+
tasks:
2604+
- name: validate-apidocs
2605+
25812606
- matrix_name: generate-apidocs
25822607
matrix_spec:
2583-
build-target: "release"
25842608
os: "ubuntu-2004"
25852609
display_name: "Generate API Documentation"
25862610
tags: ["build-apidocs", "release-tag"]
@@ -2593,17 +2617,28 @@ buildvariants:
25932617
variant: ".build-packages"
25942618
## add dependency onto packages smoke test once it implemented
25952619

2596-
- matrix_name: push-packages
2620+
- matrix_name: push-packages-nuget
25972621
matrix_spec:
2598-
build-target: "release"
25992622
os: "ubuntu-2004"
2600-
display_name: "Package Push"
2623+
display_name: "Packages Push (NuGet)"
26012624
tags: ["push-packages", "release-tag"]
26022625
tasks:
2603-
- name: push-packages
2626+
- name: push-packages-nuget
26042627
git_tag_only: true
26052628
priority: 10
26062629
depends_on:
26072630
- name: build-packages
26082631
variant: ".build-packages"
26092632
## add dependency onto packages smoke test once it implemented
2633+
2634+
- matrix_name: push-packages-myget
2635+
matrix_spec:
2636+
os: "ubuntu-2004"
2637+
display_name: "Packages Push (MyGet)"
2638+
tags: ["push-packages-myget"]
2639+
tasks:
2640+
- name: push-packages-myget
2641+
depends_on:
2642+
- name: build-packages
2643+
variant: ".build-packages"
2644+
## add dependency onto packages smoke test once it implemented

0 commit comments

Comments
 (0)