Opened 2 years ago

Closed 2 years ago

#27738 closed enhancement (implemented)

Travis: use the homebrew addon to reliably install dependencies

Reported by: teor Owned by: teor
Priority: High Milestone: Tor: 0.3.5.x-final
Component: Core Tor/Tor Version:
Severity: Normal Keywords: 029-backport, 032-backport, 033-backport, 034-backport
Cc: Actual Points:
Parent ID: Points:
Reviewer: catalyst Sponsor:


Homebrew exits with an error if you try to install an outdated package, or upgrade a package that isn't installed:

Our original scripts were wrong, and now our new scripts are wrong in another way. (Oops!)

To avoid these issues, we should use the travis homebrew addon:

Child Tickets

Change History (6)

comment:1 Changed 2 years ago by teor

Status: assignedneeds_review
Type: defectenhancement

See my branches bug27738-029 and bug27738-032 on

bug27738-032 merges cleanly forward into 0.3.3, 0.3.4, and master.

The CI is here:

I also pushed the following branches, so I can compare build speeds and package versions without brew update:

  • before-bug27738-029
  • before-bug27738-032

macOS builds now finish in about half the time (8 min vs 15 min, and 7-10 min vs 13-17 min).

Here are the package version downgrades:

  • openssl 1.0.2o_2 rather than 1.0.2p
  • zstd 1.3.4 rather than 1.3.5
  • ccache 3.4.2 rather than 3.4.3
  • asciidoc and xmlto always get installed, rather than only being installed when $ASCIIDOC_OPTIONS is set

This change should also reduce the number of network accesses in our builds, making them more reliable.

I also made a travis docs pull request to document the Homebrew addon:

comment:2 Changed 2 years ago by dgoulet

Reviewer: catalyst

comment:3 Changed 2 years ago by nickm

Priority: MediumHigh

comment:4 Changed 2 years ago by catalyst

Pull requests that Travis is crunching on, mostly to double-check that things merge reasonably:

comment:5 Changed 2 years ago by catalyst

Status: needs_reviewmerge_ready

Looks good to me! I also confirm the speedup.

comment:6 Changed 2 years ago by nickm

Resolution: implemented
Status: merge_readyclosed

okay; merged those branches to their respective targets.

Note: See TracTickets for help on using tickets.