Preserve CI pipeline failures #657

Merged
barrettruth merged 1 commit from fix/645-ci-pipeline-failures into main 2026-05-06 22:56:35 +00:00
Owner

Summary

  • Reworks GitLab checks/log shell builders so failing glab calls keep their stderr instead of being hidden by jq/tail pipelines.
  • Reworks Forgejo checks, run listing, and action-log shell builders to remove stderr redirection and empty-output fallbacks that hid failed tea api calls.
  • Adds backend command tests that execute the generated shell commands with failing fake CLIs.

Reproduction

Before coding, I loaded this checkout with system nvim via vim.pack + lz.n, put failing fake glab and tea binaries first in PATH, and executed the generated backend commands.

  • Before: GitLab checks exited nonzero with empty stderr; Forgejo run listing exited zero with empty stdout/stderr.
  • After: the same packed repro preserves the CLI stderr and exits nonzero in both cases.
Before After
GitLab checks: code=1, empty stderr. GitLab checks: code=1, authentication failed.
Forgejo run listing: code=0, empty output. Forgejo run listing: code=1, authentication failed.

Verification

  • just test spec/sources_spec.lua
  • just test
  • nix develop .#ci --command just ci

Closes #645

## Summary - Reworks GitLab checks/log shell builders so failing `glab` calls keep their stderr instead of being hidden by jq/tail pipelines. - Reworks Forgejo checks, run listing, and action-log shell builders to remove stderr redirection and empty-output fallbacks that hid failed `tea api` calls. - Adds backend command tests that execute the generated shell commands with failing fake CLIs. ## Reproduction Before coding, I loaded this checkout with system nvim via vim.pack + lz.n, put failing fake `glab` and `tea` binaries first in PATH, and executed the generated backend commands. - Before: GitLab checks exited nonzero with empty stderr; Forgejo run listing exited zero with empty stdout/stderr. - After: the same packed repro preserves the CLI stderr and exits nonzero in both cases. | Before | After | | --- | --- | | GitLab checks: `code=1`, empty stderr. | GitLab checks: `code=1`, `authentication failed`. | | Forgejo run listing: `code=0`, empty output. | Forgejo run listing: `code=1`, `authentication failed`. | ## Verification - `just test spec/sources_spec.lua` - `just test` - `nix develop .#ci --command just ci` Closes #645
Preserve CI pipeline failures
All checks were successful
quality / Format (pull_request) Successful in 16s
quality / Test (pull_request) Successful in 18s
quality / Lint (pull_request) Successful in 20s
9f6573724a
barrettruth deleted branch fix/645-ci-pipeline-failures 2026-05-06 22:56:35 +00:00
Sign in to join this conversation.
No description provided.