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

migrate to go 1.12 and go modules #1485

Merged
merged 6 commits into from
Jun 12, 2019
Merged

migrate to go 1.12 and go modules #1485

merged 6 commits into from
Jun 12, 2019

Conversation

adambabik
Copy link
Contributor

@adambabik adambabik commented Jun 9, 2019

This problem surfaced when we wanted to upgrade https://github.com/status-im/migrate to v4. Because dep does not work well with go modules and migrate v4 does support go modules syntax, it is currently not possible to have both work. Check out golang/dep#1963 and golang/dep#1962.

In this PR, Go is upgraded to 1.12 and dependencies are migrated from dep to go modules.

@status-github-bot
Copy link

status-github-bot bot commented Jun 9, 2019

Pull Request Checklist

  • Have you updated the documentation, if impacted (e.g. docs.status.im)?

@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

@status-im-auto
Copy link
Member

status-im-auto commented Jun 9, 2019

Jenkins Builds

Click to see older builds (48)
Commit #️⃣ Finished (UTC) Duration Platform Result
ab2bf61 #1 2019-06-09 07:34:02 ~37 sec ios 📄 log
✔️ ab2bf61 #1 2019-06-09 07:34:32 ~1 min linux 📦 zip
✔️ ab2bf61 #1 2019-06-09 07:39:39 ~6 min android 📦 aar
c744f78 #2 2019-06-09 09:17:21 ~26 sec ios 📄 log
✔️ c744f78 #2 2019-06-09 09:17:27 ~32 sec linux 📦 zip
✔️ c744f78 #2 2019-06-09 09:22:14 ~5 min android 📦 aar
90f3001 #3 2019-06-09 09:27:57 ~23 sec ios 📄 log
✔️ 90f3001 #3 2019-06-09 09:29:29 ~1 min linux 📦 zip
✔️ 90f3001 #3 2019-06-09 09:32:54 ~5 min android 📦 aar
bff6d20 #4 2019-06-10 10:11:49 ~27 sec ios 📄 log
✔️ bff6d20 #4 2019-06-10 10:11:57 ~34 sec linux 📦 zip
✔️ bff6d20 #4 2019-06-10 10:16:40 ~5 min android 📦 aar
826f4cb #5 2019-06-10 12:37:28 ~27 sec ios 📄 log
✔️ 826f4cb #5 2019-06-10 12:37:34 ~32 sec linux 📦 zip
✔️ 826f4cb #5 2019-06-10 12:42:38 ~5 min android 📦 aar
830bf66 #6 2019-06-10 12:42:12 ~24 sec ios 📄 log
✔️ 830bf66 #6 2019-06-10 12:42:18 ~29 sec linux 📦 zip
✔️ 830bf66 #6 2019-06-10 12:48:20 ~5 min android 📦 aar
830bf66 #7 2019-06-11 05:25:08 ~19 sec ios 📄 log
830bf66 #8 2019-06-11 12:21:17 ~12 sec ios 📄 log
830bf66 #9 2019-06-11 12:23:31 ~6.2 sec ios 📄 log
e33e71a #7 2019-06-11 12:28:41 ~13 sec android 📄 log
e33e71a #7 2019-06-11 12:28:45 ~14 sec linux 📄 log
✔️ e33e71a #10 2019-06-11 12:32:19 ~3 min ios 📦 zip
e3f8daa #11 2019-06-11 13:07:56 ~7 min ios 📄 log
e3f8daa #8 2019-06-11 13:15:45 ~15 min android 📄 log
e3f8daa #8 2019-06-11 13:16:02 ~15 min linux 📄 log
e3f8daa #14 2019-06-12 08:57:40 ~16 sec ios 📄 log
e3f8daa #11 2019-06-12 08:57:40 ~18 sec android 📄 log
e3f8daa #11 2019-06-12 08:57:50 ~26 sec linux 📄 log
6ca3281 #9 2019-06-11 15:38:54 ~14 sec linux 📄 log
6ca3281 #12 2019-06-11 15:38:58 ~19 sec ios 📄 log
6ca3281 #9 2019-06-11 15:40:41 ~2 min android 📄 log
e05cf82 #10 2019-06-11 15:45:01 ~14 sec android 📄 log
e05cf82 #10 2019-06-11 15:45:11 ~21 sec linux 📄 log
e05cf82 #13 2019-06-11 15:45:11 ~22 sec ios 📄 log
✔️ 020ec4c #12 2019-06-12 09:03:22 ~55 sec linux 📦 zip
✔️ 020ec4c #15 2019-06-12 09:04:49 ~2 min ios 📦 zip
✔️ 020ec4c #12 2019-06-12 09:09:19 ~6 min android 📦 aar
✔️ 465251a #13 2019-06-12 09:17:06 ~40 sec linux 📦 zip
✔️ 465251a #16 2019-06-12 09:19:02 ~2 min ios 📦 zip
✔️ 465251a #13 2019-06-12 09:22:56 ~6 min android 📦 aar
✔️ 5c290cf #14 2019-06-12 09:23:19 ~32 sec linux 📦 zip
✔️ 5c290cf #17 2019-06-12 09:25:36 ~2 min ios 📦 zip
✔️ 5c290cf #14 2019-06-12 09:29:24 ~6 min android 📦 aar
✔️ 8e3a25b #15 2019-06-12 09:41:24 ~32 sec linux 📦 zip
✔️ 8e3a25b #18 2019-06-12 09:43:19 ~2 min ios 📦 zip
✔️ 8e3a25b #15 2019-06-12 09:46:28 ~5 min android 📦 aar
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ bf20556 #16 2019-06-12 10:26:44 ~36 sec linux 📦 zip
✔️ bf20556 #19 2019-06-12 10:29:10 ~3 min ios 📦 zip
✔️ bf20556 #16 2019-06-12 10:31:43 ~5 min android 📦 aar
✔️ 9cede64 #17 2019-06-12 10:28:15 ~34 sec linux 📦 zip
✔️ 9cede64 #20 2019-06-12 10:32:02 ~2 min ios 📦 zip
✔️ 9cede64 #17 2019-06-12 10:37:20 ~5 min android 📦 aar

@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

1 similar comment
@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

@adambabik
Copy link
Contributor Author

iOS build fails with:

failed (/Users/jenkins/workspace/status-go_prs_ios_PR-1485/src/github.com/status-im/status-go/vendor/github.com/libp2p/go-reuseport/interface.go:33:20: ListenConfig not declared by package net

This suggests that net.ListenConfig is not declared and net means standard library. ListenConfig was added in Go 1.11 which suggest we have older Go version on servers building iOS binaries. @jakubgs can you please check that?

@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

@adambabik adambabik requested review from dshulyak and mandrigin and removed request for dshulyak June 9, 2019 10:02
@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

1 similar comment
@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

@adambabik
Copy link
Contributor Author

I confirmed that on macOS Jenkins executors we have Go in version 1.10 and that's why the iOS build does not pass.

@jakubgs
Copy link
Member

jakubgs commented Jun 11, 2019

I've migrated the CI hosts to 1.12: https://github.com/status-im/infra-ci/commit/4c9bcdce

 $ ansible ci-slave-linux -o -a 'go version'                                    
linux-01.do-ams3.ci.misc | CHANGED | rc=0 | (stdout) go version go1.12 linux/amd64
linux-05.do-ams3.ci.misc | CHANGED | rc=0 | (stdout) go version go1.12 linux/amd64
linux-04.do-ams3.ci.misc | CHANGED | rc=0 | (stdout) go version go1.12 linux/amd64
linux-03.do-ams3.ci.misc | CHANGED | rc=0 | (stdout) go version go1.12 linux/amd64
linux-02.do-ams3.ci.misc | CHANGED | rc=0 | (stdout) go version go1.12 linux/amd64

@jakubgs
Copy link
Member

jakubgs commented Jun 11, 2019

Apparently it was supposed to be 1.12.5 so I did that, and also made the role deploy on MacOS:
https://github.com/status-im/infra-ci/commit/11db232b5cbaf0c95cc2faeca05660402bb2d408
Looks good now:

 $ ansible ci-slave-linux,ci-slave-macos -o -a '/usr/local/bin/go version' 
linux-03.do-ams3.ci.misc | CHANGED | rc=0 | (stdout) go version go1.12.5 linux/amd64
linux-05.do-ams3.ci.misc | CHANGED | rc=0 | (stdout) go version go1.12.5 linux/amd64
linux-01.do-ams3.ci.misc | CHANGED | rc=0 | (stdout) go version go1.12.5 linux/amd64
linux-04.do-ams3.ci.misc | CHANGED | rc=0 | (stdout) go version go1.12.5 linux/amd64
linux-02.do-ams3.ci.misc | CHANGED | rc=0 | (stdout) go version go1.12.5 linux/amd64
macos-02.ms-eu-dublin.ci.misc | CHANGED | rc=0 | (stdout) go version go1.12.5 darwin/amd64
macos-03.ms-eu-dublin.ci.misc | CHANGED | rc=0 | (stdout) go version go1.12.5 darwin/amd64
macos-01.ms-eu-dublin.ci.misc | CHANGED | rc=0 | (stdout) go version go1.12.5 darwin/amd64

@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

@jakubgs
Copy link
Member

jakubgs commented Jun 11, 2019

Adjusted the golang role to remove old sources before installing new ones: https://github.com/status-im/infra-ci/commit/38d6c6f290de95f90cbfc5a955ad778f6bbebc43

@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

2 similar comments
@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

@jakubgs
Copy link
Member

jakubgs commented Jun 11, 2019

You can try cherry picking 04c4c84 for your branch.
Seems to work based on this manual build:
https://ci.status.im/job/status-go/job/manual/419/
Only xgo build fails, not sure whats that about.

Also e0eaca2 would probably be a good idea to update the docker image we use for building status-go image.

@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

5 similar comments
@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

@dependency-lockfile-snitch
Copy link

Gopkg.lock, vendor/github.com/ethereum/go-ethereum/dashboard/assets/yarn.lock, and vendor/gopkg.in/olebedev/go-duktape.v3/Gopkg.lock changed. Pinging @adambabik, @mandrigin, and @corpetty

@adambabik adambabik merged commit 5c61b9f into develop Jun 12, 2019
@adambabik adambabik deleted the migrate-go-modules branch June 12, 2019 11:12
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