Urgent.News

What's breaking now, across thousands of outlets.

Tech

CI/CD for Monorepos 2026: Build Only What Changed

TL;DR: A monorepo with naive CI rebuilds the world on every commit, so pipelines get slower exactly as the repo succeeds. The fix is affected-only delivery: detect what changed, expand through the dependency graph, build and test only that slice, lean on remote caching for the rest, and protect the main branch with required checks plus a merge queue. Start with path filters in GitHub Actions;…

Monorepos with naive CI rebuild the entire codebase on every commit, causing pipelines to slow down as the repository grows. The solution is affected-only delivery, which detects what has changed, expands through the dependency graph, and builds and tests only the affected slice. Remote caching is utilized for the rest, while the main branch is protected with required checks and a merge queue.

Start with path filters in GitHub Actions and graduate to a build tool like Nx, Turborepo, or Bazel when the graph becomes too complex for filters. The core idea is to implement four steps: detect changed files, map them to owning projects, expand through the dependency graph, and execute builds, tests, and deploys for the affected set only.

Path filters in GitHub Actions provide a starting point for many teams, but for deeper graph complexity, a build tool should own the graph, with caching being the second crucial step.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Honest talk: motivation is unreliable, so I stopped depending on it

Some days I'm excited to code. Some days I'd rather scroll. If my output depended on mood, I'd ship very little. This post is about building a routine that works on both kinds of day.

  • Motivation fluctuates and routines are more reliable for productivity
  • Define smallest task night before to minimize decision-making
  • Count non-zero work days to emphasize consistency over intensity

SMS OTP Resend in Node.js: Message IDs, Backoff, and Delivery Errors

Short answer: treat an OTP resend as a state transition on the original SMS message, not as a fresh “send again” button. Keep the message ID from the first send, call the resend operation with that…

  • Retain original message ID for SMS OTP resend in Node.js
  • Implement state transitions (pending, accepted, failed) based on response
  • Limit resend attempts to prevent uncontrolled code streams

A Thought Becomes a Phone Call: Neuralink Wires a Grok Agent Into the Brain

One-line summary: A man who has lived with ALS for seven years used a Neuralink implant to summon a Grok agent by mentally saying "Hey Neuralink," then placed a call to his wife using thought alone.

  • Kenneth, ALS patient, controls AI with thoughts via Neuralink
  • First successful thought-to-phone-call conversion demonstrated
  • Breakthrough raises ethical questions on neural privacy and rights

More from Saturday 31 October →