• v0.1.158 68b1d9b1aa

    v0.1.158 Stable

    pipeline-bot released this 2026-07-13 15:13:22 +00:00 | 576 commits to main since this release

    Changed

    • Shared release-path bash lib — ff_main (audit Wave 3, Inc 1). New fixed-name ConfigMap
      pipeline-release-lib (kustomize configMapGenerator, disableNameSuffixHash) carrying
      templates/base/pipeline-release-lib.sh; pipeline-deploy + pipeline-deploy-flux replace their
      drifted inline ffpr() copies with a one-line shim over the lib, and pipeline-release-prepare
      replaces its inline PR+ff-merge+delete block with ff_main --attempts 1 --delete-head on-success.
      Declared behavior deltas from the inline copies: PR-reuse pins head AND base via the exact
      GET /pulls/{base}/{head} endpoint but trusts the number ONLY for an open unmerged PR (the
      endpoint has NO state filter and returns merged historical PRs — proven live on #710), with the
      old pipeline-deploy state=open jq list lookup kept as the stranded-open-PR self-heal; the merge
      POST verifies TLS via --cacert only (the old -k is gone); curl network failure counts as a
      retried attempt instead of killing the run; idempotent already-at-want skip is now default (a
      re-run rollback ffpr against an already-advanced trunk/main now succeeds instead of failing
      "could not open/find PR"); per-attempt retries are logged EPIPE-safe (deploy-flux trap '' PIPE
      convention); the dead sleep after the final failed attempt is gone; the post-merge want-guard
      (new for release-prepare) retries an EMPTY read ~3x but fails a non-empty wrong sha on the first
      read, and the head branch is reaped only AFTER the guard confirms the advance; --head/--base
      are charset-validated (refname+JSON/URL-safe) and release-prepare pre-validates the derived
      version; failure diagnostics are redacted.
      Guards: tests/check-release-lib.sh (offline behavioral unit tests of ff_main via stubbed curl;
      wired into check.sh + pipeline-validate) and tests/release-lib.test.js (caller/CM contract
      goldens; wired into the in-cluster guard list). Push-head materialize, --rounds, and the
      merge/squash escalation ladder land in later increments WITH their callers.

    Included changes (v0.1.157 -> v0.1.158)

    • a80aa9dc63cf refactor(release-lib): shared ff_main lib, first 3 callers (audit Wave 3, Inc 1)
    Downloads