Work out which networks to run, and if they should have separate jobs.
We don't need to test all the networks, just the ones that test chutney features. In particular, we don't need a tor version vs chutney network matrix: that should go in the tor branch CI, not the chutney CI.
The default network should test as many of tor/chutney's features as possible. If this network breaks on a particular tor version, we look at that Tor version's CI to see which particular networks have broken.
Then we want a separate job for each separate feature:
a bridge network from "make test-network-all"
an onion service v2 and v3 network from "make test-network-all"
an IPv6 network from "make test-network-all"
We can add other networks as needed:
when we add new features to chutney, like PTs
if we break existing features without breaking chutney's CI
if we break tor's CI without breaking chutney's CI
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.
We can do all these networks on Linux.
We also need to do the offline network on macOS.
Here's the reasoning:
we want to find out if changes to chutney break an important feature
to get a minimal matrix, we want to check all plausible independent failures
so we only need to test features on multiple OSes / Tor versions / python versions if a chutney change could break the feature on one matrix alternative, but not the others
For example:
offline/online work differently enough on macOS and Linux that we need to test them on both
we'll already test v2 onion services on Tor's CI for the 0.2.9 branch, and v2 and v3 on all other Tor CI branches
all other features are essentially the same across OSes, Tor versions, and python versions
I'm leaving #28170 (closed) and #30067 (moved) as children, because we should be able to do them really quickly (a cut & paste job) once this ticket is reviewed.