GitHub Actions Secrets Not Available in Fork Pull Requests: How to Fix CI Access

github actions secrets fork pull request

GitHub Actions secrets are unavailable in fork pull requests, and your workflow fails silently on CI. Here’s why it happens and how to fix it without exposing credentials to untrusted fork code. The symptom: your GitHub Actions workflow passes on every branch push. A contributor opens a PR from their fork, and suddenly every step … Read more

Docker Compose depends_on Does Not Wait for the Database to Be Ready: How to Fix It

Docker Compose depends_on Does Not Wait for the Da

Docker Compose depends_on Does Not Wait for the Database to Be Ready: How to Fix It Your app boots, immediately tries to connect to the database, and crashes — even though you have depends_on in your docker-compose.yml. The database logs show it started, your web container logs show a connection refused error. Welcome to the … Read more

pnpm Workspace Package Not Resolving After Install: Fix Module Not Found in Monorepo

pnpm Workspace Package Not Resolving After Install

You run pnpm install in your monorepo. Everything installs cleanly. You start your dev server and immediately hit a wall: Error: Cannot find module ‘@mycompany/utils’ The package exists. You can see it in your packages/ directory. You can see it listed in the consuming package’s package.json. pnpm installed without errors. And yet the module doesn’t … Read more

Pydantic v2 model.dict() Removed: How to Migrate to .model_dump() and .model_dump_json()

The upgrade from Pydantic v1 to v2 breaks things silently. Not always at import time — often at runtime, when your API response has subtly different output, your cache key no longer matches, or your HMAC signature validation starts failing on every request. The root cause, in most cases, is that .dict() and .json() were … Read more

Vercel Environment Variable Undefined at Runtime Despite Being Set in Dashboard

process.env.MY_API_KEY is undefined in production. You checked the Vercel dashboard — the variable is definitely there. You redeployed. Still undefined. Here’s what was actually wrong: there are three completely separate reasons this happens, and they stack. This post walks through each one in the order you should check them, with the exact commands to confirm … Read more

nginx 502 Bad Gateway After Deploying Node.js: How to Fix Upstream Connect Error on a VPS

nginx 502 bad gateway nodejs vps

A 502 Bad Gateway from nginx almost always means the same thing: nginx is running fine, your request reached it, but nginx couldn’t get a valid response from the upstream server — in this case, your Node.js application. The connection between nginx and Node.js broke down somewhere. This error is distinct from a 503 (upstream … Read more