feature/q0-min-ci #45

Merged
brent.edwards merged 14 commits from feature/q0-min-ci into master 2026-02-13 05:34:28 +00:00
Member
No description provided.
- Rewrite .forgejo/workflows/ci.yml to route all jobs through nox sessions
- Fix coverage_report nox session: serial behave mode replaces broken parallel
  mode (22% -> 97% accuracy), raise fail-under from 85% to 97%
- Pass posargs through format nox session for CI --check support
- Add 11 CI workflow validation scenarios (Behave) + Robot smoke test + ASV bench
- Add 108 new Behave scenarios covering 6 largest coverage gaps to reach 97%:
  yaml_template_engine, actor/config, actor/registry, message_router,
  context_analysis, context_service
- Update docs/development/ci-cd.md with nox-based CI docs and 97% threshold
- Restore implementation_plan.md verbose style, check off completed CI tasks

Verified: 1673 scenarios pass, 97% coverage, lint clean, typecheck clean
test(integration_tests-3.13): fix nox tests
Some checks failed
CI / lint (pull_request) Successful in 15s
CI / typecheck (pull_request) Successful in 28s
CI / security (pull_request) Successful in 18s
CI / quality (pull_request) Successful in 16s
CI / integration_tests (pull_request) Failing after 2m33s
CI / build (pull_request) Successful in 15s
CI / unit_tests (pull_request) Failing after 5m42s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Has been cancelled
e5b1b04ec6
`integration_tests-3.13` was failing; it is now passing.
ci(git-merge): Merging from master
Some checks failed
CI / lint (pull_request) Successful in 14s
CI / security (pull_request) Failing after 11s
CI / typecheck (pull_request) Successful in 26s
CI / quality (pull_request) Successful in 15s
CI / integration_tests (pull_request) Failing after 2m40s
CI / build (pull_request) Successful in 16s
CI / unit_tests (pull_request) Failing after 6m37s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Successful in 5m27s
3e3530de48
fix(ci): resolve unit_tests and integration_tests CI failures
Some checks failed
CI / lint (pull_request) Successful in 16s
CI / typecheck (pull_request) Successful in 27s
CI / security (pull_request) Failing after 15s
CI / quality (pull_request) Successful in 15s
CI / integration_tests (pull_request) Failing after 2m42s
CI / build (pull_request) Successful in 15s
CI / unit_tests (pull_request) Successful in 6m27s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Successful in 5m11s
321ab18a37
- Fix Rich Console line-wrapping breaking assertions in
  context_unit_tests_steps.py: collapse newlines before checking for
  filenames and overflow summaries (CI temp paths exceed 80 columns)
- Fix features.mocks import failure in database_integration.robot:
  replace hardcoded sys.path '/app' with portable ${CURDIR}/..
- Fix --load-context help text assertions in load_context_test.robot:
  merge stderr into stdout via stderr=STDOUT and remove duplicate test
- Add standalone dead_code nox session running vulture directly
- Rename security nox session to security_scan to match CI references
- Restore --exclude discovery to integration_tests nox session (lost
  during merge conflict resolution)
fix(ci): resolve security_scan and integration_tests CI failures
Some checks failed
CI / lint (pull_request) Successful in 15s
CI / typecheck (pull_request) Successful in 28s
CI / security (pull_request) Successful in 20s
CI / quality (pull_request) Successful in 16s
CI / integration_tests (pull_request) Failing after 3m46s
CI / build (pull_request) Successful in 15s
CI / unit_tests (pull_request) Successful in 6m26s
CI / docker (pull_request) Successful in 8s
CI / coverage (pull_request) Successful in 5m12s
25e6f95eb9
- security_scan: create build/ directory before bandit writes its JSON
  report (fails on fresh CI checkout where directory does not exist)

- integration_tests: cap pabot parallelism to 2 processes and explicitly
  propagate venv bin/ to PATH, preventing FileNotFoundError for the
  robot binary under CI resource constraints

- integration_tests: add env:NO_COLOR=1 to load_context_test.robot help
  text assertions so Rich ANSI escape codes do not break substring
  matching on CI

