Skip to content

ci: get the fork workflows green - #16

Merged
wongk merged 7 commits into
mainfrom
fix/fork-ci-green
Sep 15, 2026
Merged

wongk merged 7 commits into
mainfrom
fix/fork-ci-green

Conversation

@wongk

@wongk wongk commented Sep 15, 2026

Copy link
Copy Markdown

Every PR on the fork is red, and main fails the same way. The failures come from the upstream public mirror, whose own CI has failed since v0.4.8. This PR makes the fork's workflows pass.

Disabled for the fork

Each disabled workflow gets a job-level guard, if: github.repository == 'lemoncrow-lab/lemoncrow'. I used a guard instead of deleting the files so upstream merges keep applying cleanly.

  • CLA Assistant: this is upstream's CLA, and the fork collects no signatures. It also referenced contributor-assistant/github-action@v2.6.2, a tag that doesn't exist (the action is archived). This check stays red on this PR even after the guard: pull_request_target runs the workflow from main, so the guard only takes effect once this is merged.
  • Release: a v* tag pushed here would publish a release, prune old ones, and point people at upstream's install URLs.

Fixed

  • Lint and format: applied ruff autofixes and black. The two U+2028 literals in test_redaction.py are now escapes. The getattr(msvcrt, ...) calls stay, with # noqa: B009, because mypy on POSIX has no stubs for those attributes.
  • Dependency audit: upgraded aiohttp, gitpython, pypdf and setuptools. The setuptools upgrade pulls torch 2.12 → 2.14, which is only in the semantic extra. cryptography and h2 can't be upgraded: mitmproxy (benchmarks only, no newer release) pins cryptography<=48.1 and h2==4.3.0. Those 4 advisory IDs are ignored, with an lc-debt note to remove the ignores once mitmproxy lifts its pins.
  • Test matrix: .python-version pins 3.13 and uv honours it, so the "3.11" leg actually ran 3.13 (and requires-python is >=3.12). The matrix is now 3.12 and 3.13, enforced through UV_PYTHON.
  • Bugs:
    • The native_search grep fallback, used when rg is absent (as on CI), never applied SKIP_DIRS, so matches inside .lemoncrow/ leaked into results.
    • In a bash bg batch, a command that exited before the first poll was reaped inline and lost its session id. The batch printed id=?, and that command's output was unreachable. It now prints N: done followed by the shared bash renderer output, keeping the exit code and any truncation, lossy-decode or log-file notice.
  • Tests:
    • Stale: zen is no longer auto-added next to a configured vendor, and relations is force-visible.
    • Time bomb: two provenance tests passed no commit time, so the 7-day window was anchored at the wall clock and the fixtures aged out on 2026-09-14.
    • Depended on the machine they ran on:
      • The reconcile throttle was seeded with 0.0, which counts as "recent" on a runner that has been up less than 10 minutes.
      • agent list saw the project's own lemoncode console script as the only host.
      • The wizard tests assumed claude and codex were installed.
      • The installer test assumed lemoncrow was already installed.
    • Private docs: 3 doc tests read files that exist only in upstream's private docs tree. They now skip when the file is absent.
    • Flaky on CI:
      • Two bg-batch tests used commands that could exit before the first poll.
      • Interactive-session tests asserted on a send's output without the documented drain send. I reproduced this deterministically by forcing the quiescence window to 0.
      • A regex-timeout test allowed only 2x its budget and overshot to 2.01x on a loaded runner. Unbounded, that pattern takes hours, so the tolerance is now 10x.

Not addressed

  • On macOS, 9 tests fail locally on untouched main as well: AF_UNIX path too long, spawn vs forkserver, and the installed lemoncrow version. They pass on Linux CI.

wongk and others added 7 commits September 15, 2026 11:32
Guard CLA and Release to upstream, fix lint, bump audited deps, run a real 3.12/3.13 matrix, and fix the stale, time-bombed and environment-dependent tests plus the grep-fallback skip-dir bug.

Co-Authored-By: lemoncrow <302591943+lemoncrow-agent[bot]@users.noreply.github.com>
LemonCrow-Session: s1
…rst poll

It was reaped inline and lost its session_id, so the batch printed id=? and its output was unreachable.

Co-Authored-By: lemoncrow <302591943+lemoncrow-agent[bot]@users.noreply.github.com>
LemonCrow-Session: s1
Co-Authored-By: lemoncrow <302591943+lemoncrow-agent[bot]@users.noreply.github.com>
LemonCrow-Session: s1
Co-Authored-By: lemoncrow <302591943+lemoncrow-agent[bot]@users.noreply.github.com>
LemonCrow-Session: s1
Co-Authored-By: lemoncrow <302591943+lemoncrow-agent[bot]@users.noreply.github.com>
LemonCrow-Session: s1
…room

Co-Authored-By: lemoncrow <302591943+lemoncrow-agent[bot]@users.noreply.github.com>
LemonCrow-Session: s1
…erer

Keeps its exit code and any truncation, lossy-decode or log-file notice. Addresses review finding bhb_f0.

Co-Authored-By: Claude <noreply@anthropic.com>

Co-Authored-By: lemoncrow <302591943+lemoncrow-agent[bot]@users.noreply.github.com>
LemonCrow-Session: 32dfdf39-a5fb-4712-819e-abb6d60092fb
LemonCrow-Model: claude-opus-5[1m]
@wongk
wongk merged commit 0cbb4c8 into main Sep 15, 2026
8 of 9 checks passed
@wongk
wongk deleted the fix/fork-ci-green branch September 15, 2026 17:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant