Add parallel test processing#334
Merged
tylervick merged 1 commit intoXCTestHTMLReport:mainfrom Nov 13, 2023
Merged
Conversation
|
Kudos, SonarCloud Quality Gate passed!
|
tylervick
approved these changes
Oct 6, 2023
|
|
||
| operationQueue.waitUntilAllOperationsAreFinished() | ||
|
|
||
| testSummaries = summaries.sorted { $0.testName < $1.testName } |
Member
There was a problem hiding this comment.
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.
Member
|
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? |
Member
|
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. |
tothszabi
added a commit
to bitrise-io/XCTestHTMLReport
that referenced
this pull request
Oct 14, 2024
* 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>
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.








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
OperationQueuehas 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.