-
Notifications
You must be signed in to change notification settings - Fork 134
Add parallel test processing #334
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add parallel test processing #334
Conversation
Kudos, SonarCloud Quality Gate passed!
|
|
||
operationQueue.waitUntilAllOperationsAreFinished() | ||
|
||
testSummaries = summaries.sorted { $0.testName < $1.testName } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you know if this is significantly different from today's behavior? More just to determine if the next release should denote this as a breaking change.
Thank you for the contribution! Just one minor question |
@tothszabi Thanks for addressing this! I noticed this problem on my side as well. Any updates on getting this merged in? |
I'll look into getting this merged - CI actions are broken due to a regression on GitHub's macOS hosted runners after Ventura. I'll verify the change locally and merge this in later on today if all looks good. |
* Update ci.yaml with xcode 15, 14, 13 and macos-13, replace xcode-select action (XCTestHTMLReport#335) * Update ci.yaml with xcode 15, 14, 13 and macos-13, replace xcode-select action * remove xcode 13 from ci since macos-13 builders start with 14 * create iPhone 12 * Update ci.yml * Update test-artifacts.yml * Update ci.yml * Update test-artifacts.yml * Lazy load screenshots (XCTestHTMLReport#339) All screenshots are loaded immediately when opening the report even if they aren't in view. When opening a large report hosted remotely containing thousands of screenshots it can take several minutes to load. A quick fix is to enable native image lazy loading which is supported in most popular browsers today. * Update ci.yml (XCTestHTMLReport#340) * Update ci.yml * Create swift.yml (XCTestHTMLReport#341) * Create swift.yml * Update and rename swift.yml to test.yml * Update test.yml * Update test.yml * Update test.yml * Update test.yml * Update test.yml * Update test.yml * Update test.yml * fix tests ahead of xcode 15 change (XCTestHTMLReport#342) * remove xcpretty install step * Add parallel test processing (XCTestHTMLReport#334) * Update actions for xcode 15 (XCTestHTMLReport#343) * Update release.yml * Update codecov.yml (XCTestHTMLReport#344) * 2.4.1-pre.ca8c215 version bump (XCTestHTMLReport#345) Co-authored-by: tylervick <tylervick@users.noreply.github.com> * bump xcresultkit to use xcresulttool version 22007 (XCTestHTMLReport#346) * 2.4.1 * Update homebrew-bump.yml * Lazy load video and everything else (XCTestHTMLReport#350) Co-authored-by: Kevin Brotcke <brotckek@amazon.com> * Support mixed children test types in test suites (XCTestHTMLReport#349) * Support mixed children test types in test suites * Add verbose logging for test case and group initialization * Add XCTestHTMLReportSampleApp build folder to gitignore --------- Co-authored-by: Kevin Brotcke <brotckek@amazon.com> Co-authored-by: Tyler Vick <1395852+tylervick@users.noreply.github.com> * 2.4.2 Version Bump * 2.4.3-pre.4005e15 version bump (XCTestHTMLReport#352) Co-authored-by: tylervick <tylervick@users.noreply.github.com> * replace source of XCResultKit from tylervick/XCResultKit.git to davidahouse/XCResultKit.git (XCTestHTMLReport#359) * 2.5.1-pre.7bbc8db version bump (XCTestHTMLReport#360) Co-authored-by: tylervick <tylervick@users.noreply.github.com> * Bump actions/download-artifact from 2 to 4.1.7 in /.github/workflows (XCTestHTMLReport#363) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 4.1.7. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@v2...v4.1.7) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix skipped test cases that have no logs (XCTestHTMLReport#362) * Add .skipped status to JUnitReport and place the respective tags in the xml output * Allow testfolder locally * merge remote branch into local branch * clean-up * clean-up * remove tabs --------- Co-authored-by: Thomas Maier <thomas.maier@runtastic.com> Co-authored-by: tam <tarik.merl@runtastic.com> Co-authored-by: merlibird <tarikmerl93@gmail.com> * Disable original actions * Use empy on * Use manual triggers * empty to test ci action * try without xcode select * use another xcode select * use xcode version from matrix * fix param * add bitrise-release action * Disable ci for PRs for now * Update bitrise-release.yml * Update bitrise-release.yml * Update bitrise-release.yml * Fine tune bitrise-release action * Parallelise test processing * Remove log tab * Use lazy loading * Lazy load with javascript * Fix * Refactor screenshots * Refactor src editing * Add data-src in template * Copy src attribute only once * Fix typo * Fix paranthesis * Set 1.0.0 version for bitrise release * 1.0.1-pre.8512da8 version bump * Remove archiving from the release flow * Show failing test tab when there are failing tests * Fix lazy loading for tail screenshots and videos (#11) * Update Version.swift * 1.0.2-pre.c941897 version bump (#14) Co-authored-by: zsolt-vicze <zsolt-vicze@users.noreply.github.com> * Make src attributes html friendly (#15) * Release 1.0.2 (#16) * 1.0.3-pre.95c1ab9 version bump (#17) Co-authored-by: zsolt-vicze <zsolt-vicze@users.noreply.github.com> * Lazy load videos (#18) * Release 1.0.3 * 1.0.4-pre.579f509 version bump (#19) Co-authored-by: zsolt-vicze <zsolt-vicze@users.noreply.github.com> * Disable test job * Update Version --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Tyler Vick <1395852+tylervick@users.noreply.github.com> Co-authored-by: Kevin Brotcke <brotcke@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: tylervick <tylervick@users.noreply.github.com> Co-authored-by: Kevin Brotcke <brotckek@amazon.com> Co-authored-by: juanitos23 <jserrano3@snapchat.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Thoromis <Thoromis@users.noreply.github.com> Co-authored-by: Thomas Maier <thomas.maier@runtastic.com> Co-authored-by: tam <tarik.merl@runtastic.com> Co-authored-by: merlibird <tarikmerl93@gmail.com> Co-authored-by: zsolt-vicze <zsolt.vicze@bitrise.io> Co-authored-by: zsolt-vicze <104844424+zsolt-vicze@users.noreply.github.com> Co-authored-by: zsolt-vicze <zsolt-vicze@users.noreply.github.com>
Closes #333
This PR adds parallel test processing by utilising a simple
OperationQueue
.The concurrent operation count is set twice the time of the available CPU cores. As far as I know the
OperationQueue
has some internal max limits and so it is not too much of a problem if we set a higher value.Also the the final array has to be sorted because of the order will be random for every html generation because of the multithreading.