Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - Deprecate travis CI #2165

Closed
wants to merge 5 commits into from
Closed

Conversation

lrettig
Copy link
Member

@lrettig lrettig commented Oct 22, 2020

Motivation

We recently added support for github actions (#2060). Right now we're running both GA and travis at the same time, and as a result we're seeing more timeouts in our tests than usual (see, e.g., #2164).

Changes

  • Turns off travis CI
  • Removes all references to travis in comments and docs
  • Tells bors to stop looking at travis status

Test Plan

N/A

To Do

Copy link
Contributor

@y0sher y0sher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@lrettig
Copy link
Member Author

lrettig commented Oct 24, 2020

I don't think GA has a 10 minute inactivity timeout like Travis does, so actually, these patches should probably be removed entirely. Going to try to get this merged sooner rather than later because nothing is merging correctly right now, but I'll make sure to open an issue to follow up on that too.

Copy link
Member

@noamnelke noamnelke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Funny about the "travis patch"... That solution actually didn't work... When tests are normally executed logs aren't printed unless a test fails. The solution ended up being running the app test separately from other tests with --verbose. This is actually good for other reasons as well: the test runs concurrently with the rest of the app tests, making the suite complete faster and we get real-time logs from this very long test, which is nice.

I approved the PR, my comments can be addressed later.

@@ -16,6 +16,7 @@
[![Go Report Card](https://goreportcard.com/badge/github.com/spacemeshos/go-spacemesh)](https://goreportcard.com/report/github.com/spacemeshos/go-spacemesh)
[![Bors enabled](https://bors.tech/images/badge_small.svg)](https://app.bors.tech/repositories/22421)
<a href="https://godoc.org/github.com/spacemeshos/go-spacemesh"><img src="https://img.shields.io/badge/godoc-LGTM-blue.svg"/></a>
[![CI](https://github.com/spacemeshos/go-spacemesh/workflows/CI/badge.svg)](https://github.com/spacemeshos/go-spacemesh/actions)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure we should add a "CI passing" badge (assuming this is what this line does). The way bors works is that the build on develop cannot possibly be broken (nothing that breaks develop gets merged).

Do you disagree, @lrettig ?

Copy link
Member Author

@lrettig lrettig Oct 25, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right, of course, but my thought was that, to the uninitiated observer who doesn't know what bors is, it's nice to see that we're using CI and that our CI build is passing :) It's sort of something I tend to look for when surfing projects and repositories!

What do you think we should do?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I initially removed the CI badge and replaced it with the bors badge, hoping that it would be a good replacement (it links to an explanation of what bors is). But having read that a "CI passing" badge is something you look for (this makes sense), I've re-evaluated my position and now I think we should keep it (even though it logically makes no sense).

I wish bors had a badge that statically says "Build passing | guaranteed by bors" or even just "BORS | passing" instead of "BORS | enabled"...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. Maybe we can change what the bors badge says 🤔

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is the image provided by bors:

https://bors.tech/images/badge_small.svg -> bors enabled

Of course we could create whatever image we want (badges are just images, sometimes the image served is selected based on status, but not in bors' case).

Comment on lines +2 to +6
"systemtest-latenodes",
"systemtest-blocks-add-node",
"systemtest-hare-mining",
"systemtest-sync-blocks",
"systemtest-genesis-p2p",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm still not liking this - can't we somehow say that all CI tests must pass without specifying them individually?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As I wrote earlier, I can't think of an easy way to do this. Based on the bors documentation and bors-ng/bors-ng#730, the bors.toml file needs a "List of commit statuses" that matches what GitHub displays as "Required statuses" (see below 👇). If we want the tests to all run in parallel, each needs to be an independent "job" (in the lingo of Workflow syntax for GitHub Actions) which means it'll get a separate line under "Required statuses."

I can only think of two ways to do this. 1. Hack bors itself, ideally so that it gets the list of "Required statuses" itself using the GitHub API, or 2. write a Makefile script that auto-generates bors.toml somehow, although as I indicated earlier it might still take some complicated finagling to get bors to read a dynamically-generated config file. I suggest that we leave this as a separate issue and a task for later - it would be a great, self-contained task for a community contribution.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Opened #2172 to follow up

@lrettig
Copy link
Member Author

lrettig commented Oct 25, 2020

bors merge

bors bot pushed a commit that referenced this pull request Oct 25, 2020
## Motivation
We recently added support for github actions (#2060). Right now we're running both GA and travis at the same time, and as a result we're seeing more timeouts in our tests than usual (see, e.g., #2164).

## Changes
- Turns off travis CI
- Removes all references to travis in comments and docs
- Tells bors to stop looking at travis status

## Test Plan
N/A

## To Do
- [ ] Open separate issue to remove "travis timeout" patches
@bors
Copy link

bors bot commented Oct 25, 2020

Build failed:

  • systemtest-blocks-add-node
  • systemtest-genesis-p2p
  • systemtest-hare-mining
  • systemtest-latenodes
  • systemtest-sync-blocks

@lrettig
Copy link
Member Author

lrettig commented Oct 25, 2020

bors merge

bors bot pushed a commit that referenced this pull request Oct 25, 2020
## Motivation
We recently added support for github actions (#2060). Right now we're running both GA and travis at the same time, and as a result we're seeing more timeouts in our tests than usual (see, e.g., #2164).

## Changes
- Turns off travis CI
- Removes all references to travis in comments and docs
- Tells bors to stop looking at travis status

## Test Plan
N/A

## To Do
- [ ] Open separate issue to remove "travis timeout" patches
@bors
Copy link

bors bot commented Oct 25, 2020

Pull request successfully merged into develop.

Build succeeded:

@bors bors bot changed the title Deprecate travis CI [Merged by Bors] - Deprecate travis CI Oct 25, 2020
@bors bors bot closed this Oct 25, 2020
@bors bors bot deleted the byebye-travis branch October 25, 2020 23:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants