diff --git a/README.md b/README.md index 06deb308f69..3039fb4a341 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,10 @@ $ docker-compose up -d -V --remove-orphans --force-recreate $ yarn services ``` +> **Note** +> The `couchbase`, `grpc` and `oracledb` instrumentations rely on native modules +> that do not compile on ARM64 devices (for example M1/M2 Mac) - their tests +> cannot be run locally on these devices. ### Unit Tests diff --git a/scripts/install_plugin_modules.js b/scripts/install_plugin_modules.js index ccfde83f81e..c14867a4439 100644 --- a/scripts/install_plugin_modules.js +++ b/scripts/install_plugin_modules.js @@ -1,6 +1,7 @@ 'use strict' const fs = require('fs') +const os = require('node:os') const path = require('path') const crypto = require('crypto') const semver = require('semver') @@ -11,6 +12,7 @@ const externals = require('../packages/dd-trace/test/plugins/externals') const requirePackageJsonPath = require.resolve('../packages/dd-trace/src/require-package-json') +const excludeList = os.arch() === 'arm64' ? ['couchbase', 'grpc', 'oracledb'] : [] const workspaces = new Set() const versionLists = {} const deps = {} @@ -42,6 +44,8 @@ async function run () { assertFolder() await assertVersions() assertWorkspace() + // Some native addon packages rely on libraries that are not supported on ARM64 + excludeList.forEach(pkg => delete workspaces[pkg]) install() } @@ -197,7 +201,7 @@ function install () { function addFolder (name, version) { const basename = [name, version].filter(val => val).join('@') - workspaces.add(basename) + if (!excludeList.includes(name)) workspaces.add(basename) } function folder (name, version) {