- integration_tests: tag initial_next_command_test as slow (requires
  OPENAI_API_KEY for LLM agent invocation, unavailable on CI)
fix(ci): replace pabot with robot for reliable CI execution
Some checks failed
CI / lint (pull_request) Successful in 15s
CI / typecheck (pull_request) Successful in 26s
CI / security (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 15s
CI / integration_tests (pull_request) Failing after 6m22s
CI / build (pull_request) Successful in 15s
CI / unit_tests (pull_request) Successful in 6m55s
CI / docker (pull_request) Successful in 8s
CI / coverage (pull_request) Successful in 5m6s
0059050836
- integration_tests: replace pabot with sequential robot execution to
  eliminate FileNotFoundError caused by subprocess/FD exhaustion in
  constrained CI containers (pabot spawns a robot subprocess per suite;
  after ~24 suites the container cannot execve new processes)

- integration_tests: add resource debug output (open FD count, ulimit
  values) to help diagnose future CI container issues

- integration_tests: remove _pabot_parallel_args (no longer needed);
  slow_integration_tests session still available for parallel runs

- load_context_test: add env:TERM=dumb alongside NO_COLOR=1 to disable
  all Rich terminal styling (NO_COLOR only disables color, not bold/
  reset ANSI codes that may split substrings)

- load_context_test: add repr() debug logging around the --load-context
  match to reveal any invisible characters on CI
fix(ci): restore venv PATH, use absolute resource paths, and add timeouts in robot tests
Some checks failed
CI / lint (pull_request) Successful in 15s
CI / typecheck (pull_request) Successful in 28s
CI / security (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 15s
CI / integration_tests (pull_request) Failing after 6m25s
CI / build (pull_request) Successful in 15s
CI / unit_tests (pull_request) Successful in 6m52s
CI / docker (pull_request) Successful in 9s
CI / coverage (pull_request) Successful in 5m5s
e8aa5ac268
- Restore session.env["PATH"] in integration_tests nox session to ensure
  Run Process uses venv Python instead of system Python
- Convert bare Resource references to ${CURDIR}/ absolute paths across
  30 robot files to fix CI resolution failures
- Add timeout=30s to all Run Process calls in rxpy_route_validation.robot
  to prevent hanging tests
- Tag 2 rxpy tests as slow (require running actors unavailable on CI)
- Fix LangGraph test to use correct config file (LANGGRAPH_CONFIG)
- All 204 tests pass (4 excluded: 2 slow + 2 discovery)
fix(ci): merge duplicate Settings blocks, inject venv Python, add CI debug
Some checks failed
CI / lint (pull_request) Successful in 16s
CI / typecheck (pull_request) Successful in 28s
CI / security (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 14s
CI / integration_tests (pull_request) Failing after 6m34s
CI / unit_tests (pull_request) Successful in 6m46s
CI / build (pull_request) Successful in 15s
CI / docker (pull_request) Successful in 8s
CI / coverage (pull_request) Successful in 5m8s
51a6e76e9e
Three fixes targeting CI integration_tests failures (18 failures on e8aa5ac):

1. Merge duplicate *** Settings *** blocks in 14 robot files into single
   blocks. Multiple Settings sections are non-standard RF practice and
   may cause resource import failures in certain Robot Framework versions
   or CI environments.

2. Replace bare 'python' with ${PYTHON} variable in all Run Process
   calls (14 files). Noxfile now passes --variable PYTHON:<venv-path>
   to robot so tests use the venv interpreter regardless of PATH. This
   fixes '/usr/local/bin/python: No module named cleveragents' on CI.

3. Add comprehensive CI debug output in noxfile.py: file existence
   checks for .resource files, PATH/Python resolution, fixture dir
   checks, and RF version. This will diagnose any remaining resource
   import issues.

Also: remove hardcoded '/app/src' sys.path.insert in
system_prompt_template_rendering.robot (not portable to CI), and
add trailing newline to common.resource.

All 204 tests pass locally (4 excluded: 2 slow, 2 discovery).
fix(ci): guard scientific_paper_basic cleanup when OpenAI key missing
All checks were successful
CI / lint (pull_request) Successful in 16s
CI / typecheck (pull_request) Successful in 28s
CI / security (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 15s
CI / unit_tests (pull_request) Successful in 6m38s
CI / integration_tests (pull_request) Successful in 6m42s
CI / build (pull_request) Successful in 16s
CI / docker (pull_request) Successful in 8s
CI / coverage (pull_request) Successful in 5m8s
6ffba3e2ba
- Avoid deleting the workspace when OPENAI_API_KEY is unset
  by guarding cleanup and initializing CONTEXT_DIR
- Prevents downstream Robot suites from losing .nox venv and
  resource files after the basic scientific paper suite is skipped
chore(ci): re-enable pabot, add discovery resource stub
All checks were successful
CI / lint (pull_request) Successful in 15s
CI / typecheck (pull_request) Successful in 26s
CI / security (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 16s
CI / integration_tests (pull_request) Successful in 4m0s
CI / build (pull_request) Successful in 16s
CI / unit_tests (pull_request) Successful in 6m44s
CI / docker (pull_request) Successful in 8s
CI / coverage (pull_request) Successful in 5m16s
da3d0dfd06
- Restore pabot-based integration_tests with conservative parallelism
  (<=2 processes by default) and support PABOT_PROCESSES/--processes
- Remove the temporary CI debug dump from noxfile.py
- Add robot/discovery_common.resource to silence non-fatal warning
- Document the change in implementation_plan.md
freemo approved these changes 2026-02-13 04:43:56 +00:00
Merge branch 'master' into feature/q0-min-ci
Some checks failed
CI / lint (pull_request) Failing after 13s
CI / typecheck (pull_request) Successful in 25s
CI / coverage (pull_request) Has been skipped
CI / security (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 15s
CI / integration_tests (pull_request) Successful in 4m5s
CI / build (pull_request) Successful in 16s
CI / unit_tests (pull_request) Failing after 7m41s
CI / docker (pull_request) Has been skipped
5da6de97ac
chore(ci): pin ruff version in nox and nightly workflow
Some checks failed
CI / lint (pull_request) Failing after 14s
CI / typecheck (pull_request) Successful in 28s
CI / coverage (pull_request) Has been skipped
CI / security (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 15s
CI / integration_tests (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
bb09434d5e
Ensures linting uses the same ruff version range in CI and nightly
jobs to avoid rule drift from latest releases.
chore(lint): fix ruff findings in coverage step files
Some checks failed
CI / lint (pull_request) Successful in 14s
CI / typecheck (pull_request) Successful in 27s
CI / security (pull_request) Successful in 22s
CI / quality (pull_request) Successful in 15s
CI / integration_tests (pull_request) Successful in 4m1s
CI / build (pull_request) Successful in 16s
CI / unit_tests (pull_request) Failing after 7m47s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Failing after 5m16s
434cad5d1a
- Normalize import ordering and remove unused imports
- Replace non-ASCII dashes in comments with ASCII hyphens
- Clean up unused assignments and use contextlib.suppress
- Adjust unused variable name in plan_cli_streaming steps
test: force unreadable agentsignore branch in coverage steps
All checks were successful
CI / lint (pull_request) Successful in 14s
CI / typecheck (pull_request) Successful in 28s
CI / security (pull_request) Successful in 22s
CI / quality (pull_request) Successful in 15s
CI / integration_tests (pull_request) Successful in 4m6s
CI / build (pull_request) Successful in 15s
CI / unit_tests (pull_request) Successful in 7m47s
CI / docker (pull_request) Successful in 39s
CI / coverage (pull_request) Successful in 5m21s
af67476b99
Simulate PermissionError on .agentsignore reads so the
_load_agentsignore exception path is exercised even when CI
runs as root.
brent.edwards deleted branch feature/q0-min-ci 2026-02-13 05:34:28 +00:00
freemo added this to the v3.0.0 milestone 2026-02-23 17:24:54 +00:00
Owner

Closes #213

Closes #213
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Blocks
Reference
cleveragents/cleveragents-core!45
No description provided.