Enable parallel regression test execution for Windows VS 2022#8856
Open
tautschnig wants to merge 1 commit intodiffblue:developfrom
Open
Enable parallel regression test execution for Windows VS 2022#8856tautschnig wants to merge 1 commit intodiffblue:developfrom
tautschnig wants to merge 1 commit intodiffblue:developfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Enable parallel execution of regression tests on Windows VS 2022 runners by adding a Make-only parallel test target (avoiding GNU Parallel) and switching the CI job to use it.
Changes:
- Add
test-parallel-jobstargets that schedule test directories via make’s jobserver (make -j). - Add per-directory phony targets (
parallel__<dir>) to support directory-level parallel execution. - Update the VS 2022 CI workflow to run regression tests with
-j${{ env.windows-vcpus }}using the new target.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| regression/Makefile | Adds test-parallel-jobs and parallel__* targets to run test directories in parallel via make jobserver. |
| jbmc/regression/Makefile | Adds analogous test-parallel-jobs target, with a Maven build step before running per-directory tests. |
| .github/workflows/pull-request-checks.yaml | Switches Windows regression step from sequential make test to parallel make -j... test-parallel-jobs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
099b89d to
8e21f04
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #8856 +/- ##
===========================================
- Coverage 80.02% 80.01% -0.01%
===========================================
Files 1700 1700
Lines 188345 188345
Branches 73 73
===========================================
- Hits 150716 150703 -13
- Misses 37629 37642 +13 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Add a 'test-parallel-jobs' Makefile target to both regression/Makefile and jbmc/regression/Makefile that uses make -j for parallelism instead of GNU Parallel (which is unavailable on Windows runners). The target creates a phony rule per test directory using the $(addprefix parallel__,$(DIRS)) pattern, allowing make's built-in job server to schedule directories in parallel. The VS 2022 CI job is updated to use this target with -j$windows-vcpus, replacing the sequential 'make test' invocation. This reduces test wall-clock time from 40 minutes down to 15 minutes. Co-authored-by: Kiro <kiro-agent@users.noreply.github.com>
8e21f04 to
d9c842e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add a 'test-parallel-jobs' Makefile target to both regression/Makefile and jbmc/regression/Makefile that uses make -j for parallelism instead of GNU Parallel (which is unavailable on Windows runners).
The target creates a phony rule per test directory using the
$(addprefix parallel__,$(DIRS))pattern, allowing make's built-in job server to schedule directories in parallel.The VS 2022 CI job is updated to use this target with -j$windows-vcpus, replacing the sequential 'make test' invocation. This reduces test wall-clock time from 40 minutes down to 15 minutes.