-
Notifications
You must be signed in to change notification settings - Fork 67
/
config.yml
154 lines (147 loc) · 4.02 KB
/
config.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
# Run previous commits to pinpoint a failure's origin.
stepback: true
# Mark failures other than test failures with a purple box.
command_type: system
# Limit maximum test running time.
exec_timeout_secs: 900 # 15 minutes
# What to do when evergreen hits the timeout
timeout:
- command: shell.exec
params:
script: |
ls -la
functions:
fetch source:
- command: git.get_project
params:
directory: src
- command: shell.exec
params:
working_dir: src
script: |
# Get the current unique version of this checkout
if [ "${is_patch}" = "true" ]; then
CURRENT_VERSION=$(git describe)-patch-${version_id}
else
CURRENT_VERSION=latest
fi
export PROJECT_DIRECTORY="$(pwd)"
# Python has cygwin path problems on Windows. Detect prospective mongo-orchestration home directory
if [ "Windows_NT" = "$OS" ]; then # Magic variable in cygwin
export PROJECT_DIRECTORY=$(cygpath -m $PROJECT_DIRECTORY)
fi
cat <<EOT > expansion.yml
CURRENT_VERSION: "$CURRENT_VERSION"
PROJECT_DIRECTORY: "$PROJECT_DIRECTORY"
PREPARE_SHELL: |
set -o errexit
set -o xtrace
export PROJECT_DIRECTORY="$PROJECT_DIRECTORY"
export PROJECT="${project}"
EOT
# See what we've done
cat expansion.yml
- command: expansions.update
params:
file: src/expansion.yml
run tests:
- command: subprocess.exec
type: test
params:
working_dir: src
binary: bash
args:
- '.evergreen/run-tests.sh'
env:
PROJECT_DIRECTORY: ${PROJECT_DIRECTORY}
run tests ubuntu:
- command: subprocess.exec
type: test
params:
binary: docker
working_dir: src
env:
PROJECT_DIRECTORY: ${PROJECT_DIRECTORY}
PROJECT: ${project}
GYP_DEFINES: ${GYP_DEFINES|}
NPM_OPTIONS: ${NPM_OPTIONS|}
args:
- run
- '--interactive'
- '--volume'
- ${PROJECT_DIRECTORY}:/app
- '--workdir'
- /app
- '--env'
- PROJECT_DIRECTORY=/app
- '--env'
- GYP_DEFINES
- '--env'
- NPM_OPTIONS
- 'ubuntu:22.04'
- /bin/bash
- /app/.evergreen/run-tests-ubuntu.sh
run prebuild:
- command: subprocess.exec
type: test
params:
working_dir: src
binary: bash
args:
- '.evergreen/run-prebuild.sh'
env:
PROJECT_DIRECTORY: ${PROJECT_DIRECTORY}
NODE_GITHUB_TOKEN: ${github_token}
install dependencies:
- command: subprocess.exec
type: setup
params:
working_dir: src
binary: bash
args:
- .evergreen/install-dependencies.sh
env:
PROJECT_DIRECTORY: ${PROJECT_DIRECTORY}
NODE_LTS_VERSION: ${NODE_LTS_VERSION}
NPM_VERSION: "9"
pre:
- func: fetch source
tasks:
- name: run-tests
commands:
- func: install dependencies
- func: run tests
- name: run-tests-ubuntu
commands:
- func: run tests ubuntu
- name: run-tests-ubuntu-rtld
commands:
- func: run tests ubuntu
vars:
GYP_DEFINES: kerberos_use_rtld=true
NPM_OPTIONS: --build-from-source
- name: run-prebuild
commands:
- func: install dependencies
- func: run prebuild
buildvariants:
- name: ubuntu2204-64
display_name: 'Ubuntu 22.04 64-bit'
run_on: ubuntu2204-small
expansions:
has_packages: true
packager_distro: ubuntu2204
packager_arch: x86_64
tasks:
- run-tests-ubuntu
- run-tests-ubuntu-rtld
- name: ubuntu2204-arm64
display_name: 'Ubuntu 22.04 arm64'
run_on: ubuntu2204-arm64-small
expansions:
has_packages: true
packager_distro: ubuntu2204
packager_arch: arm64
tasks:
- run-tests-ubuntu
- run-tests-ubuntu-rtld