Exporting environment variables Exporting CI Exporting DISPLAY Exporting NPM_AUTH_TOKEN Exporting OLONO_NPM_AUTH_TOKEN Exporting PAGER Exporting SEMAPHORE Exporting SEMAPHORE_AGENT_MACHINE_ENVIRONMENT_TYPE Exporting SEMAPHORE_AGENT_MACHINE_OS_IMAGE Exporting SEMAPHORE_AGENT_MACHINE_TYPE Exporting SEMAPHORE_ARTIFACT_TOKEN Exporting SEMAPHORE_CACHE_BACKEND Exporting SEMAPHORE_CACHE_PRIVATE_KEY_PATH Exporting SEMAPHORE_CACHE_URL Exporting SEMAPHORE_CACHE_USERNAME Exporting SEMAPHORE_GIT_BRANCH Exporting SEMAPHORE_GIT_COMMIT_RANGE Exporting SEMAPHORE_GIT_DIR Exporting SEMAPHORE_GIT_PROVIDER Exporting SEMAPHORE_GIT_REF Exporting SEMAPHORE_GIT_REF_TYPE Exporting SEMAPHORE_GIT_REPO_NAME Exporting SEMAPHORE_GIT_REPO_SLUG Exporting SEMAPHORE_GIT_SHA Exporting SEMAPHORE_GIT_URL Exporting SEMAPHORE_GIT_WORKING_BRANCH Exporting SEMAPHORE_JOB_ID Exporting SEMAPHORE_JOB_NAME Exporting SEMAPHORE_ORGANIZATION_URL Exporting SEMAPHORE_PIPELINE_0_ARTEFACT_ID Exporting SEMAPHORE_PIPELINE_ARTEFACT_ID Exporting SEMAPHORE_PIPELINE_ID Exporting SEMAPHORE_PIPELINE_PROMOTED_BY Exporting SEMAPHORE_PIPELINE_PROMOTION Exporting SEMAPHORE_PIPELINE_RERUN Exporting SEMAPHORE_PROJECT_ID Exporting SEMAPHORE_PROJECT_NAME Exporting SEMAPHORE_TOOLBOX_METRICS_ENABLED Exporting SEMAPHORE_WORKFLOW_HOOK_SOURCE Exporting SEMAPHORE_WORKFLOW_ID Exporting SEMAPHORE_WORKFLOW_NUMBER Exporting SEMAPHORE_WORKFLOW_RERUN Exporting SEMAPHORE_WORKFLOW_TRIGGERED_BY_API Exporting SEMAPHORE_WORKFLOW_TRIGGERED_BY_HOOK Exporting SEMAPHORE_WORKFLOW_TRIGGERED_BY_SCHEDULE Exporting SSH_PRIVATE_KEY_PATH Exporting TERM Injecting Files Injecting /home/semaphore/.ssh/semaphore_cache_key with file mode 0600 Injecting /home/semaphore/.ssh/id_rsa with file mode 0600 Injecting /home/semaphore/.npmrc with file mode 0644 Setting up the Semaphore toolbox Running: dowloadPath=$(curl -s -L --retry 5 http://packages.semaphoreci.com/toolbox/linux) && echo $dowloadPath && curl -s -L --retry 5 --connect-timeout 3 $dowloadPath -o /tmp/toolbox.tar && tar -xvf /tmp/toolbox.tar && mv toolbox ~/.toolbox && bash ~/.toolbox/install-toolbox && source ~/.toolbox/toolbox && echo 'source ~/.toolbox/toolbox' >> ~/.bash_profile && if [ -f /etc/init.d/xvfb ]; then /etc/init.d/xvfb start; fi http://packages.semaphoreci.com/toolbox/releases/download/v1.19.10/linux.tar toolbox/ toolbox/sem-version toolbox/spc toolbox/sem-service toolbox/sem-context toolbox/artifact toolbox/test-results toolbox/toolbox toolbox/sem-install toolbox/install-toolbox toolbox/enetwork toolbox/install-package toolbox/retry toolbox/sem-semantic-release toolbox/system-metrics-collector toolbox/Dockerfile.dev toolbox/ssh-session-cli toolbox/libchecksum toolbox/cache toolbox/libcheckout toolbox/README.md toolbox/when toolbox/sem-dockerize toolbox/sem-service-check-params retry installed ssh-session-cli installed cache installed sem-context installed sem-service installed sem-dockerize installed sem-service-check-params installed sem-semantic-release installed install-package installed Installing the artifacts CLI artifacts installed Installing the test results CLI test-results installed Installing the SPC CLI spc installed Installing the when CLI when installed Installing the enetwork CLI when installed Starting to collect System Metrics in /tmp/system-metrics Starting virtual X frame buffer: Xvfb. Starting an ssh-agent Running: eval `ssh-agent` && echo 'eval $(ssh-agent) >/dev/null' >> ~/.bash_profile && echo 'yes' > /tmp/sempahore-user-commands-have-started Agent pid 2778 Connecting to cache Running: (ssh-keyscan -p 29920 -H 46.4.218.107 >> /home/semaphore/.ssh/known_hosts || true) && ssh-add /home/semaphore/.ssh/semaphore_cache_key # 46.4.218.107:29920 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 # 46.4.218.107:29920 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 # 46.4.218.107:29920 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 Identity added: /home/semaphore/.ssh/semaphore_cache_key (/home/semaphore/.ssh/semaphore_cache_key) sem-version node 10.15.3 [13:41 07/10/2022]: Changing 'node' to version 10.15.3 Downloading and installing node v10.15.3... Downloading https://nodejs.semaphoreci.com/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz... ################################################### 70.9% ######################################################################## 100.0% Computing checksum with sha256sum Checksums matched! Now using node v10.15.3 (npm v6.4.1) Now using node v10.15.3 (npm v6.4.1) /home/semaphore/.nvm/versions/node/v10.15.3/bin/grunt -> /home/semaphore/.nvm/versions/node/v10.15.3/lib/node_modules/grunt-cli/bin/grunt + grunt-cli@1.4.3 added 59 packages from 71 contributors in 2.718s [13:42 07/10/2022]: Switch successful. checkout Performing shallow clone with depth: 50 HEAD is now at 7844727 ISSUE-12187 Limiter should use Node-standard EventEmitter API (#42) npm install npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm WARN deprecated messageformat@2.3.0: Package renamed as '@messageformat/core', see messageformat.github.io for more details. 'messageformat@4' will eventually provide a polyfill for Intl.MessageFormat, once it's been defined by Unicode & ECMA.  > core-js@3.25.5 postinstall /home/semaphore/await-the/node_modules/core-js > node -e "try{require('./postinstall')}catch(e){}" npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN @typescript-eslint/parser@1.13.0 requires a peer of eslint@^5.0.0 but none is installed. You must install peer dependencies yourself.  added 507 packages from 711 contributors and audited 507 packages in 12.474s found 35 vulnerabilities (11 moderate, 16 high, 8 critical) run `npm audit fix` to fix them, or `npm audit` for details npm test > await-the@4.3.2 test /home/semaphore/await-the > npm run lint && nyc mocha --bail --exit test > await-the@4.3.2 lint /home/semaphore/await-the > eslint . Limiter test ✓ should return if no collection is supplied ✓ should do iterate 2 times and call done ✓ should be able to run serially with a limit of 1 (1002ms) ✓ should be able to run in parallel with a limit of 3 (1003ms) ✓ should be able to run in parallel with a limit of 2 (2002ms) ✓ should work correctly when presented with keys that start with numbers or are stringified numbers ✓ should throw for invalid channel ✓ should work correctly with ugly promises (1005ms) ✓ should not block the event loop (1003ms) bail on error ✓ should bail on error if not specified (101ms) ✓ should not bail on error if specified stop ✓ should stop iteration after calling stop (102ms) all test ✓ should resolve all types ✓ should run in series if the limit is 1 (503ms) ✓ should run in parallel if the limit greater than 1 (702ms) ✓ should support objects any test ✓ should return true for a promise that passes ✓ should throw an error if no promises resolve ✓ should not error if last item resolves (edge case) Callback test ✓ should callback ✓ should callback with error ✓ should return results ✓ should throw error deadline test ✓ should resolve the task if it executes under the time limit (1001ms) ✓ should reject the Promise if it executes over the time limit (1002ms) ✓ should reject the Promise if it executes over the time limit with a custom error message (1002ms) ✓ should work with Promises rather than async/await (1001ms) Each test ✓ should return the correct data and should run all tasks in parallel (402ms) ✓ should return the correct data and should run all tasks in series with `limit: 1` (1004ms) ✓ should fail on rejected promises every test ✓ should return true if all promises resolve ✓ should throw an error if any does not resolve ✓ should error if last item throws (edge case) ✓ should work for a collection that is an object Map test ✓ should run in series if the limit is 1 (1502ms) ✓ should run in series if the concurrency is 1 (1504ms) ✓ should run in parallel if the limit greater than 1 (1003ms) ✓ should run in parallel if the limit is undefined (502ms) ✓ should be able to map an object (501ms) ✓ should bail on error for series (1002ms) Map Values test ✓ should return the correct data (1003ms) ✓ should fail on rejected promises ✓ should run in series if the limit is 1 (1504ms) ✓ should run in series if the concurrency is 1 (1503ms) ✓ should run in parallel if the limit greater than 1, and retain key order (501ms) ✓ should run in parallel if the concurrency greater than 1, and retain key order (152ms) multiResult test ✓ should return the correct results with a standard (null, result) callback (102ms) ✓ should return the correct results with a standard (error, result) callback (101ms) ✓ should return the correct results with a multi-value (null, result1, result2) callback (101ms) ✓ should respect binding (200ms) ✓ should work with alternate syntax (101ms) ✓ should capture error being thrown in the function Result test ✓ should return the correct result (102ms) ✓ should respect binding (202ms) ✓ should work with alternate syntax (101ms) ✓ should fail on error being returned in callback ✓ should fail on error being thrown in the funciton Retry test ✓ should retry three times (504ms) ✓ should fail after max tries reached (905ms) ✓ should respect a number as the retry interval (409ms) ✓ should respect a function as the retry interval (1010ms) ✓ should default to a 2 second interval (2006ms) ✓ should default to a 2 second interval for non-number or function type (2002ms) ✓ should gracefully handle bogus output from an interval function (2005ms) errorFilter errorFilter is not a function ✓ should retry twice then error (53ms) ✓ should retry twice then return results (52ms) errorFilter is a function ✓ should retry twice then error (52ms) ✓ should retry twice then return results (53ms) errorFilter is a promise ✓ should retry twice then error (85ms) ✓ should retry twice then return results (73ms) Wait test ✓ should wait the correct amount of time (1001ms) While test ✓ should correctly iterate and exit based on the condition ✓ should correctly iterate and exit based on the previous result passed into the condition ✓ should correctly test multiple args ✓ should correctly test async conditions. ✓ should correctly test promisified conditions. ✓ should fail on rejected promises ✓ should fail on thrown errors While test ✓ should correctly iterate and exit based on the condition ✓ should correctly iterate and exit based on the max loops being hit ✓ should correctly iterate and exit based on the previous result passed into the condition ✓ should correctly test multiple args ✓ should correctly test async conditions. ✓ should correctly test promisified conditions. ✓ should fail on rejected promises ✓ should fail on thrown errors ✓ should fail on NaN max iterations ✓ should fail on being less than 1 max iterations 88 passing (35s) -----------------|----------|----------|----------|----------|-------------------| File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s | -----------------|----------|----------|----------|----------|-------------------| All files | 97.61 | 81.08 | 96.43 | 97.51 | | await-the | 100 | 100 | 100 | 100 | | index.js | 100 | 100 | 100 | 100 | | await-the/lib | 97.4 | 81.08 | 96.43 | 97.29 | | Limiter.js | 100 | 92.86 | 100 | 100 | 143,145 | all.js | 100 | 100 | 100 | 100 | | any.js | 100 | 100 | 100 | 100 | | callback.js | 100 | 100 | 100 | 100 | | deadline.js | 100 | 100 | 100 | 100 | | each.js | 100 | 100 | 100 | 100 | | every.js | 100 | 50 | 100 | 100 | 31,37 | map.js | 100 | 50 | 83.33 | 100 | 27,44,47 | mapValues.js | 100 | 50 | 85.71 | 100 | 28,43,46 | multiResult.js | 82.35 | 62.5 | 100 | 82.35 | 37,42,48 | result.js | 76.92 | 62.5 | 100 | 76.92 | 38,43,49 | retry.js | 100 | 89.47 | 100 | 100 | 31,32 | wait.js | 100 | 50 | 100 | 100 | 20 | while.js | 100 | 100 | 100 | 100 | | whileMax.js | 100 | 100 | 100 | 100 | | -----------------|----------|----------|----------|----------|-------------------| Exporting environment variables Exporting SEMAPHORE_JOB_RESULT