Automated builds in Acquia Pipelines or Code Studio must succeed when you use the drupal/charts module with the charts_highcharts submodule. Builds often fail during the installation or build phase with an HTTP 429 error from code.highcharts.com.
Root cause: The charts_highcharts submodule often fetches JavaScript (JS) assets from the Highcharts Content Delivery Network (CDN) through the Composer install process. Because Pipelines and Code Studio use shared infrastructure, multiple builds originate from the same egress IP ranges. Highcharts enforces a fair-usage policy on the CDN. When the request threshold is exceeded from these shared IPs, the CDN returns a 429 error and the build fails.
The most reliable method to avoid CDN rate limiting is to host the library assets in the project repository. To vendor JS files:
Access the Highcharts Download page.
Download the required Highcharts JS files, such as highcharts.js, highcharts-more.js, and exporting.js.
Create a directory in the project root at /libraries/highcharts.
Place the downloaded files in the new directory.
Commit these files to the Git repository.
Ensure that the composer.json file does not fetch these assets from the remote CDN during the build process.
Ensure that the installer-paths in the composer-installers plugin recognize the local /libraries folder.
If the project uses a Node-based build step, manage the Highcharts dependency through NPM. To load Highcharts through NPM:
Run the following command: npm install highcharts --save
Update the build scripts to copy the Highcharts assets from node_modules/highcharts/ into the Drupal libraries directory. Alternatively, include the assets in the compiled JS bundle.
Ensure that the charts_highcharts module uses the local file path instead of the CDN URL.
For more information, refer to code.highcharts.com returning 429 responses, Known issues in Pipelines, and Known issues in Code Studio.