Posts 406 entriesPage 1 of 41

Posts

DevOps

Two releases in four minutes: why release.yml fires twice

Why startaitools saw v1.33.31 and v1.33.32 land four minutes apart: the post+assets cadence is two pushes to master, so release.yml stamps each one.

Read
DevOps

Bash 2>/dev/null Hides stderr, Not the Exit Code

Bash 2>/dev/null hides the message but not the exit code. Under set -euo pipefail, the suppressed exit still aborts a substitution, killing first deploys.

Read
Technical Deep-Dive

Tag a Tested SHA, Not a Bot Commit

A bot push on a protected branch wedges a CI release in a tag-already-exists loop. Move the version bump into a PR and tag an already-CI-green SHA on main.

Read
Technical Deep-Dive

Move the deploy runner onto the tailnet, skip Tailscale OIDC

Move the GitHub Actions deploy runner onto the tailnet, skip the ephemeral Tailscale OIDC handshake. Add join-tailnet and send-revision toggles.

Read
DevOps

When a Third-Party CI Credential Expires, the Deploy Fallback Has to Already Live on the VPS

A VPS-resident deploy script plus a SHA-pin guard turns any third-party CI credential expiry into a one-line SSH recovery.

Read
DevOps

When git describe Traps Your CI Semver Bump, Look Up the Highest Existing Tag Instead

A bot's [skip ci] version-bump commit that was rejected by branch protection creates an annotated tag outside the branch's ancestry. git describe keeps returning the older reachable tag, the bump recomputes a version that was already tagged, and the release job fails with `tag already exists` on every push. Use `git tag --list 'v*' --sort=-v:refname | head -n1` (highest existing tag, not git describe) and the version stays monotonic forever.

Read
Technical Deep-Dive

When Your Documentation Evaluation Is Driving the Cleanup, Report Gap Answers by Rank Instead of Adding Them to the Scored Set

A self-improving retrieval evaluation should not grade its own homework. Report the rank of each gap-filler doc in retrieval (answerRank per gap) and leave the fixed scored question set untouched.

Read
DevOps

Coordinating a Product Launch Across Multiple Repos

The order of operations for a product launch across three repos and three releases: what each step prevents and what to check after the merge.

Read
Technical Deep-Dive

Verify Audit Evidence with a Signed Payload, Not by Format

When eight audit-evidence publishers each emit a different format, one canonical signed payload gives one verifier a tampering signal without erasing history.

Read
DevOps

SMTP 250 is not delivery: three receipts that fix transactional mail

SMTP 250 is not delivery. Three receipts fix transactional mail: a frozen ApprovedMessage, phase-classified outcomes (RFC 5321 §4.2.1), and reconciliation before any resend.

Read