Skip to content

ci: add integration test workflow and CI strategy docs#81

Open
cagataycali wants to merge 1 commit intostrands-labs:mainfrom
cagataycali:ci/integ-tests-workflow
Open

ci: add integration test workflow and CI strategy docs#81
cagataycali wants to merge 1 commit intostrands-labs:mainfrom
cagataycali:ci/integ-tests-workflow

Conversation

@cagataycali
Copy link
Copy Markdown
Member

Summary

Adds test-integ.yml workflow and docs/ci-strategy.md — addresses 3 of 4 tasks in #69.

Changes

.github/workflows/test-integ.yml (new)

Integration test workflow with three triggers:

Trigger When Use Case
Schedule Mondays 06:00 UTC Weekly regression detection
Manual dispatch On-demand Ad-hoc runs with configurable Python version/timeout
PR label run-integ-tests When label added to PR On-demand for PRs touching inference code

CPU gate job: Validates test collection and runs any non-GPU integration tests. All current integ tests are @pytest.mark.gpu, so this primarily catches import errors and fixture issues.

GPU job (commented): Scaffolded for self-hosted runner activation. Proven on NVIDIA Jetson AGX Thor and AWS g6e.4xlarge (L40S). Uncomment when runners are provisioned.

docs/ci-strategy.md (new)

Documents:

  • Testing tier definitions (unit / CPU integ / GPU integ)
  • Workflow triggers and runner requirements
  • Integration test suites and environment variables
  • Proven GPU hardware from cross-repo CI runs
  • Local run instructions

What this does NOT change

  • No modifications to existing files (zero conflict risk with other PRs)
  • No changes to pyproject.toml, test-lint.yml, or pr-and-push.yml
  • Build-tool agnostic — uses pip install + pytest directly

Issue #69 task status

  • Task 1: Set up GPU CI runner — requires self-hosted runner provisioning (maintainer decision)
  • Task 2: Create test-integ.yml workflow
  • Task 3: Add run-integ-tests label trigger
  • Task 4: Document CI strategy

Verification

  • YAML validated (pyyaml safe_load)
  • 263/263 unit tests pass (no regressions)
  • 26/26 integration tests collect successfully
  • pytest -m "not gpu" correctly deselects all GPU-marked tests

Closes #69 (tasks 2-4).


🤖 AI agent response. Strands Agents. Feedback welcome!

Adds test-integ.yml workflow with three triggers:
- Weekly schedule (Mondays 06:00 UTC) for regression detection
- Manual dispatch with configurable Python version and timeout
- PR label 'run-integ-tests' for on-demand integration testing

CPU gate job validates test collection and runs non-GPU tests.
GPU job is scaffolded (commented) for self-hosted runner activation.

Documents CI strategy in docs/ci-strategy.md:
- Testing tier definitions (unit / CPU integ / GPU integ)
- Environment variables for model overrides
- Local run instructions
- Proven GPU hardware from cross-repo CI runs

Closes strands-labs#69 (tasks 2-4; task 1 requires self-hosted runner provisioning)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

ci: enable running integ tests as part of CI

2 participants