Skip to content

Conversation

maflcko
Copy link
Member

@maflcko maflcko commented Jun 18, 2019

Travis stopped working for no apparent reason and no way to fix, so remove it. Tests are still run on appveyor and developers can run tests locally with make check && ./test/functional/test_runner.py.

Fixes #16148 (Travis timeouts)

@laanwj
Copy link
Member

laanwj commented Jun 18, 2019

Drastic.

I'd prefer to have a replacement for Travis first, and not rely on Appveyor only. The drawback of local testing is that it only covers one platform, generally.

On the other hand, if Travis has become useless then this makes sense, I'm sure false positives consume a lot of developer time.

@practicalswift
Copy link
Contributor

practicalswift commented Jun 18, 2019

Concept NACK

Doing this as suggested is a very risky move: we will lose automated testing under ASan, TSan, UBSan and Clang thread-safety analyser.

This should not be rushed.

@practicalswift
Copy link
Contributor

Until we have a proper Travis replacement in place: why don't we just pay Travis to get this resolved?

Paid working Travis must be strictly better than this rushed "no Travis" alternative, no?

@fanquake
Copy link
Member

why don't we just pay Travis to get this resolved?

We already pay Travis as far as I’m aware.

@practicalswift
Copy link
Contributor

We already pay Travis as far as I’m aware.

No we don't :-)

See #16148 (comment).

@laanwj
Copy link
Member

laanwj commented Jun 18, 2019

I don't think it's as easy as "simply pay travis".
There might be other CI hosters more open to paid service for open source projects, but for Travis this has always been difficult (and this has been discussed for literally years).

@maflcko
Copy link
Member Author

maflcko commented Jun 18, 2019

We used to pay them, but they nudged us about a renewal. And in light of it being useless, I don't see why we should purchase parallel jobs again.

Hi Marco,

My name is Sara and I am your new Renewals Representative for Travis-CI. Our record indicates that your subscription for 15 build plan expired on April 4, 2019

If this is an over-sight, please let me know and I will send you a quote to reactive your subscription. Or if you have decide to not renew your subscription, I would appreciate if you could give me a short feedback on your experience with Travis-CI and the features you would like to see in Travis-CI in future.

I look forward to hearing from you soon.

Thank you and have a great day.

@practicalswift
Copy link
Contributor

We used to pay them, but they nudged us about a renewal. And in light of it being useless, I don't see why we should purchase parallel jobs again.

I would like to pay until we have a proper Travis replacement in place. I find it very important that we don't lose automated sanitiser testing for all new code entering the repo.

Where shall I send money and how much? Perhaps it would be easiest to pay it one year in advance to minimise administrative overhead. Feel free to mail me the details.

@maflcko
Copy link
Member Author

maflcko commented Jun 18, 2019

@practicalswift Travis is not running because the caching is not working. Throwing money at them won't magically fix that.

I have a ticket with them Travis CI: [8383] - Caching issues on travis infrastructure. You are welcome to contact support as well or try to fix the caching issue in some way. Though, if we can't fix it there is no point in either keeping travis or paying them.

We absolutely need a working cache to build depends and then build Bitcoin Core based on those depends to mimick our release binaries that are also built with depends. Without a cache, compile times are not manageable.

@maflcko
Copy link
Member Author

maflcko commented Jun 18, 2019

I am going to purge all caches again and re-run some builds, but honestly I am not expecting anything to change.

@jonasschnelli
Copy link
Contributor

Instead of completely removing, would it make sense to reduce Travis to only build against system libraries (remove the depends builds)? Then eventually add the dependency builds through semaphore2 with the restriction of missing public view access to the build log for now.

@maflcko
Copy link
Member Author

maflcko commented Jun 18, 2019

@jonasschnelli Yeah, that would be an option, but then we'd maintain three ci solutions. Not sure if that scales well.

@maflcko
Copy link
Member Author

maflcko commented Jun 18, 2019

Deleting all caches and rerunning some builds didn't fix anything. Also, the travis output of the cacher is completely useless:

https://travis-ci.org/bitcoin/bitcoin/jobs/545179929#L152

@jonasschnelli
Copy link
Contributor

@MarcoFalke maintaining one additional CI during a time of transition (or uncertainty) is probably okay.

Would implementing our own cacher be an option (tar, upload to a custom filespace)?

@DrahtBot
Copy link
Contributor

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #16161 (util: Fix compilation errors in support/lockedpool.cpp by jkczyz)
  • #15993 (net: Drop support of the insecure miniUPnPc versions by hebasto)
  • #15584 (build: disable BIP70 support by default by fanquake)
  • #15134 (tests: Switch one of the Travis jobs to an unsigned char environment (-funsigned-char) by practicalswift)
  • #15112 (build: Optionally enable -Wzero-as-null-pointer-constant by Empact)
  • #14920 (Build: enable -Wdocumentation via isystem by Empact)
  • #14505 (test: Add linter to make sure single parameter constructors are marked explicit by practicalswift)
  • #13728 (lint: Run the CI lint stage on mac by Empact)
  • #12134 (Build previous releases and run functional tests by Sjors)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@luke-jr
Copy link
Member

luke-jr commented Jun 18, 2019

I also tried to solve caching with Travis before our paid service expired, and their support staff were useless.

No reason to keep Travis enabled when it isn't doing anything useful. Sure, it'd be great to have *San tests running automatically, but right now they don't seem to be.

@practicalswift
Copy link
Contributor

practicalswift commented Jun 19, 2019

Is it just me... or is Travis feeling faster than ever before since today/yesterday? :-)

@maflcko
Copy link
Member Author

maflcko commented Jun 19, 2019

Ok, closing until we found a replacement.

@maflcko maflcko closed this Jun 19, 2019
@maflcko maflcko deleted the 1906-byeTravis branch June 19, 2019 15:13
@practicalswift
Copy link
Contributor

@MarcoFalke Can you describe what happened yesterday?

Did we start paying? Did Travis put the correct engineer on the case? Or both? :-)

I'm trying to understand why it is suddenly super quick and if the current swiftness can be assumed to be permanent or not.

@maflcko
Copy link
Member Author

maflcko commented Jun 19, 2019

@practicalswift Nothing sped up. It is back to normal.

See the reply here: #16148 (comment)

@practicalswift
Copy link
Contributor

practicalswift commented Jun 19, 2019

@MarcoFalke Ah, so Travis pushed a fix and everything else remained constant. Does Travis work as we want it to now? In other words: should we see the "Travis situation" as resolved?

I take it we are not paying?

@maflcko
Copy link
Member Author

maflcko commented Jun 19, 2019

I asked them for a quote for the next year, but they haven't replied yet.

@bitcoin bitcoin locked as resolved and limited conversation to collaborators Dec 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Travis timeouts

7 participants