-
-
Notifications
You must be signed in to change notification settings - Fork 26
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
Run tests in parallel, one per framework #354
Conversation
Test Results 8 files + 4 333 suites - 79 2h 23m 19s ⏱️ - 22m 31s Results for commit 6094025. ± Comparison against base commit 15f8823. This pull request removes 1 and adds 106 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
Okay, now the tests are passing but the
I'll investigate why |
Looks like this might be running into dotnet/sdk#29742 where running |
Talked about this with Robin, the issue is that Chorus.Tests only run against net461, so when we say As for the |
Turns out we don't actually need the test filter to be different between Linux and Windows anymore, since we're skipping running net461 tests on Linux, and all the tests that needed the filter are net461 (and not likely to change since they use Windows Forms). So I chose to keep it simple and not have any filter differences (and just skip the SkipOnBuildServer tests everywhere). |
nice work, though it looks like the Build Windows installers job is now failing. Also it looks like no tests are actually running for net461, so I'm going to look into that |
Fixed in commit d5cb084. |
Now that tests run on three frameworks (net461, net6.0, net8.0), we can save a lot of build time by running each framework's tests in parallel.
If running with `--no-build`, then `dotnet test` complains about DLLs being invalid arguments, resulting in an exit code of 1 even if all tests passed. This then makes GHA think the build was a failure. The discussion in the dotnet SDK issue suggests removing `--no-build` as one possible workaround for this issue.
Otherwise we get errors about the dotnet restore not being done for the right framework.
Also, forgot to specify target framework on Windows; no wonder it was taking so much longer!
Since ChorusMerge runs on net461;net6.0;net8.0, the ChorusMerge tests should be run on all the same frameworks.
Also only run Chorus.Tests on net461, since it's not defined for net6.0 and net8.0.
Now that the installer job is not running in the same job matrix as the tests, we need to re-run the dotnet restore and build steps again.
d5cb084
to
1eaa017
Compare
@hahn-kev - Rebased on top of @jasonleenaylor - Please let us know if this causes any problems for the Chorus installer build. |
Everything that uses Chorus now runs on net8.0 or higher.
510cfd0
to
6094025
Compare
There's a chicken-and-egg issue now, which can only be solved by someone with admin rights on this repo (which I don't have): The Someone with admin access will need to check the checkbox to allow merging the PR before all the required checks have completed; I don't have admin access to the Chorus PR so I can't do it myself. |
Now that tests run on three frameworks (net461, net6.0, net8.0), we can
Since ChorusMerge runs on net461;net6.0;net8.0, the ChorusMerge tests
Also only run Chorus.Tests on net461, since it's not defined for net6.0
Now that the installer job is not running in the same job matrix as the
Everything that uses Chorus now runs on net8.0 or higher. Co-authored-by: Kevin Hahn [email protected] |
Now that tests run on three frameworks (net461, net6.0, net8.0), we can save a lot of build time by running each framework's tests in parallel.
This change is