diff --git a/.semaphore/semaphore.yml b/.semaphore/semaphore.yml index 889f5e64..b4b2ccf9 100644 --- a/.semaphore/semaphore.yml +++ b/.semaphore/semaphore.yml @@ -72,6 +72,7 @@ blocks: prologue: commands: - sem-version c 8 + - npm i -g npm@8.5.3 - cache restore - mono bootstrap --ci - cache store @@ -97,6 +98,7 @@ blocks: prologue: commands: - sem-version c 8 + - npm i -g npm@8.5.3 - cache restore - cache restore $_PACKAGES_CACHE-packages-$SEMAPHORE_GIT_SHA-v$NODE_VERSION - mono bootstrap --ci @@ -173,6 +175,7 @@ blocks: prologue: commands: - sem-version c 8 + - npm i -g npm@8.5.3 - cache restore - mono bootstrap --ci - cache store @@ -195,6 +198,7 @@ blocks: prologue: commands: - sem-version c 8 + - npm i -g npm@8.5.3 - cache restore - cache restore $_PACKAGES_CACHE-packages-$SEMAPHORE_GIT_SHA-v$NODE_VERSION - mono bootstrap --ci @@ -270,7 +274,7 @@ blocks: value: '14' prologue: commands: - - npm i -g npm@7 + - npm i -g npm@8.5.3 - cache restore - mono bootstrap --ci - cache store @@ -292,7 +296,7 @@ blocks: value: 'false' prologue: commands: - - npm i -g npm@7 + - npm i -g npm@8.5.3 - cache restore - cache restore $_PACKAGES_CACHE-packages-$SEMAPHORE_GIT_SHA-v$NODE_VERSION - mono bootstrap --ci @@ -368,7 +372,7 @@ blocks: value: '12' prologue: commands: - - npm i -g npm@7 + - npm i -g npm@8.5.3 - cache restore - mono bootstrap --ci - cache store @@ -390,7 +394,7 @@ blocks: value: 'false' prologue: commands: - - npm i -g npm@7 + - npm i -g npm@8.5.3 - cache restore - cache restore $_PACKAGES_CACHE-packages-$SEMAPHORE_GIT_SHA-v$NODE_VERSION - mono bootstrap --ci diff --git a/build_matrix.yml b/build_matrix.yml index 6fd6221d..ca968f52 100644 --- a/build_matrix.yml +++ b/build_matrix.yml @@ -71,21 +71,26 @@ matrix: nodejs: - nodejs: "17" - setup: &gcc8 + setup: # Configure the host to use GCC 8.3 for Node.js 16 and above. This # is the minimal required version for Node.js 16 and above, and the # extension won't compile without it. - - sem-version c 8 + - &gcc8 sem-version c 8 + # Use NPM version 8.5.3 to work around a bug when using NPM 8.5.4 or + # higher, where commands that are ran at the root of the workspace + # do not trigger lifecycle hooks for the workspace packages. + # https://github.com/npm/cli/issues/4552 + - &npm853 npm i -g npm@8.5.3 - nodejs: "16" - setup: *gcc8 + setup: + - *gcc8 + - *npm853 - nodejs: "14" - setup: &npm7 - # Use NPM version 7 to work around a bug when using NPM 8 and Node 14 - # or lower, where commands that are ran at the root of the workspace - # do not trigger lifecycle hooks for the workspace packages. - - npm i -g npm@7 + setup: + - *npm853 - nodejs: "12" - setup: *npm7 + setup: + - *npm853 packages: - package: "@appsignal/nodejs" path: "packages/nodejs"