Opened 4 months ago

Last modified 9 days ago

#27912 needs_revision enhancement

Add travis CI for the Chutney repository

Reported by: nickm Owned by: teor
Priority: High Milestone:
Component: Core Tor/Chutney Version:
Severity: Normal Keywords:
Cc: teor Actual Points:
Parent ID: #20647 Points: 0.5
Reviewer: Sponsor:

Description


Child Tickets

TicketTypeStatusOwnerSummary
#16454defectclosedchutney's "tor does not support this option" is unclear
#24004defectclosedChutney should show tor logs when tor fails to launch
#24939defectclosedchutney should log warnings from tor-gencert and other startup processes
#27970defectclosedteorChutney's test-network.sh --debug has never worked
#28209taskassignedteorAdd single-onion-v2-ipv6-md to chutney, and use it in Tor's make test-network-all
#28228enhancementassignedteorIn Chutney's debug mode, dump all tor warning logs to stderr as soon as they appear

Change History (19)

comment:1 Changed 4 months ago by nickm

Priority: MediumHigh

comment:2 Changed 3 months ago by teor

This ticket involves two tasks:

  • add another stage to tor's travis config that runs chutney (eventually, tor's second stage could run RAM usage, performance, and other runtime tests)
  • add a travis config to chutney that installs whichever tor is available in the package manager, then runs a chutney verify. We should run chutney tests on python 2 and 3, and Linux and macOS

comment:3 Changed 3 months ago by teor

Component: Core Tor/TorCore Tor/Chutney
Parent ID: #20647

#20647 is a duplicate, let's use this ticket for the chutney changes

comment:4 Changed 3 months ago by nickm

Owner: set to catalyst
Points: 0.5
Status: newassigned

Taylor, could you try out the minimal version here? That is, just add a 'test-network' step and see if it works? If there are bugs, don't feel you need to chase them: you can just open tickets.

comment:5 in reply to:  2 Changed 3 months ago by catalyst

Replying to teor:

This ticket involves two tasks:

  • add another stage to tor's travis config that runs chutney (eventually, tor's second stage could run RAM usage, performance, and other runtime tests)

Stages and jobs on Travis don't share storage, so I think we'd have to find a way to persist stuff if we want to try this.

  • add a travis config to chutney that installs whichever tor is available in the package manager, then runs a chutney verify. We should run chutney tests on python 2 and 3, and Linux and macOS

Sounds good. At least on Debian OSes, the system tor package seems to start a tor daemon by default. I'm not sure we want this.

comment:6 Changed 3 months ago by catalyst

Status: assignednew

#28013 is for the tor repository parts of this work. Let's leave this ticket for the chutney repository parts.

comment:7 Changed 3 months ago by catalyst

Owner: catalyst deleted
Status: newassigned

comment:8 Changed 3 months ago by catalyst

Status: assignednew

comment:9 Changed 3 months ago by nickm

Milestone: Tor: 0.3.5.x-finalTor: 0.3.6.x-final

comment:10 Changed 3 months ago by teor

Summary: Add Chutney to travis-ci if possibleAdd travis CI for the Chutney repository

Make title clearer

comment:11 Changed 3 months ago by teor

Owner: set to teor
Status: newassigned

I have an experimental version in my chutney-travis branch at https://github.com/teor2345/chutney.git

It's still going through CI.

comment:12 Changed 3 months ago by teor

Status: assignedneeds_revision

comment:13 Changed 3 months ago by teor

I have a working travis config, and much better debugging:
https://github.com/torproject/chutney/pull/2

0.2.9, 0.3.3, and 0.3.4 fail less than 1% of the time.
Example failure on 0.2.9:
https://travis-ci.org/torproject/chutney/jobs/445982217

0.3.5 and 0.3.6 fail about 90% of the time, so I put them in allow_failures, and opened #28192 to track down the bug.

I want to copy the make test-network-all networks from each tor version into the travis config. Then I'll be done with this branch.

comment:14 Changed 3 months ago by teor

We can't fix 0.3.4 and earlier, so I want to run them twice (or however long it takes to get an acceptable error rate), and make the test pass if either succeeds.

comment:15 in reply to:  13 Changed 3 months ago by teor

Replying to teor:

...
I want to copy the make test-network-all networks from each tor version into the travis config. Then I'll be done with this branch.

Since this is chutney, I'll just run the networks from tor stable on stable, and any extra networks in master on nightly. That's enough.

Then I need to decide on a default network: either basic-min, or chutney's default bridges-etc-etc-etc.

Edit: I also want to split the debug and travis changes into separate branches for review.

Last edited 3 months ago by teor (previous) (diff)

comment:16 Changed 3 months ago by teor

Edit: I also want to split the debug and travis changes into separate branches for review.

I merged the debug branch to master, rebased the chutney-travis branch, and closed the relevant tickets.

comment:17 Changed 2 months ago by nickm

Milestone: Tor: 0.3.6.x-finalTor: 0.4.0.x-final

Tor 0.3.6.x has been renamed to 0.4.0.x.

comment:18 Changed 2 weeks ago by teor

Like #28922, we should think about copying the torproject key into the chutney repository, to reduce Travis network errors.

comment:19 Changed 9 days ago by teor

Milestone: Tor: 0.4.0.x-final
Note: See TracTickets for help on using tickets.