[tahoe-lafs-trac-stream] [Tahoe-LAFS] #3138: Run the test suite concurrency on CircleCI
Tahoe-LAFS
trac at tahoe-lafs.org
Mon Jul 1 14:57:32 UTC 2019
#3138: Run the test suite concurrency on CircleCI
------------------------------------+-----------------------
Reporter: exarkun | Owner: exarkun
Type: defect | Status: new
Priority: normal | Milestone: undecided
Component: dev-infrastructure | Version: n/a
Resolution: | Keywords:
Launchpad Bug: |
------------------------------------+-----------------------
Description changed by exarkun:
Old description:
> CircleCI provides runners with two vCPUs. If a single CircleCI job can
> split its work across two Python processes we can take better advantage
> of the runner configuration and hopefully get a much faster CI run.
>
> trial supports spreading test execution over multiple local processes
> with `--jobs`. We can already pass extra arguments to trial through tox
> thanks to #2894.
>
> There are some problems with coverage collection's interactions with
> `--jobs`. There is a Twisted ticket to deal with this,
> https://twistedmatrix.com/trac/ticket/9663, but there is also
> https://pypi.org/project/coverage_enable_subprocess/ which basically
> solves the problem externally.
>
> So, add coverage_enable_subprocess and `--jobs 2` to our CircleCI
> configuration and get a ~50% reduction in CircleCI runtime.
>
> See #2845 and #2894 for past ideas in this space. See for a Twisted
> ticket meant to support this effort.
New description:
CircleCI provides runners with two vCPUs. If a single CircleCI job can
split its work across two Python processes we can take better advantage of
the runner configuration and hopefully get a much faster CI run.
trial supports spreading test execution over multiple local processes with
`--jobs`. We can already pass extra arguments to trial through tox thanks
to #2894.
There are some problems with coverage collection's interactions with
`--jobs`. There is a Twisted ticket to deal with this,
https://twistedmatrix.com/trac/ticket/9663, but there is also
https://pypi.org/project/coverage_enable_subprocess/ which basically
solves the problem externally.
So, add coverage_enable_subprocess and `--jobs 2` to our CircleCI
configuration and get a ~50% reduction in CircleCI runtime.
--
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3138#comment:1>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list