Commit Graph

241 Commits

Author SHA1 Message Date
Guillaume Ballet fa572cd297
crypto: signing builds with signify/minisign (#21798)
* internal/build: implement signify's signing func
* Add signify to the ci utility
* fix output file format
* Add unit test for signify
* holiman's + travis' feedback
* internal/build: verify signify's output
* crypto: move signify to common dir
* use go-minisign to verify binaries
* more holiman feedback
* crypto, ci: support minisign output
* only accept one-line trusted comments
* configurable untrusted comments
* code cleanup in tests
* revert to use ed25519 from the stdlib
* bug: fix for empty untrusted comments
* write timestamp as comment if trusted comment isn't present
* rename line checker to commentHasManyLines
* crypto: added signify fuzzer (#6)
* crypto: added signify fuzzer
* stuff
* crypto: updated signify fuzzer to fuzz comments
* crypto: repro signify crashes
* rebased fuzzer on build-signify branch
* hide fuzzer behind gofuzz build flag
* extract key data inside a single function
* don't treat \r as a newline
* travis: fix signing command line
* do not use an external binary in tests
* crypto: move signify to crypto/signify
* travis: fix formatting issue
* ci: fix linter build after package move

Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
2020-11-27 12:13:54 +01:00
Péter Szilágyi cc05b050df
params: release Geth v1.9.24 with Go 1.15.5 (#21842) 2020-11-12 21:10:15 +01:00
Felix Lange d49407427d
build: fix regressions with the -dlgo change (#21831)
This fixes cross-build and mobile framework failures.
It also disables the mac test builder because it was failing
all the time in hard to understand ways and we can't afford
it anymore under Travis CI's new pricing.
2020-11-11 22:08:22 +01:00
Felix Lange 27d93c1848
build: add -dlgo flag in ci.go (#21824)
This new flag downloads a known version of Go and builds with it. This
is meant for environments where we can't easily upgrade the installed Go
version.

* .travis.yml: remove install step for PR test builders

We added this step originally to avoid re-building everything
for every test. go test has become much smarter in recent go
releases, so we no longer need to install anything here.
2020-11-11 14:34:43 +01:00
Péter Szilágyi 1143dc6e29
build: stop building for Ubuntu Eoan, not supported any more 2020-11-09 17:43:54 +02:00
Péter Szilágyi 6cfe494276
build: stop verbose output to keep travis from overflowing 2020-11-05 11:52:35 +02:00
Marius van der Wijden 901471f733
build: keep geth-sources.jar build result for JavaDoc (#21596)
* ci: tooltips for javadoc for mobile app

* f space
2020-09-28 20:11:30 +02:00
Guillaume Ballet 066c75531d
build: remove wnode from the list of packages binaries (#21526) 2020-09-08 16:13:48 +02:00
Péter Szilágyi 15fdaf2005
travis, dockerfile, appveyor, build: bump to Go 1.15 2020-08-20 16:41:37 +03:00
Péter Szilágyi 32b078d418
build: drop disco, enable groovy on Ubuntu PPAs 2020-08-19 10:28:08 +03:00
Julian Y abf2d7d74f
build: use -trimpath flag when building executables (#21374)
* Disable symbol table and DWARF generation by default.
Trimpath if compiling with Go >= 1.13

* Set Go to minimum version 1.13. Revert debug symbol changes.
2020-07-29 13:48:03 +03:00
Felix Lange 997b55236e
build: fix GOBIN for gomobile commands (#21361) 2020-07-23 12:34:08 +02:00
Martin Holst Swende fa01117498
build/ci: handle split up listing (#21293) 2020-07-04 20:10:48 +02:00
Felix Lange 4873a9d3c3
build: upgrade to golangci lint v1.27.0 (#21127)
* build: upgrade to golangci-lint v1.27.0

* build: raise lint timeout to 3 minutes
2020-05-26 14:24:22 +03:00
ligi e29e4c2376
build: fix CLI params for windows LNK files (#21055)
* build: Fix CLI params for windows LNK files

closes #21054

* Remove parameters
2020-05-11 10:05:37 +03:00
Péter Szilágyi a52511e692
build: raise test timeout back to 10 mins (#21027) 2020-05-05 15:11:00 +03:00
Péter Szilágyi eb2fd823b2
travis, appveyor, build, Dockerfile: bump Go to 1.14.2 (#20913)
* travis, appveyor, build, Dockerfile: bump Go to 1.14.2

* travis, appveyor: force GO111MODULE=on for every build
2020-04-14 14:03:18 +03:00
Felix Lange c8e9a91672
build: upgrade to golangci-lint 1.24.0 (#20901)
* accounts/scwallet: remove unnecessary uses of fmt.Sprintf

* cmd/puppeth: remove unnecessary uses of fmt.Sprintf

* p2p/discv5: remove unnecessary use of fmt.Sprintf

* whisper/mailserver: remove unnecessary uses of fmt.Sprintf

* core: goimports -w tx_pool_test.go

* eth/downloader: goimports -w downloader_test.go

* build: upgrade to golangci-lint 1.24.0
2020-04-08 11:07:29 +03:00
Péter Szilágyi fef8c985bc
travis, appveyor, build: bump builder Go to 1.13.8 2020-02-17 13:13:24 +02:00
Guillaume Ballet 1ee754b056 build: upgrade golangci to 1.22.2 (#20566)
* build: upgrade golangci to 1.22.2

* .golangci.yml: don't fail on asset deadcode
2020-01-16 14:09:38 +02:00
Péter Szilágyi 9b32f592dc
travis, build: enable Ubuntu Focal and Go 1.13.6 on PPA 2020-01-16 13:28:32 +02:00
Felix Lange 3e97b04a3d build: put GOPATH in /tmp on launchpad (#20564)
* build: put GOPATH in /tmp on launchpad

* build: don't remove GOPATH from go tool environment
2020-01-16 13:03:41 +02:00
Felix Lange 8704e8a8fc build: fix makefile HOME reference (#20562) 2020-01-15 12:38:35 +02:00
Felix Lange 94e8418939 build: attempt to fix debian build failure without GOPATH (#20561) 2020-01-15 11:37:31 +02:00
Felix Lange feda78e052 build: remove env.sh (#20541)
* build: remove env.sh

This removes the dirty symlink-to-self hack we've had for years. The
script was added to enable building without GOPATH and did that job
reliably for all this time. We can remove the workaround because modern
Go supports building without GOPATH natively.

* Makefile: add GO111MODULE=on to environment
2020-01-14 14:13:14 +02:00
Péter Szilágyi 5b558ad936
build: skip go clean on PPA, messes with the module trick 2019-11-21 18:50:58 +02:00
Péter Szilágyi 475ae8bd93
build: pull in ci.go dependencies for the PPA builder 2019-11-21 16:14:31 +02:00
Péter Szilágyi 75e029db8b
build, travis: use ephemeral debsrc GOPATH to get mod deps 2019-11-20 14:57:33 +02:00
Péter Szilágyi a7dfaa0bda
build, internal/build: drop own file/folder copier 2019-11-20 14:42:35 +02:00
Péter Szilágyi b3d6304f1e
travis, build: aggregate and upload go mod dependencies for PPA 2019-11-20 14:42:33 +02:00
meowsbits 190fb8180a build: add test cmd flag -v for verbose logs (#20298)
Adds flags akin to -coverage flag enabling the test runner
to use go test's -v flag, signaling verbose test log output.
2019-11-18 15:48:20 +01:00
Felix Lange 689486449d build: use golangci-lint (#20295)
* build: use golangci-lint

This changes build/ci.go to download and run golangci-lint instead
of gometalinter.

* core/state: fix unnecessary conversion

* p2p/simulations: fix lock copying (found by go vet)

* signer/core: fix unnecessary conversions

* crypto/ecies: remove unused function cmpPublic

* core/rawdb: remove unused function print

* core/state: remove unused function xTestFuzzCutter

* core/vm: disable TestWriteExpectedValues in a different way

* core/forkid: remove unused function checksum

* les: remove unused type proofsData

* cmd/utils: remove unused functions prefixedNames, prefixFor

* crypto/bn256: run goimports

* p2p/nat: fix goimports lint issue

* cmd/clef: avoid using unkeyed struct fields

* les: cancel context in testRequest

* rlp: delete unreachable code

* core: gofmt

* internal/build: simplify DownloadFile for Go 1.11 compatibility

* build: remove go test --short flag

* .travis.yml: disable build cache

* whisper/whisperv6: fix ineffectual assignment in TestWhisperIdentityManagement

* .golangci.yml: enable goconst and ineffassign linters

* build: print message when there are no lint issues

* internal/build: refactor download a bit
2019-11-18 10:49:17 +02:00
Guillaume Ballet 49d1a032da build: gather info to investigate why builds fail on ARM (#20281) 2019-11-14 14:42:23 +01:00
Péter Szilágyi 734e00af9e
travis, build, internal: use own Go bundle for PPA builds (#20240)
* build: bump PPAs to Go 1.13 (via longsleep), keep Trusty on 1.11

* travis, build, vendor: use own Go bundle for PPA builds

* travis, build, internal, vendor: smarter Go bundler, own untar

* build: updated ci-notes with new Go bundling, only make, don't test
2019-11-05 15:32:42 +02:00
Martin Holst Swende 7f5f62aaa0 tests: update test suite for istanbul (#20082)
* update tests for istanbul

* tests: updated blockchaintests, see https://github.com/ethereum/tests/issues/637

* tests: update again, hopefully fixed this time

* tests: skip time consuming, run legacy tests

* tests: update again

* build: disable long-running tests on travis

* tests: fix formatting nits

* tests: I hate github's editor
2019-10-02 11:33:51 +03:00
Péter Szilágyi efe123759a
Revert "build: switch PPA from Gophers dep to manual download" (#20061) 2019-09-12 14:23:34 +03:00
Péter Szilágyi c02d5bc5a9
build: switch PPA from Gophers dep to manual download 2019-09-12 13:41:13 +03:00
Felix Lange 39b0b1a1a6
all: make unit tests work with Go 1.13 (#20053)
Most of these changes are related to the Go 1.13 changes to test binary
flag handling. 

* cmd/geth: make attach tests more reliable

This makes the test wait for the endpoint to come up by polling
it instead of waiting for two seconds.

* tests: fix test binary flags for Go 1.13

Calling flag.Parse during package initialization is prohibited
as of Go 1.13 and causes test failures. Call it in TestMain instead.

* crypto/ecies: remove useless -dump flag in tests

* p2p/simulations: fix test binary flags for Go 1.13

Calling flag.Parse during package initialization is prohibited
as of Go 1.13 and causes test failures. Call it in TestMain instead.

* build: remove workaround for ./... vendor matching

This workaround was necessary for Go 1.8. The Go 1.9 release changed
the expansion rules to exclude vendored packages.

* Makefile: use relative path for GOBIN

This makes the "Run ./build/bin/..." line look nicer.

* les: fix test binary flags for Go 1.13

Calling flag.Parse during package initialization is prohibited
as of Go 1.13 and causes test failures. Call it in TestMain instead.
2019-09-11 14:41:22 +02:00
Péter Szilágyi 4ef5e9746b
build: gomobile automaticall adds the ios tag, don't duplicate 2019-08-22 14:16:48 +03:00
Péter Szilágyi eea66ddbbd
build: deprecate Ubuntu Cosmic, start supporting Eoan 2019-08-13 14:04:03 +03:00
Péter Szilágyi b973eddd28
build: deduplicate same authors with different casing 2019-07-22 12:31:11 +03:00
Péter Szilágyi 364e485e51
build: update license exclusions, case insensitive author list 2019-07-22 12:16:51 +03:00
Rafael Matias 42b81f94ad swarm: code cleanup, move to ethersphere/swarm (#19661) 2019-06-04 16:35:36 +03:00
Nikita Kryuchkov 4cf8505d22 build: fix Launchpad typo (#19597) 2019-05-20 16:11:23 +03:00
Anton Evangelatov 8cce620311 build: disable swarm packages (#19585)
* build: disable swarm packages

* build: remove allCrossCompiledArchiveFiles; inline allToolsArchiveFiles

* build: get rid of some superfluous comments
2019-05-17 02:06:20 +03:00
C. Brown be4d74f8d2 cmd, internal/build, docker: advertise commit date in unstable build versions (#19522)
* add-date-to unstable

* fields-insteadof-split

* internal/build: support building with missing git

* docker: add git history back to support commit date in version

* internal/build: use PR commits hashes for PR builds
2019-05-08 16:44:28 +03:00
Martin Holst Swende e2d322b25a
build: add clef to alltools and deb 2019-03-04 12:02:58 +01:00
Péter Szilágyi 94eca08ad8
build: enable Ubuntu Disco Dingo PPA builds 2019-03-01 11:31:10 +02:00
Péter Szilágyi 696a65b016
build/deb: fix PPA env var setting 2019-03-01 10:50:21 +02:00
Péter Szilágyi 509ea3ef9b
build/deb: use custom cache for PPA builder 2019-02-28 16:34:37 +02:00
Péter Szilágyi b7e0dec6bd
travis, build: switch to NDK 19b, fix gomobile builds (#19171)
* travis, build: switch to NDK 19b, fix gomobile builds

* travis, build: move NDK into its final bundle location

* travis: disable Android build on PRs once again
2019-02-26 16:56:12 +02:00
Péter Szilágyi 647692fbfe
build: bump PPA builders to Go 1.11 2019-02-26 11:30:56 +02:00
Ferenc Szabo d9adcd3a27 travis.yml: add race detector job for Swarm (#19148) 2019-02-22 14:20:21 +01:00
Péter Szilágyi c0b9c763bb
build: explicitly force .xz compression (old debuild picks gzip) (#19118) 2019-02-18 12:12:26 +02:00
Felix Lange a8ddf7ad83 build: avoid dput and upload with sftp directly (#19067) 2019-02-14 17:10:09 +02:00
Felix Lange edf976ee8e
.travis.yml: fix upload destination (#19043) 2019-02-12 13:02:40 +01:00
Felix Lange 3de19c8b31 build: use SFTP for launchpad uploads (#19037)
* build: use sftp for launchpad uploads

* .travis.yml: configure sftp export

* build: update CI docs
2019-02-12 11:55:25 +02:00
Felix Lange e9daed189e
build: tweak debian source package build/upload options (#18962)
dput --passive should make repo pushes from Travis work again.
dput --no-upload-log works around an issue I had while uploading locally.

debuild -d says that debuild shouldn't check for build dependencies when
creating the source package. This option is needed to make builds work
in environments where the installed Go version doesn't match the
declared dependency in the source package.
2019-01-29 13:20:21 +01:00
Rick 57a90ad450 build: add LGPL license at update-license.go (#18377)
* add LGPL licence at update-licence.go

* add empty line
2019-01-03 10:09:04 +02:00
Felix Lange 72a076840b
travis, build: speed up CI runs (#17854)
* travis: exclude non-test jobs for PRs

We don't usually look at these builders and not starting them
removes ~15min of build time.

* build: don't run vet before tests

Recent versions of Go run vet during 'go test' and we have
a dedicated lint job.

* build: use -timeout 5m for tests

Tests sometimes hang on Travis. CI runs are aborted after 10min with no
output. Adding the timeout means we get to see the stack trace for
timeouts.
2018-10-08 16:37:06 +02:00
HarryWu 4d8c7248bd build: fix typo (#17773) 2018-09-28 20:05:46 +02:00
Péter Szilágyi b0d60721f1
build: revert launchpad PPAs to Go 1.10 2018-09-21 11:31:23 +03:00
Péter Szilágyi 5e32152c02
build/deb: upgrade launchpad PPA sources to Go 1.11 too 2018-09-21 00:33:00 +03:00
Samuel Marks 67c332e9b5
travis, Dockerfile, appveyor, build: bump to Go 1.11 2018-09-19 11:29:29 +03:00
Anton Evangelatov f44046a1c6 build: do not require `ethereum-swarm` deb when installing `ethereum` (#17425) 2018-08-17 11:33:39 +03:00
Anton Evangelatov 46d4721519 build: explicitly name all packages to be cross-compiled (#17288) 2018-07-31 16:34:54 +03:00
Anton Evangelatov a5d5609e38 build: rename swarm deb package to ethereum-swarm; change swarm deb version from 1.8.x to 0.3.x (#16988)
* build: add support for different package and binary names

* build: bump up copyright date

* build: change default PackageName to empty string

* build, internal, swarm: enhance build/release process

* build: hack ethereum-swarm as a "depends" in deb package

* build/ci: remove redundant variables

* build, cmd, mobile, params, swarm: remove VERSION file; rename Version to VersionMeta;

* internal: remove VERSION() method which reads VERSION file

* build: fix VersionFilePath to Version

* Makefile: remove clean_go_build_cache.sh until it works

* Makefile: revert removal of clean_go_build_cache.sh
2018-07-30 11:56:40 +03:00
Péter Szilágyi 93c0f1715d
Merge pull request #17245 from karalabe/azure-deps-fixups
internal, vendor: update Azure blobstore API
2018-07-26 19:59:46 +03:00
Péter Szilágyi feed8069a6
Merge pull request #17251 from karalabe/ppa-deprecate-artful
build: deprecated ubuntu artful, enable ubuntu cosmic
2018-07-26 13:34:38 +03:00
Péter Szilágyi ff22ec31b6
build: noop clean during travis debsrc assembly step 2018-07-26 13:26:53 +03:00
Péter Szilágyi 0598707129
build: deprecated ubuntu artful, enable ubuntu cosmic 2018-07-26 13:14:36 +03:00
Péter Szilágyi 8b1e14b7f8
build: fix bash->sh function declaration 2018-07-26 13:01:00 +03:00
Péter Szilágyi 6b232ce325
internal, vendor: update Azure blobstore API 2018-07-25 18:04:43 +03:00
Hyung-Kyu Hqueue Choi ae674a3660 Makefile: clean go build cache (#17079) 2018-07-24 02:11:51 +02:00
Felix Yan 65cebb7730
build: Fix a typo in ci.go 2018-07-15 14:13:11 +08:00
hackyminer 909e968ebb
build: make build/goimports.sh more potable 2018-06-26 22:04:27 +09:00
Elad 1836366ac1 all: library changes for swarm-network-rewrite (#16898)
This commit adds all changes needed for the merge of swarm-network-rewrite.
The changes:

- build: increase linter timeout
- contracts/ens: export ensNode
- log: add Output method and enable fractional seconds in format
- metrics: relax test timeout
- p2p: reduced some log levels, updates to simulation packages
- rpc: increased maxClientSubscriptionBuffer to 20000
2018-06-14 11:21:17 +02:00
ligi eab6e5a317 build: specify the key to use when invoking gpg:sign-and-deploy-file (#16696) 2018-05-09 01:13:53 +02:00
ligi 58c4e033f4
build: Add ldflags -s -w when building aar
Smaller size on mobile is always good.
Might also solve our maven central upload problem
2018-05-02 11:21:24 +02:00
thomasmodeneis ba1030b6b8 build: enable goimports and varcheck linters (#16446) 2018-04-18 00:53:50 +02:00
ligi 30deb6067f build: add -e and -X flags to get more information on #16433 (#16443) 2018-04-10 14:32:48 +03:00
Felix Lange b1917ac9a3 build: add GOBIN to PATH for gomobile (#16344)
* build: add GOBIN to PATH for gomobile

* build: install gobind alongside gomobile
2018-03-20 02:00:45 +09:00
Péter Szilágyi 1203c6a237
crypto/bn256: full switchover to cloudflare's code (#16301)
* crypto/bn256: full switchover to cloudflare's code

* crypto/bn256: only use cloudflare for optimized architectures

* crypto/bn256: upstream fallback for non-optimized code

* .travis, build: drop support for Go 1.8 (need type aliases)

* crypto/bn256/cloudflare: enable curve mul lattice optimization
2018-03-20 01:13:54 +09:00
Péter Szilágyi 669aba8e2c
travis, Dockerfile, appveyor, build: bump to Go 1.10 2018-03-08 16:34:26 +02:00
Péter Szilágyi 17b0e226d3
travis, build, consensus: drop support for Go 1.7 2018-02-27 18:25:56 +02:00
Felix Lange a5c0bbb4f4
all: update license information (#16089) 2018-02-14 13:49:11 +01:00
Péter Szilágyi 969474f60a
build: deprecate zesty, add bionic PPA 2018-02-11 19:07:11 +02:00
Péter Szilágyi 3e0113fff4 build: set CC through a command-line flag (#15784)
This avoids setting CC for the go run invocation, which fails on go1.10.
2018-01-02 11:40:56 +01:00
Péter Szilágyi 2fe07c203e build: fix version comparison for go1.10 and beyond (#15781) 2018-01-02 11:28:07 +01:00
Zach 3da1bf8ca1 all: use gometalinter.v2, fix new gosimple issues (#15650) 2017-12-12 19:05:47 +01:00
ferhat elmas 43dd8e62fc build: enable gosimple linter (#15593) 2017-12-01 13:04:06 +01:00
Zach 73067fd24f buld: enable goconst linter (#15566) 2017-11-30 11:22:26 +01:00
Zach 6bb61ee9ef build: improve ci.go synopsis (#15565) 2017-11-28 10:45:48 +01:00
Zoe Nolan cc3ca63dbf
build: fix typo in comment 2017-11-21 19:23:42 +00:00
ferhat elmas 86f6568f66 build: enable unconvert linter (#15456)
* build: enable unconvert linter

 - fixes #15453
 - update code base for failing cases

* cmd/puppeth: replace syscall.Stdin with os.Stdin.Fd() for unconvert linter
2017-11-10 19:06:45 +02:00
Péter Szilágyi d1eb4006e2
build: enable gofmt and misspell linters 2017-11-09 19:48:12 +02:00
Dan Melton d7f2462e8f build: add Travis job to lint Go code #15372 (#15416)
* build: [finishes #15372] implements generalized linter and travis job

* .travis, build: minor polishes, disable deadcode
2017-11-09 12:46:03 +02:00
Péter Szilágyi ba2201981a
build: start shipping Ubuntu Artful Aardvark binaries 2017-10-20 12:49:32 +03:00
Péter Szilágyi 504278e839 build: bump PPA builders to Go 1.9 (#15083) 2017-09-05 10:16:46 +02:00
Felix Lange f59a49d591 internal/build: add GoTool and document why it uses GOROOT 2017-08-07 16:08:50 +02:00