diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7ef68a71..da1c3a5e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -36,12 +36,7 @@ jobs: - name: Perform uglify, build & test shell: bash run: | - git clone --branch v1.6.0 --depth 1 https://github.com/jasongin/nvs.git ~/.nvs - while ! timeout 60 bash -c '. ~/.nvs/nvs.sh add $NODE && nvs use $NODE'; do - cd ~/.nvs - while !(git clean -xdf); do echo "'git clean' failed - retrying..."; done - cd - - done + ./test/release/setup_node.sh . ~/.nvs/nvs.sh --version nvs use $NODE node --version diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 60db779c..4156c6a7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,12 +29,7 @@ jobs: - name: Perform tests shell: bash run: | - git clone --branch v1.6.0 --depth 1 https://github.com/jasongin/nvs.git ~/.nvs - while ! timeout 60 bash -c '. ~/.nvs/nvs.sh add $NODE && nvs use $NODE'; do - cd ~/.nvs - while !(git clean -xdf); do echo "'git clean' failed - retrying..."; done - cd - - done + ./test/release/setup_node.sh . ~/.nvs/nvs.sh --version nvs use $NODE node --version diff --git a/.github/workflows/ufuzz.yml b/.github/workflows/ufuzz.yml index 910dbd5a..9fd5232b 100644 --- a/.github/workflows/ufuzz.yml +++ b/.github/workflows/ufuzz.yml @@ -30,23 +30,10 @@ jobs: NODE: ${{ matrix.node }} steps: - uses: actions/checkout@v2 - - name: Install GNU Core Utilities - if: ${{ startsWith(matrix.os, 'macos') }} - env: - HOMEBREW_NO_BOTTLE_SOURCE_FALLBACK: 1 - HOMEBREW_NO_INSTALL_CLEANUP: 1 - shell: bash - run: | - while !(brew install coreutils); do echo "'brew install' failed - retrying..."; done - name: Perform fuzzing shell: bash run: | - git clone --branch v1.6.0 --depth 1 https://github.com/jasongin/nvs.git ~/.nvs - while ! timeout 60 bash -c '. ~/.nvs/nvs.sh add $NODE && nvs use $NODE'; do - cd ~/.nvs - while !(git clean -xdf); do echo "'git clean' failed - retrying..."; done - cd - - done + ./test/release/setup_node.sh . ~/.nvs/nvs.sh --version nvs use $NODE node --version diff --git a/test/release/setup_node.sh b/test/release/setup_node.sh new file mode 100755 index 00000000..78368074 --- /dev/null +++ b/test/release/setup_node.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +install() { + echo "$PWD> . ~/.nvs/nvs.sh add $NODE && nvs use $NODE" + (. ~/.nvs/nvs.sh add $NODE && nvs use $NODE) & + PID=$! + (sleep 60; pkill -P $PID; kill $PID &> /dev/null) & + WID=$! + wait $PID &> /dev/null + CODE=$? + kill $WID &> /dev/null + echo RETURNED $CODE + return $CODE +} + +git clone --branch v1.6.0 --depth 1 https://github.com/jasongin/nvs.git ~/.nvs +while ! install; do + cd ~/.nvs + while !(git clean -xdf); do echo "'git clean' failed - retrying..."; done + cd - +done