Skip to content

Conversation

@JamesonRGrieve
Copy link
Owner

  • Refactored test-js-jest.yml to be a standalone reusable runner like test-py-pytest.yml with parallel workers support, cgroup-aware auto detection, collection error checking, and standardized outputs
  • Refactored test-js-mocha.yml similarly with parallel workers via --parallel --jobs flag, collection checking, and compatible outputs
  • Updated run-branch-test.yml to detect and run all three frameworks (pytest, Jest, Mocha) with proper regression analysis integration
  • Added aggregate-results job to combine regressions across frameworks
  • Unified notification handling for all detected test frameworks

claude and others added 6 commits December 22, 2025 19:20
- Refactored test-js-jest.yml to be a standalone reusable runner like
  test-py-pytest.yml with parallel workers support, cgroup-aware auto
  detection, collection error checking, and standardized outputs
- Refactored test-js-mocha.yml similarly with parallel workers via
  --parallel --jobs flag, collection checking, and compatible outputs
- Updated run-branch-test.yml to detect and run all three frameworks
  (pytest, Jest, Mocha) with proper regression analysis integration
- Added aggregate-results job to combine regressions across frameworks
- Unified notification handling for all detected test frameworks
- Add parallel_workers input with cgroup-aware auto-detection
- Add smart caching for target branch results with pending marker
  pattern to avoid duplicate test runs across concurrent PRs
- Add consistent outputs for regression analysis compatibility
- Default to 6 workers for multithreaded runners, 1 for singlethreaded

Co-authored-by: Claude <noreply@anthropic.com>
- Update action versions (checkout@v4.2.2, setup-python@v5.3.0)
- Add consistent inputs: ref, python-version, artifact_name, severity_level
- Rename target_branch_to_compare to target_branch for consistency
- Add submodules checkout and standardize checkout configuration
- Expand outputs: pr_issues_count, target_issues_count, new_issues_count,
  resolved_issues_count, has_regressions
- Add artifact retention-days (3) and if-no-files-found settings
- Improve regression detection with detailed issue reporting
- Add resolved issues tracking and notification
- Upload comparison artifacts for debugging

Co-authored-by: Claude <noreply@anthropic.com>
Resolves merge conflict by integrating:
- C++ test support from main (cmake, gtest, ctest)
- Jest/Mocha test support from this branch
- Unified aggregate-results job for all 4 frameworks
- Single notification job covering pytest, Jest, Mocha, and C++
- Create test-rs-cargo.yml: Reusable Rust test runner with:
  - Cargo test execution with JSON output parsing
  - Fallback to text output parsing for stable toolchain
  - Cgroup-aware worker auto-detection (matching pytest)
  - Compilation error detection before test run
  - Compatible artifact output format for regression analysis
  - Support for custom cargo test args and working directory

- Update run-branch-test.yml:
  - Add Cargo.toml detection in framework detection step
  - Add rust-version input parameter
  - Add parallel test-source-cargo and test-target-cargo jobs
  - Add compare-cargo job using existing regression-test.yml
  - Add cargo-specific Discord notification on regressions
  - Add has_regressions_cargo and regression_count_cargo outputs

Co-authored-by: Claude <noreply@anthropic.com>
Combines all test frameworks in run-branch-test.yml:
- pytest (Python)
- Jest (JavaScript)
- Mocha (JavaScript)
- Cargo (Rust) - from main
- C++ (CMake/GTest)

Unified aggregate-results and notification for all 5 frameworks.
@JamesonRGrieve JamesonRGrieve merged commit 96f5b64 into main Dec 23, 2025
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.

3 participants