Skip to content
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

Investigate concurrent testing #59

Open
cboden opened this issue Dec 10, 2021 · 1 comment
Open

Investigate concurrent testing #59

cboden opened this issue Dec 10, 2021 · 1 comment

Comments

@cboden
Copy link
Member

cboden commented Dec 10, 2021

With the Autobahn test suites now running on different ports for client/server we could investigate running them concurrently in GitHub Actions. This would reduce the number of jobs in half and possibly run the whole suite faster.

@mbabker
Copy link

mbabker commented Dec 12, 2021

I think you could split this into three separate jobs:

  • Autobahn Test Suite (Client) - The current sh tests/ab/run_ab_tests.sh step and then vendor/bin/phpunit tests/AbResultsTest.php for the "client" environment (or if the PHPUnit config is tweaked a bit, make this test a separate suite then it's a vendor/bin/phpunit --testsuite="Autobahn" type of command); in theory, this probably only needs to run on the latest supported PHP version (and maybe the oldest too if you want a build explicitly running with the lower dependencies for this one)
  • Autobahn Test Suite (Server) - Same as above, but the "server" environment instead
  • Unit Tests - The current vendor/bin/phpunit step, excluding the AbResultsTest; this one should have a run on every supported PHP version, and generally it's also a good idea to have a build in the matrix using Composer's --prefer-lowest option which helps validate the lower bound of the dependencies

It doesn't really speed a single build up all that much just because of how long it takes the Autobahn suites to run, but it would reduce the number of builds running those long test suites without sacrificing any code coverage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants