File tree Expand file tree Collapse file tree 2 files changed +61
-26
lines changed Expand file tree Collapse file tree 2 files changed +61
-26
lines changed Original file line number Diff line number Diff line change @@ -19,34 +19,13 @@ functions:
19
19
- command : git.get_project
20
20
params :
21
21
directory : src
22
- - command : shell .exec
22
+ - command : subprocess .exec
23
23
params :
24
24
working_dir : src
25
- script : |
26
- # Get the current unique version of this checkout
27
- if [ "${is_patch}" = "true" ]; then
28
- CURRENT_VERSION=$(git describe)-patch-${version_id}
29
- else
30
- CURRENT_VERSION=latest
31
- fi
32
- export PROJECT_DIRECTORY="$(pwd)"
33
-
34
- # get the latest version of node for given major version
35
- NODE_VERSION=$(curl -sL nodejs.org/download/release/latest-v${NODE_MAJOR_VERSION}.x/SHASUMS256.txt -o - | head -n 1 | tr -s ' ' | cut -d' ' -f2 | cut -d- -f2 | cut -dv -f2)
36
- echo "LATEST NODE ${NODE_MAJOR_VERSION}.x = $NODE_VERSION"
37
-
38
- cat <<EOT > expansion.yml
39
- CURRENT_VERSION: "$CURRENT_VERSION"
40
- PROJECT_DIRECTORY: "$PROJECT_DIRECTORY"
41
- NODE_VERSION: "$NODE_VERSION"
42
- PREPARE_SHELL: |
43
- set -o errexit
44
- set -o xtrace
45
- export PROJECT_DIRECTORY="$PROJECT_DIRECTORY"
46
- export NODE_VERSION="$NODE_VERSION"
47
- EOT
48
- # See what we've done
49
- cat expansion.yml
25
+ binary : bash
26
+ add_expansions_to_env : true
27
+ args :
28
+ - .evergreen/setup-environment.sh
50
29
- command : expansions.update
51
30
params :
52
31
file : src/expansion.yml
@@ -122,6 +101,16 @@ tasks:
122
101
- func : run tests
123
102
vars :
124
103
TEST_TARGET : node
104
+ - name : node-tests-latest
105
+ tags : ["node"]
106
+ commands :
107
+ - func : fetch source
108
+ vars :
109
+ NODE_MAJOR_VERSION : latest
110
+ - func : install dependencies
111
+ - func : run tests
112
+ vars :
113
+ TEST_TARGET : node
125
114
- name : web-tests
126
115
tags : ["web"]
127
116
commands :
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+
3
+ if [ -z " $NODE_MAJOR_VERSION " ]; then
4
+ echo " NODE_MAJOR_VERSION environment variable must be specified"
5
+ exit 1
6
+ fi
7
+
8
+ # Get the current unique version of this checkout
9
+ if [ " ${is_patch} " = " true" ]; then
10
+ CURRENT_VERSION=$( git describe) -patch-${version_id}
11
+ else
12
+ CURRENT_VERSION=latest
13
+ fi
14
+ export PROJECT_DIRECTORY=" $( pwd) "
15
+
16
+ latest_version_for_node_major () {
17
+ local __NODE_MAJOR_VERSION=$1
18
+ local NODE_DOWNLOAD_URI=" https://nodejs.org/download/release/latest-v${__NODE_MAJOR_VERSION} .x/SHASUMS256.txt"
19
+
20
+ if [ $__NODE_MAJOR_VERSION == ' latest' ]
21
+ then
22
+ NODE_DOWNLOAD_URI=" https://nodejs.org/download/release/latest/SHASUMS256.txt"
23
+ fi
24
+
25
+ # check that the requested version does exist
26
+ curl --silent --fail $NODE_DOWNLOAD_URI & > /dev/null
27
+
28
+ echo $( curl --retry 8 --retry-delay 5 --max-time 50 --silent -o- $NODE_DOWNLOAD_URI | head -n 1 | awk ' {print $2};' | cut -d- -f2)
29
+ }
30
+
31
+ NODE_VERSION=$( latest_version_for_node_major $NODE_MAJOR_VERSION )
32
+
33
+ echo " LATEST NODE ${NODE_MAJOR_VERSION} .x = $NODE_VERSION "
34
+
35
+ cat << EOT > expansion.yml
36
+ CURRENT_VERSION: "$CURRENT_VERSION "
37
+ PROJECT_DIRECTORY: "$PROJECT_DIRECTORY "
38
+ NODE_VERSION: "$NODE_VERSION "
39
+ PREPARE_SHELL: |
40
+ set -o errexit
41
+ set -o xtrace
42
+ export PROJECT_DIRECTORY="$PROJECT_DIRECTORY "
43
+ export NODE_VERSION="$NODE_VERSION "
44
+ EOT
45
+ # See what we've done
46
+ cat expansion.yml
You can’t perform that action at this time.
0 commit comments