Get Chutney working for continuous integration. This will also help with Tor in general and so has broader benefits than just CI for pluggable transports.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
Please see the branches below. They add a new make target, "make test-network-forgiving" that tries to run test-network.sh a few times, and succeeds if it succeeds once. They add a builder to do this on travis.
Hi! Answered your questions on the tickets; please let me know which way you think I should proceed.
I think we should add new chutney-related code to the chutney repository: that's been our policy since 0.2.9. And in this particular case, we will need test-network-forgiving.sh to have useful CI for the chutney repository.
There's a longer explanation on the pull request.
I opened #29703 (moved) to backport some test-network.sh fixes from 0.3.0 to 0.2.9 so that we can reliably call chutney's test-network.sh from tor's test-network.sh.
It's also worth being aware of #29060 (moved): I think one of its commits may break tor's chutney CI on master.
I opened #29703 (moved) to backport some test-network.sh fixes from 0.3.0 to 0.2.9 so that we can reliably call chutney's test-network.sh from tor's test-network.sh.
Hmm, there's another option if you don't want to backport:
put test-network-forgiving.sh in 0.2.9, and call it from the 0.2.9 Makefile
delete test-network-forgiving.sh in 0.3.4 and later
implement a test-network-forgiving mode in chutney's test-network.sh, and call it from 0.3.4 and later Makefiles
This seems like the worst of both worlds: we'll be making changes in 0.2.9 and chutney if there are any bugs. Historically, we're not good at keeping tor and chutney in sync.
It's also worth being aware of #29060 (moved): I think one of its commits may break tor's chutney CI on master.
Previously we had "make check" launched whenever DISTCHECK was
false. Now we'd like to turn it off in a few other circumstances,
like running chutney. Maybe stem too?
Yes, let's turn off "make check" for stem.
The default network in chutney is bridges+hs-v2, but I discovered in #29729 (moved) that it is really unstable in chutney's CI. (Sometimes all the jobs work, and sometimes multiple jobs fail. I think it might be due to network or CPU load issues on machines.)
So let's change to a subset of the CI tests that work in chutney?
So for 0.2.9, let's use:
bridges-min
hs-v2-min
And for 0.3.4 and later, let's add:
hs-v3-min
Each test should only take 30-60 seconds, so I think it's worth running these 3 tests. (That's about 2 extra minutes per branch, or an 18 extra minutes for a full merge-forward from 0.2.9.)