Opened 4 weeks ago

Last modified 3 weeks ago

#30928 merge_ready defect

macOS Travis Homebrew cache has expired, failing some builds

Reported by: teor Owned by: ahf
Priority: High Milestone:
Component: Core Tor/Chutney Version:
Severity: Major Keywords: 041-must, chutney-ci-fail
Cc: Actual Points: 0.25
Parent ID: Points: 0.25
Reviewer: Sponsor:

Description

The Homebrew cache in the Travis macOS image has expired (or desynced), failing our chutney and stem builds:

Tapped 0 formulae (172 files, 244.5KB)
Error: Your Homebrew is outdated. Please run `brew update`.
Error: Kernel.exit

https://travis-ci.org/torproject/stem/jobs/547493246#L87
https://travis-ci.org/torproject/chutney/jobs/548092876#L95

Our tor builds don't fail, but they aren't running shellcheck on macOS any more. That's probably ok.

Tapped 0 formulae (172 files, 244.5KB)
Error: Your Homebrew is outdated. Please run `brew update`.
Error: Kernel.exit

https://travis-ci.org/torproject/tor/jobs/547856188#L104

There should be a shellcheck here:

sfcgal 1.3.5
sqlite 3.24.0

https://travis-ci.org/torproject/tor/jobs/547856188#L182

There should be a result here:

if command -v shellcheck; then \
                find "." -name "*.sh" -not -path "./src/ext/*" -exec shellcheck {} +; \
	        if [ -d "./scripts/test" ]; then \
                        shellcheck ./scripts/test/cov-diff ./scripts/test/coverage; \
                fi; \
                if [ -e "./contrib/dirauth-tools/nagios-check-tor-authority-cert" ]; then \
                        shellcheck "./contrib/dirauth-tools/nagios-check-tor-authority-cert"; \
                fi; \
                if [ -e "./contrib/client-tools/torify" ]; then \
                        shellcheck "./contrib/client-tools/torify"; \
                fi; \
                if [ -d "./scripts/git" ]; then \
                        shellcheck ./scripts/git/*.git-hook; \
                fi; \
	fi

https://travis-ci.org/torproject/tor/jobs/547856188#L3149

We can fix this in a few different ways:

  1. make shellcheck optional in the chutney and stem Travis CI
    • it will run on Linux, but not macOS. That's ok.
  2. add the update: true key to our Travis macOS builds
  3. allow_failure on the chutney and stem macOS Travis jobs

Child Tickets

Change History (6)

comment:1 Changed 4 weeks ago by teor

Keywords: tor-ci-fail-sometimes removed
Owner: set to ahf
Status: newassigned

Assigning to ahf, because he's on CI this week.

ahf, I think we just need to replace shellcheck ... with if command -v shellcheck; then shellcheck ...; fi in the chutney and stem Travis.

nickm or I can review and merge the chutney PR, and atagar will review and merge the stem one.

comment:2 Changed 4 weeks ago by ahf

I've opened the following PR's:

For Stem (to force update Homebrew): https://github.com/torproject/stem/pull/18
For Chutney (to force update Homebrew AND check if Shellcheck is available): https://github.com/torproject/chutney/pull/35

Waiting with moving this to needs_review until I've seen the result of the CI.

comment:3 Changed 4 weeks ago by ahf

Status: assignedneeds_review

Moving to needs_review. Stem is failing, but I don't think that is related to my change?

comment:4 Changed 4 weeks ago by teor

Actual Points: 0.2
Component: Core TorCore Tor/Chutney
Keywords: stem-ci-fail removed
Points: 0.2
Status: needs_reviewneeds_revision
Type: taskdefect

I opened #30938 to merge the stem PR, it looks good.

We also need to skip tests/shellcheck-tests.sh in the chutney PR if shellcheck is not available.

comment:5 Changed 4 weeks ago by ahf

Actual Points: 0.20.25
Points: 0.20.25
Status: needs_revisionneeds_review

I think I have added the right guards around the shellcheck-tests.sh now. Thanks for review!

comment:6 Changed 3 weeks ago by teor

Status: needs_reviewmerge_ready

Looks good to me!

Note: See TracTickets for help on using tickets.