Skip to content

ci: exclude live integration tests from PR CI - #25367

Closed
sabnanikl-dev wants to merge 3 commits into
NousResearch:mainfrom
sabnanikl-dev:ci/pr29-exclude-live-tests
Closed

ci: exclude live integration tests from PR CI#25367
sabnanikl-dev wants to merge 3 commits into
NousResearch:mainfrom
sabnanikl-dev:ci/pr29-exclude-live-tests

Conversation

@sabnanikl-dev

Copy link
Copy Markdown

Summary

Follow-up to closed PR #29 and Codex review comment.

This adds the CI guard for live agent/API tests so the proposed PR test workflow does not run non-hermetic BatchRunner tests by default.

Changes

  • Excludes pytest integration marker from regular PR CI with pytest -m "not integration"
  • Registers the integration pytest marker in pyproject.toml
  • Marks tests/test_checkpoint_resumption.py as integration-only and skips it unless RUN_LIVE_AGENT_TESTS=1

Validation

  • Parsed .github/workflows/test.yml as YAML successfully
  • uv run ruff check tests/test_checkpoint_resumption.py
  • uv run ruff format --check tests/test_checkpoint_resumption.py
  • uv run pytest -m "not integration" tests/test_checkpoint_resumption.py -q returns exit 5 because all 3 tests are deselected, as expected for this targeted file
  • uv run pytest tests/test_checkpoint_resumption.py -q reports 3 skipped without live env opt-in

Notes

This branch is based on PR #29's feature/ci-cd-pipeline work plus the reviewer fix. PR #29 itself is closed and upstream branch push was denied for my account, so this is submitted from a fork branch.

0xbyt4 and others added 3 commits February 26, 2026 01:12
- Add lint.yml (ruff check + format + pyright)
- Add test.yml (pytest + coverage)
- Add nightly.yml (full tests + pip-audit)
- Add installation.yml (package install + import test)
- Configure ruff, pyright, pytest, coverage in pyproject.toml
- Add uv.lock for reproducible builds
- Update .gitignore for build/coverage artifacts
- Auto-format 113 files with ruff (import sorting + black-compatible style)
- Fix undefined variable in docker.py (effective_image -> image)
- Fix type reassignment in hermes_cli/config.py (value -> converted)
- Add Optional[SessionSource] annotation in gateway/platforms/base.py
- Add proc.stdout null guards in docker/local/singularity/ssh environments
- Add TYPE_CHECKING import for PatchResult in patch_parser.py
@sabnanikl-dev
sabnanikl-dev requested a review from a team May 14, 2026 02:25
@alt-glitch alt-glitch added type/test Test coverage or test infrastructure P3 Low — cosmetic, nice to have labels May 14, 2026
@austinpickett
austinpickett requested a review from Copilot May 19, 2026 12:18

@austinpickett austinpickett left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fix merge conflicts and use .github/PULL_REQUEST_TEMPLATE.md

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

@teknium1

Copy link
Copy Markdown
Contributor

This looks implemented on current main now.

Automated hermes-sweeper review evidence:

  • pyproject.toml:327 registers the integration pytest marker, and pyproject.toml:335 sets default pytest addopts to -m 'not integration'.
  • .github/workflows/tests.yml:84 runs the PR test job through scripts/run_tests_parallel.py, with comments at tests.yml:85-87 documenting that integration/ and e2e/ are excluded from normal discovery.
  • scripts/run_tests_parallel.py:55-72 defines the default skip set for integration, e2e, and docker; scripts/run_tests_parallel.py:711-713 keeps integration tests as an explicit opt-in via --include-integration.
  • tests/integration/test_checkpoint_resumption.py:21-22 already marks the checkpoint resumption suite with pytest.mark.integration, so it is excluded by both the marker filter and the CI discovery skip.

Thanks for the follow-up from #29. The specific CI guard requested here has landed on main, so this PR can be closed as already implemented.

@teknium1 teknium1 closed this Jun 12, 2026
@teknium1 teknium1 added the sweeper:implemented-on-main Sweeper: behavior already present on current main label Jun 12, 2026
@sabnanikl-dev
sabnanikl-dev deleted the ci/pr29-exclude-live-tests branch June 25, 2026 21:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low — cosmetic, nice to have sweeper:implemented-on-main Sweeper: behavior already present on current main type/test Test coverage or test infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants