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:
1919 - command : git.get_project 
2020 params :
2121 directory : src 
22-  - command : shell .exec
22+  - command : subprocess .exec
2323 params :
2424 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 
5029 - command : expansions.update 
5130 params :
5231 file : src/expansion.yml 
@@ -122,6 +101,16 @@ tasks:
122101 - func : run tests 
123102 vars :
124103 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 
125114 - name : web-tests 
126115 tags : ["web"] 
127116 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