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

ci: Update Go version to 1.8 #2550

Merged
merged 1 commit into from
Mar 31, 2017
Merged

ci: Update Go version to 1.8 #2550

merged 1 commit into from
Mar 31, 2017

Conversation

juliusv
Copy link
Member

@juliusv juliusv commented Mar 30, 2017

No description provided.

@grobie
Copy link
Member

grobie commented Mar 30, 2017

Actually, this is CI and not build, build is done by promu. Reading https://github.com/golang/go/milestone/53 right now.

@juliusv
Copy link
Member Author

juliusv commented Mar 30, 2017

You mean "build" in the PR / commit title? The CI does build and push though, too :) Well, I can rename it.

@juliusv juliusv force-pushed the update-go-version branch from 4859896 to a44aadf Compare March 30, 2017 22:29
@juliusv juliusv changed the title build: Update Go version to 1.8 ci: Update Go version to 1.8 Mar 30, 2017
Copy link
Member

@grobie grobie left a comment

Choose a reason for hiding this comment

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

Definitely 👍 to start testing with go1.8, I can't see much harm with that.

Reading the go1.8.1 milestone, I can't say for sure some the bugs won't affect us though ...

@juliusv
Copy link
Member Author

juliusv commented Mar 30, 2017

Reading the go1.8.1 milestone, I can't say for sure some the bugs won't affect us though ...

Yeah, hard to tell, and some of the problems reported in those issues seem to be older than 1.8 even (breaking commits from last year). I think it's worth the risk, as 1.8 might even be better overall in terms of bugs.

@juliusv juliusv merged commit 336c787 into master Mar 31, 2017
@juliusv juliusv deleted the update-go-version branch March 31, 2017 11:12
@AlekSi
Copy link
Contributor

AlekSi commented Mar 31, 2017

You can use 1.8.x to build with latest patch release without bumping version manually.

@juliusv
Copy link
Member Author

juliusv commented Mar 31, 2017

@AlekSi Interesting! I wonder if we want that. It would make it less explicit which version of Go we're building with.

@AlekSi
Copy link
Contributor

AlekSi commented Apr 3, 2017

go version command is explicitly invoked by Travis itself (example).
You can also add master Go version to build matrix. This will help Go team to identify problems in Go itself before release. You can also allow master build to fail.
I can make a PR if you are interested.

@juliusv
Copy link
Member Author

juliusv commented Apr 3, 2017

@AlekSi Yeah, for the Travis tests, that sounds ok. If we additionally add the master Go version, the Travis tests will run twice as long though, right?

The CircleCI one that builds the release images I would think we'd like to keep at a deterministic version that doesn't change without us doing anything.

@AlekSi
Copy link
Contributor

AlekSi commented Apr 3, 2017

If we additionally add the master Go version, the Travis tests will run twice as long though, right?

They will run in parallel.

@AlekSi
Copy link
Contributor

AlekSi commented Apr 3, 2017

Why you use both Travis and Circle CI?

@juliusv
Copy link
Member Author

juliusv commented Apr 3, 2017

@AlekSi I have no idea anymore, but there were surely some initial reasons :) Maybe @sdurrheimer knows the current reasoning...

@grobie
Copy link
Member

grobie commented Apr 3, 2017 via email

@grobie
Copy link
Member

grobie commented Apr 3, 2017 via email

@AlekSi
Copy link
Contributor

AlekSi commented Apr 3, 2017

It is possible to configure Travis to build master Prometheus against both 1.8.x and master (previously known as tip) Go and not change the whole status to Failed for that particular combination. Those two builds will run concurrently, there is no slowdown. And it will help to uncover bugs in Go.

@grobie
Copy link
Member

grobie commented Apr 3, 2017 via email

@AlekSi
Copy link
Contributor

AlekSi commented Apr 3, 2017

Yes, it's configurable and emails are enabled by default.
I will send a PR then.

@AlekSi
Copy link
Contributor

AlekSi commented Apr 4, 2017

Well, I tried it. Email is not sent if allow_failures job fails. See travis-ci/travis-ci#6773. What we can do:

  1. Do not test with master, change nothing. Go project will not benefit from periodic builds of large Go project with master version.
  2. Do test with master, check job fails by hands. Travis CI UI is not really suitable for this.
  3. Do test with master, setup custom webhook notifications. Does it worth it? I would say yes, but I'm not a maintainer.

WDYT?

@juliusv
Copy link
Member Author

juliusv commented Apr 4, 2017

@AlekSi Thanks for all the testing! Hm, since Prometheus's primary purpose is not to test new Go releases and this is looking more and more complicated, I would tend towards 1. With option 2, nobody would realistically ever look at the outcome. And maintaining an extra webhook for option 3 also seems unideal. But I don't feel strongly, if others have different opinions.

@grobie
Copy link
Member

grobie commented Apr 4, 2017 via email

@AlekSi
Copy link
Contributor

AlekSi commented Apr 4, 2017

See #2568.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants