Packages in CI
Running tricky packages (native builds, browsers, GPUs) in CI.
How to install and run dependencies that are painful in CI - native-build npm modules, browser automation, ML libraries, and database tooling - without flaky failures.
Node native modules
sharp, node-gyp, bcrypt, canvas.
"403 Forbidden" on Artifactory deployFix Artifactory "403 Forbidden" when deploying an artifact in CI - the token authenticated but the user lacks…
"404 ... repository ... not found"Fix Artifactory "404 not found" for a repository in CI - the repo key in the upload or download path does not…
"404" repository not found (Artifactory)Fix Artifactory "404 Not Found" for a repository in CI - the registry URL points at a repository key that doe…
"409 Conflict" overwriting a releaseFix Artifactory "409 Conflict" when deploying to a release repository in CI - the repo forbids overwriting an…
"409 Conflict" (immutable)Fix Artifactory "409 Conflict" in CI - a release repo blocks overwriting an existing artifact, so republishin…
"413 Request Entity Too Large"Fix Artifactory "413 Request Entity Too Large" in CI - a reverse proxy or Artifactory upload limit rejected a…
"build info ... not found"Fix Artifactory "build info not found" in CI - a promote, scan, or download-by-build step referenced a build…
"checksum ... does not match"Fix Artifactory "checksum does not match" in CI - the client-declared SHA-256 differs from the bytes Artifact…
"repository ... is not configured for"Fix Artifactory "the repository is not configured for" a package type in CI - an npm/Maven/pip/Docker request…
"storage quota exceeded"Fix Artifactory "storage quota exceeded" in CI - the deploy was blocked because the instance or repo reached…
Docker "denied" (Artifactory)Fix Docker "denied: requested access to the resource is denied" against an Artifactory registry in CI - docke…
Maven "401 Unauthorized" (Artifactory)Fix Maven "status code 401" against Artifactory in CI - settings.xml has no matching <server> credentials for…
npm "401 Unauthorized" (Artifactory)Fix npm "401 Unauthorized" against an Artifactory registry in CI - the .npmrc registry line has no _auth/_aut…
"401 Unauthorized" from Artifactory npmFix npm "401 Unauthorized" against a JFrog Artifactory npm registry in CI - the request reached Artifactory b…
pip "401" (Artifactory index)Fix pip "401 Client Error" against an Artifactory PyPI index in CI - the index-url has no token, or the crede…
"Storage quota" exceeded (Artifactory)Fix Artifactory uploads failing because the storage quota is exceeded in CI - Artifactory blocks new deploys…
virtual vs remote vs local repoFix Artifactory virtual/remote/local repo confusion in CI - deploying to a virtual or remote repo, or resolvi…
"a verified email address is required to publish"Fix cargo "error: api errors ... A verified email address is required to publish crates to crates.io" in CI -…
"crate version ... is already uploaded"Fix cargo "error: failed to publish ... crate version X.Y.Z is already uploaded" in CI - crates.io versions a…
"no token found, please run `cargo login`"Fix cargo "error: no token found, please run `cargo login` or pass `--token`" in CI - no crates.io token is c…
"requested access ... is denied"Fix Docker "denied: requested access to the resource is denied" pushing to a private registry in CI - the log…
"401 (Unauthorized)" on pushFix "dotnet nuget push" 401 Unauthorized in CI - the API key is missing, wrong, or expired, or the feed needs…
"409 ... package version already exists"Fix "dotnet nuget push" 409 Conflict in CI - the package version already exists on the feed; bump the version…
"Access Denied. Please sign up for an account"Fix RubyGems "gem push" 401 authentication failures in CI - no valid API key reached rubygems.org; set GEM_HO…
"Repushing of gem versions is not allowed"Fix RubyGems "Repushing of gem versions is not allowed" in CI - the version already exists on rubygems.org an…
"404 Not Found" @scope (GitHub Packages)Fix GitHub Packages "npm error 404 Not Found" for a scoped package in CI - the scope is not mapped to npm.pkg…
"permission_denied: write_package"Fix GitHub Packages "permission_denied: write_package" in CI - the GITHUB_TOKEN job lacks packages: write, or…
"401 Unauthorized" GitHub Packages MavenFix GitHub Packages Maven "status code 401" in CI - settings.xml has no server credentials for the github ser…
"npm error 401" from GitHub PackagesFix GitHub Packages npm "401 Unauthorized" in CI - the token lacks the read:packages scope, or .npmrc is not…
"missing go.sum entry" / proxy 410 GoneFix Go module errors after tagging in CI - "missing go.sum entry; to add it run go mod download" and proxy.go…
"unauthorized: authentication required"Fix Harbor "unauthorized: authentication required" when pushing an image in CI - the docker client is not log…
node-pre-gyp in CIFix node-pre-gyp "Pre-built binaries not installable" errors in CI: understand the prebuilt-binary download,…
node-sass / sass in CIFix node-sass binary download failures in CI and migrate to the pure-JS sass (Dart Sass) package - the recomm…
Using ts-proto in CIGenerate TypeScript from .proto files in CI with protoc and ts-proto: install the compiler, wire the plugin,…
fsevents in CIHandle fsevents in CI: it is a macOS-only optional dependency, so keep optional deps enabled and never fail L…
Install @napi-rs/canvas in CIInstall @napi-rs/canvas in CI: it ships prebuilt Rust/Skia bindings with no system libs, so keep optional dep…
Install @swc/core in CIInstall @swc/core in CI: keep its platform-specific Rust binding optional dependency, avoid cross-platform no…
Install tfjs-node in CIInstall @tensorflow/tfjs-node in CI: it downloads a prebuilt libtensorflow binary at install - fix the downlo…
Install argon2 in CIInstall node argon2 in CI: it ships prebuilt binaries, but Alpine/musl and ABI mismatches force a source buil…
Install bcrypt in CIInstall bcrypt reliably in CI: use prebuilt binaries, add a build toolchain when needed, or switch to pure-JS…
Install better-sqlite3 in CIInstall better-sqlite3 reliably in CI: use prebuilt binaries, add Python and a compiler for source builds, an…
Install bufferutil in CIInstall bufferutil in CI: this ws speedup addon builds via node-gyp on slim images - add python3 + g++, rebui…
Install classic-level in CIInstall classic-level (and legacy leveldown) in CI: they bundle LevelDB and build a C++ addon - use prebuilds…
Install cpu-features in CIInstall the cpu-features native addon in CI: it builds via node-gyp as an optional dep of grpc and ssh2 - add…
Install DuckDB for Node in CIInstall the DuckDB node package in CI: prefer the prebuilt @duckdb/node-api bindings, avoid the slow C++ sour…
Install esbuild in CIInstall esbuild in CI: keep its platform-specific optional binary, avoid copying node_modules across OS/arch,…
Install gRPC in CIInstall gRPC for Node reliably in CI: prefer the pure-JS @grpc/grpc-js over the deprecated native grpc packag…
Install grpc-tools in CIInstall grpc-tools in CI: it downloads a prebuilt protoc plugin binary at install - fix blocked downloads, Al…
Install headless-gl in CIInstall headless-gl (the gl package) in CI: it builds a C++ addon needing GL/X11 dev libs, and runs under Xvf…
Install isolated-vm in CIInstall isolated-vm in CI: it compiles a heavy C++ V8 addon, so add Python and a modern g++/clang, give the b…
Install node-canvas in CIInstall node-canvas in CI without build failures: add the Cairo, Pango, and libjpeg system libraries, and fix…
Install protobufjs in CIInstall protobufjs in CI: it is pure JS, but its postinstall and pbjs/pbts CLIs need an unblocked install - a…
Install re2 in CIInstall the re2 npm package reliably in CI: use prebuilt binaries, add a C++ toolchain for source builds, and…
Install serialport in CIInstall the serialport npm package reliably in CI: use prebuilt bindings, add a toolchain for source builds,…
Install sharp in CIInstall sharp reliably in CI: use the prebuilt libvips binaries, avoid musl/Alpine mismatches, and stop "Coul…
Install snappy in CIInstall the Node snappy compression addon in CI: modern versions ship prebuilt Rust bindings, so keep optiona…
Install sodium-native in CIInstall sodium-native reliably in CI: use its prebuilt libsodium binaries, add a toolchain for source builds,…
Install sqlite3 in CIInstall the sqlite3 npm package reliably in CI: use prebuilt binaries, add a toolchain for source builds, and…
Install ws addons in CIInstall the ws WebSocket optional addons in CI: bufferutil and utf-8-validate compile via node-gyp - add a to…
node-gyp in CIFix node-gyp build failures in CI: install Python and a C/C++ toolchain, and stop "gyp ERR! find Python" and…
libvips in CIProvide libvips reliably in CI for sharp and image tooling: use the bundled libvips, install the system libra…
node-canvas alternatives in CIPick a CI-friendly node-canvas alternative: @napi-rs/canvas or skia-canvas bundle their engine and skip the C…
Using Cypress in CIRun Cypress in CI: install the binary, add Linux dependencies, cache ~/.cache/Cypress, run headless, and fix…
Using dd-trace in CIRun dd-trace for Node in CI: install it, decide whether to enable tracing in test runs, handle the native ppr…
Using esbuild in CIRun esbuild in CI: let the correct platform binary install via optional dependencies, avoid cross-platform lo…
Using gRPC in CIRun gRPC for Node in CI end to end: use @grpc/grpc-js, generate stubs with proto-loader or protoc, cache, and…
Run pino in CIRun pino in CI: its sonic-boom and worker-thread transports (pino-pretty) can break in bundled or slim enviro…
Using Playwright in CIRun Playwright Node tests in CI: install browsers with system deps, cache the browser binaries, run headless,…
Using Prisma in CIRun Prisma reliably in CI: generate the client, apply migrations against a service database, cache the query…
Using Puppeteer in CIRun Puppeteer in CI: install the bundled Chromium, add the system libraries it needs, use --no-sandbox, and f…
Using Sequelize in CIRun Sequelize in CI: start a database service container, install the right driver, run migrations, and fix di…
Using SWC in CIRun @swc/core in CI: install the right native binding via optional dependencies, handle musl/glibc, cache cor…
Using TypeORM in CIRun TypeORM in CI: install the driver, run migrations against a service database, handle decorators/ts-node,…
Using Sentry CLI in CIUse the Sentry CLI in CI to create releases and upload sourcemaps: install it, set the auth token and org/pro…
jf "401 Unauthorized"Fix JFrog "401 Unauthorized" in CI - the jf CLI reached Artifactory but sent no valid credential because JF_A…
jf "403 Forbidden"Fix JFrog "403 Forbidden" in CI - the token authenticated but the principal lacks deploy or read permission o…
"access token expired"Fix JFrog "access token expired" in CI - the JF_ACCESS_TOKEN passed its expiry, so every authenticated jf cal…
jf "connection refused"Fix jf "connection refused" or "no such host" in CI - JF_URL points at the wrong host, port, or scheme, or om…
"jf rt build-publish ... failed"Fix "jf rt build-publish failed" in CI - the build info could not be published because no build parts were co…
"jf: command not found"Fix "jf: command not found" in CI - the JFrog CLI is not installed on the runner because the setup-jfrog-cli…
"requires a valid ... license"Fix JFrog "requires a valid license" in CI - a jf command used a feature (Xray, build promotion, distribution…
"Server ID ... does not exist"Fix JFrog "Server ID does not exist" in CI - a jf command referenced a named server that was never configured…
"not authorized to deploy"Fix Artifactory "You are not authorized to deploy artifacts" in CI - the token authenticated but the deploy p…
"context path" 404 (reverse proxy)Fix JFrog reverse-proxy 404s in CI - JF_URL omits or duplicates the /artifactory context path, so API request…
Xray "scan ... failed"Fix JFrog Xray "scan failed" in CI - the jf scan or build-scan could not complete because the index was incom…
Xray "violations found"Fix JFrog Xray "violations found" failing a CI gate - a security or license policy watch flagged the build an…
"Missing signature for file"Fix Maven Central "Missing signature for file" / unsigned artifact errors in CI - Central requires every arti…
"Missing: ... javadoc.jar / sources.jar"Fix Maven Central validation failures for missing javadoc and sources jars in CI - Central requires -sources.…
"status: 401 Unauthorized"Fix Maven "Failed to deploy artifacts ... status: 401 Unauthorized" to Central in CI - the server credentials…
"Repository does not allow updating assets"Fix Nexus "status code 400 ... Repository does not allow updating assets" on deploy in CI - a release repo fo…
"401 Unauthorized" from NexusFix Sonatype Nexus "Received status code 401 ... Unauthorized" on deploy in CI - the server settings credenti…
"403 Forbidden" Nexus npm publishFix npm "403 Forbidden" publishing to a Sonatype Nexus npm hosted repo in CI - the authenticated user lacks t…
Nexus proxy "remote fetch failed"Fix Nexus proxy repositories returning 404/failed for packages that exist upstream in CI - the proxy could no…
"E401 ... no auth token"Fix npm "E401 Unauthorized ... no auth token" against a private registry in CI - .npmrc has no _authToken lin…
"Provenance generation ... failed"Fix npm publish --provenance failures in CI - provenance needs an OIDC id-token, so the workflow must grant i…
"402 Payment Required"Fix "npm ERR! code E402 ... 402 Payment Required" in CI - publishing a scoped package as private requires a p…
"403 Forbidden - PUT ... permission to publish"Fix "npm ERR! 403 Forbidden - PUT https://registry.npmjs.org/<pkg> - You do not have permission to publish" i…
"cannot publish over previously published version"Fix "npm ERR! code E409 ... You cannot publish over the previously published versions" in CI - the version in…
"ENEEDAUTH - This command requires you to be logged in"Fix "npm ERR! code ENEEDAUTH ... This command requires you to be logged in" in CI - no auth token reached the…
"This operation requires a one-time password"Fix "npm ERR! code EOTP ... This operation requires a one-time password" in CI - 2FA is set to require an OTP…
"401 Unauthorized" (OSSRH deploy)Fix OSSRH/Sonatype "status code 401 Unauthorized" on deploy in CI - settings.xml lacks the ossrh server crede…
"Missing Signature" (OSSRH gpg)Fix OSSRH staging "Missing Signature" failures in CI - Maven Central requires a .asc GPG signature for every…
OSSRH "staging rules failure"Fix OSSRH "Failed: ... staging rules failure" when closing a staging repository in CI - required metadata lik…
"valid token, but no corresponding ... trusted publisher"Fix PyPI trusted publishing OIDC errors in CI - the workflow exchanged an OIDC token but PyPI found no matchi…
"`long_description` has syntax errors"Fix twine check "warning: `long_description` has syntax errors in markup and would not be rendered on PyPI" i…
"File already exists"Fix twine "HTTPError: 400 Bad Request ... File already exists" in CI - PyPI does not allow overwriting a rele…
"403 Forbidden ... invalid or non-existent authentication"Fix twine "HTTPError: 403 Forbidden ... Invalid or non-existent authentication information" in CI - PyPI reje…
"not allowed to publish" (Verdaccio)Fix Verdaccio "403 ... user is not allowed to publish this package" in CI - the authenticated user is not per…
Browsers & E2E
Puppeteer, Playwright, Cypress.
Cypress binary in CIInstall and cache the Cypress binary in CI: understand the separate binary download, cache ~/.cache/Cypress,…
Run Playwright in CIInstall Playwright browsers in CI: npx playwright install --with-deps pulls every browser plus the OS librari…
Installing geckodriver in CIInstall Firefox and geckodriver in CI for Selenium/WebDriver: match versions, add system libraries, run headl…
Installing Chromium in CIInstall headless Chromium in CI: add the shared libraries it needs, choose distro Chromium vs a managed downl…
Installing Playwright browsersInstall Playwright browser binaries in CI: use install --with-deps, cache by version, install only the browse…
Run Applitools in CIRun Applitools Eyes in CI: provide APPLITOOLS_API_KEY, set a stable batch ID for sharded jobs, render via the…
Run axe-core in CIRun axe-core in CI: it injects into a real browser via Playwright/Puppeteer, so install the browser, run head…
BrowserStack/Sauce in CIRun BrowserStack or Sauce Labs tests in CI: provide the username/access-key secrets, start the local tunnel f…
Run Chromatic in CIRun Chromatic in CI: build Storybook, run the chromatic action with a project token, fetch full git history f…
Run chromedriver in CIRun chromedriver in CI without SessionNotCreated errors: match the driver to the exact Chrome version using C…
Run CodeceptJS in CIRun CodeceptJS in CI: its helper decides the setup - Playwright needs browser install, WebDriver needs a driv…
Run Cypress in CIRun Cypress in CI: install the Linux libraries it needs, cache the Cypress binary, wait for the app to be rea…
Run Electron tests in CIRun Electron app tests in CI on Linux: launch under a virtual display with xvfb-run, install the GUI librarie…
Run headless Chrome in CIRun headless Chrome or Chromium in CI: install the GUI shared libraries, launch with --no-sandbox --disable-d…
Run headless Firefox in CIRun headless Firefox with geckodriver in CI: install Firefox and a compatible geckodriver, run with -headless…
Running Lighthouse in CIRun Lighthouse audits in CI with lhci: install Chrome, configure the autorun collect/assert flow, run headles…
Run Lighthouse CIRun Lighthouse CI in your pipeline: install Chrome and its libraries, pass --no-sandbox via chromeFlags, serv…
Run Edge in CIRun Microsoft Edge with Playwright in CI: install the Edge channel with --with-deps, target channel "msedge",…
Run Nightwatch in CIRun Nightwatch in CI: it needs a browser and a matching WebDriver (chromedriver/geckodriver) - install both,…
Run pa11y in CIRun pa11y accessibility tests in CI: it drives headless Chrome via Puppeteer, so add --no-sandbox and the Chr…
Running Percy in CIRun Percy visual tests in CI: install the CLI, set PERCY_TOKEN, wrap your test command with percy exec, and f…
Run Percy in CIRun Percy visual tests in CI: wrap your test command with percy exec, provide PERCY_TOKEN as a secret, and ha…
Run Playwright WebKit in CIRun Playwright WebKit in CI: install the webkit browser with its extra Linux libraries via --with-deps, and f…
Run Puppeteer in CIRun Puppeteer in CI without crashes: install the missing Chrome libraries, launch with --no-sandbox and --dis…
puppeteer-cluster in CIRun puppeteer-cluster in CI: it launches many Chrome instances, so add --no-sandbox, mount enough /dev/shm, c…
Run Selenium in CIRun Selenium WebDriver in CI: match the driver to the browser version, pass headless --no-sandbox options, an…
Selenium WebDriver in CIRun Selenium WebDriver in CI: provide a matching browser and driver, use Selenium Manager or a service contai…
Run TestCafe in CIRun TestCafe in CI: it drives system-installed browsers, so install Chrome/Chromium and run the headless :hea…
Run Storybook tests in CIRun the Storybook test-runner in CI: install Playwright browsers with --with-deps, build and serve Storybook…
Storybook test-runner in CIRun the Storybook test-runner in CI: serve a built Storybook, install Playwright browsers, wait for the serve…
Run WebdriverIO in CIRun WebdriverIO in CI: configure headless capabilities with --no-sandbox, let the driver services manage vers…
Installing WebKit in CIRun WebKit browser tests in CI via Playwright: install the WebKit build with its system deps, cache the binar…
Run Xvfb in CIUse Xvfb to give GUI apps a virtual display in CI: install xvfb, wrap commands with xvfb-run, set the screen…
Data, ML & DB
Prisma, TensorFlow, OpenCV, psycopg2.
"401 Unauthorized" from devpiFix pip 401 from a devpi private index in CI - the extra-index-url has no credentials or the devpi user token…
nbconvert in CIRun and convert Jupyter notebooks in CI with nbconvert: install a kernel, execute headlessly, handle Pandoc/T…
Pandas in CIRun Pandas in CI without source builds or OOM - keep the prebuilt wheel, pin a Python with wheels, and watch…
PyTorch in CIRun PyTorch in CI without pulling gigabytes of CUDA - install the CPU build from the PyTorch index, pin a sup…
TensorFlow in CIRun TensorFlow in CI without OOM or slow installs - use tensorflow-cpu, pin a supported Python (no Alpine), c…
Cartopy in CIInstall Cartopy in CI: keep the prebuilt wheel, or add libgeos-dev + libproj-dev + proj-data when building fr…
CatBoost in CIInstall CatBoost in CI: keep the large prebuilt wheel, pin a supported Python, avoid Alpine/musl source build…
Installing DuckDB in CIInstall the DuckDB Python package in CI: use prebuilt wheels, avoid Alpine source builds, cache pip, and fix…
DuckDB (Python) in CIInstall duckdb (Python) in CI: keep the prebuilt wheel that bundles the engine, avoid Alpine source builds, p…
ffmpeg-python in CIInstall ffmpeg-python in CI: the pip package is a thin wrapper, so the real fix is installing the ffmpeg bina…
Fiona in CIInstall Fiona in CI: modern wheels bundle GDAL, so keep the wheel - a source build needs a version-matched li…
GDAL in CIInstall GDAL in CI without "gdal-config not found" or version mismatch - install libgdal-dev first, then pin…
gensim in CIInstall gensim in CI without compiling its Cython/NumPy extensions - keep the prebuilt wheel, pin a Python wi…
GeoPandas in CIInstall GeoPandas in CI: modern wheels of its shapely/pyogrio/pyproj deps bundle GEOS/GDAL/PROJ, so keep the…
h5py in CIInstall h5py in CI without "HDF5 library not found" - keep the prebuilt wheel that bundles HDF5, or add libhd…
HF datasets in CIInstall Hugging Face datasets in CI: cache downloads with HF_DATASETS_CACHE, set HF_HUB_OFFLINE for tests, us…
diffusers in CIInstall Hugging Face diffusers in CI: install CPU torch, cache pipeline weights with HF_HOME, use a tiny test…
transformers in CIInstall Hugging Face transformers in CI: install a CPU torch backend, cache model downloads with HF_HOME, set…
librosa/soundfile in CIInstall librosa and soundfile in CI: soundfile needs the libsndfile system library, so add libsndfile1, plus…
lxml in CIInstall lxml in CI without compiling - prefer the prebuilt wheel, or add libxml2-dev + libxslt1-dev + zlib1g-…
Installing lxml in CIInstall lxml reliably in CI: use prebuilt wheels, add libxml2/libxslt dev libs for source builds, cache pip,…
MoviePy in CIInstall MoviePy in CI: it needs the ffmpeg binary for video and ImageMagick for text/captions - add both via…
Installing mysqlclient in CIInstall mysqlclient in CI: add the MySQL client dev libraries and compiler, connect to a MySQL service, and f…
mysqlclient in CIInstall mysqlclient in CI without "Cannot find mysql_config" - add default-libmysqlclient-dev + pkg-config +…
netCDF4 in CIInstall netCDF4 in CI: modern wheels bundle HDF5 and netCDF-C, so keep the wheel - a source build needs libne…
NumPy/SciPy in CIInstall NumPy and SciPy in CI without a 20-minute source build - keep the prebuilt wheels, avoid Alpine/musl,…
Installing NumPy in CIInstall NumPy reliably in CI: use prebuilt manylinux wheels, avoid slow source builds, pin the version, cache…
onnxruntime in CIInstall onnxruntime in CI: keep the prebuilt CPU wheel, do not pull the multi-GB GPU build on a CPU runner, a…
Installing OpenCV in CIInstall OpenCV in CI: use opencv-python-headless to avoid GUI libs, or add libgl1 for the full package, cache…
OpenCV in CIInstall opencv-python in CI without "ImportError: libGL.so.1" - use the prebuilt wheel and add the libgl1/lib…
Installing pandas in CIInstall pandas reliably in CI: use prebuilt wheels, keep NumPy ABI-compatible, add optional engine deps when…
Pillow in CIInstall Pillow in CI without compiling - keep the prebuilt wheel, or add libjpeg-dev + zlib1g-dev (and libfre…
Installing Pillow in CIInstall Pillow reliably in CI: use prebuilt wheels, add JPEG/zlib/freetype libs for a source build, cache pip…
Installing Polars in CIInstall Polars reliably in CI: use prebuilt wheels, pick the right CPU-feature variant for older hardware, ca…
Polars in CIInstall Polars in CI without a Rust compile - keep the prebuilt wheel, pick polars-lts-cpu for old/odd CPUs,…
psycopg2 in CIInstall psycopg2 in CI without "pg_config executable not found" - use psycopg2-binary, or add libpq-dev + pyt…
Installing psycopg2 in CIInstall psycopg2 in CI: use psycopg2-binary or add libpq-dev for a source build, connect to a Postgres servic…
pyarrow in CIInstall pyarrow in CI without compiling the Arrow C++ library - keep the prebuilt wheel, pin a Python with wh…
PyAudio in CIInstall PyAudio in CI: it compiles against PortAudio, so add portaudio19-dev + a compiler - and remember ther…
pydub in CIInstall pydub in CI: it is pure Python but shells out to ffmpeg/avconv for compressed audio - add the ffmpeg…
PyMuPDF in CIInstall PyMuPDF (fitz) in CI: keep the prebuilt wheel that bundles MuPDF, pin a supported Python, avoid Alpin…
PyTables in CIInstall PyTables (tables) in CI: keep the prebuilt wheel that bundles HDF5 and Blosc - a source build needs l…
cryptography in CIInstall the Python cryptography package in CI without a Rust/OpenSSL build - keep the prebuilt wheel, or add…
Using PyTorch in CIInstall PyTorch in CI: use the CPU index URL to skip CUDA wheels, pin versions, cache pip, and fix multi-GB d…
rasterio in CIInstall rasterio in CI: modern wheels bundle GDAL, so keep the wheel - a source build needs a version-matched…
Installing scikit-learn in CIInstall scikit-learn reliably in CI: use prebuilt wheels, keep NumPy/SciPy ABI-compatible, set OpenMP threads…
scikit-learn in CIInstall scikit-learn in CI without compiling Cython/OpenMP - keep the prebuilt wheel, pin a Python with wheel…
Installing SciPy in CIInstall SciPy reliably in CI: use manylinux wheels to skip the BLAS/LAPACK/Fortran build, pin compatible NumP…
sentence-transformers in CIInstall sentence-transformers in CI: install CPU torch, cache embedding-model downloads with HF_HOME, use a t…
Shapely in CIInstall Shapely in CI: modern wheels bundle GEOS, so keep the wheel - a source build needs libgeos-dev, and a…
spaCy in CIInstall spaCy in CI: keep the prebuilt wheel, then download the language model as a pinned pip dependency (no…
Using TensorFlow in CIInstall TensorFlow reliably in CI: use the CPU wheel, pin a Python it supports, silence GPU/CUDA warnings, ca…
Wand (ImageMagick) in CIInstall Wand in CI: the pip package needs ImageMagick’s MagickWand shared library - add libmagickwand-dev, an…
WeasyPrint in CIInstall WeasyPrint in CI: the pip package needs the Pango, Cairo, GDK-PixBuf, and HarfBuzz system libraries -…
XGBoost/LightGBM in CIInstall XGBoost and LightGBM in CI: keep the prebuilt wheels and add the OpenMP runtime (libgomp1) so import…
Using dbt in CIRun dbt in CI: install the right adapter, provide warehouse credentials via env, run deps/build, cache pip, a…
Using Great Expectations in CIRun Great Expectations in CI: install the right datasource extras, point at a test database, run checkpoints…
Installing matplotlib in CIRun matplotlib in CI without a display: use the Agg backend, install fonts for stable text, cache pip, and fi…
Prisma in CIRun Prisma in CI reliably - run prisma generate after install, set the right binaryTargets for the runner, pr…
Using PySpark in CIRun PySpark in CI: install a matching JDK, set JAVA_HOME, run a local Spark session, cache pip, and fix "JAVA…
wkhtmltopdf in CIRun wkhtmltopdf in CI: install the patched-Qt binary plus its shared libraries, run headless under Xvfb when…
"409 File already exists"Fix twine "HTTPError: 409 Conflict ... File already exists" against a private pypiserver in CI - the same ver…
"403 Forbidden" from twine uploadFix twine "HTTPError: 403 Forbidden" uploading to a private PyPI index in CI - the credentials are missing or…
Explore other topics
GitHub ActionsWorkflow, runner, and YAML errors - diagnosed and fixed.
Node.js & npmnpm, yarn, and pnpm failures in CI - solved.
DockerBuild, run, compose, and registry errors - explained.
Pythonpip, poetry, venv, and pytest failures - fixed.
Java & JVMMaven, Gradle, and JVM failures in CI - resolved.
GoGo build, module, and test failures - diagnosed.