Commit Graph

296 Commits

Author SHA1 Message Date
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
Péter Szilágyi 524ca544b2
build: drop yakkety builds (launchpad end of life) 2017-08-07 11:12:44 +03:00
Felix Lange 225de7ca0a tests: update tests and implement general state tests (#14734)
Tests are now included as a submodule. This should make updating easier
and removes ~60MB of JSON data from the working copy.

State tests are replaced by General State Tests, which run the same test
with multiple fork configurations.

With the new test runner, consensus tests are run as subtests by walking
json files. Many hex issues have been fixed upstream since the last
update and most custom parsing code is replaced by existing JSON hex
types. Tests can now be marked as 'expected failures', ensuring that
fixes for those tests will trigger an update to test configuration. The
new test runner also supports parallel execution and the -short flag.
2017-07-11 13:49:14 +02:00
Addy Yeow cf611c50b9 build: fix devel golang detection on debian/ubuntu (#14711) 2017-06-27 09:11:41 +02:00
Felix Lange 069cb661c3 crypto/bn256: fix go vet false positive
Also add the package to the license tool ignore list.
2017-05-24 15:40:26 +02:00
Vlad 99127ff2e7 build: wnode added to the build configuration 2017-05-03 15:36:02 +02:00
Péter Szilágyi 6876e92f8d
Merge remote-tracking branch 'fjl/license-update-1.6' 2017-04-14 12:33:10 +03:00
Péter Szilágyi 15f32a8d57
build: disable misspell, upstream bug prevents builds 2017-04-14 12:24:01 +03:00
Felix Lange 0cc492f815 all: update license information 2017-04-14 10:29:00 +02:00
Péter Szilágyi cc5654cb59
build: bump launchpad builds to Go 1.8.1 2017-04-13 14:11:33 +03:00
Péter Szilágyi a0cd77e833 build: create deb source for Ubuntu Zesty (#14316) 2017-04-12 02:07:00 +02:00
Péter Szilágyi 706a1e552c cmd/puppeth: your Ethereum private network manager (#13854) 2017-04-11 01:25:53 +02:00
Péter Szilágyi c76ad94492 .travis, build: autodelete old unstable archives (#13867)
This commit adds a build step to travis to auto-delete unstable archives older than
14 days (our regular release schedule) from Azure via ci.go purge.

The commit also pulls in the latest Azure storage code, also switching over from
the old import path (github.com/Azure/azure-sdk-for-go) to the new split one
(github.com/Azure/azure-storage-go).
2017-04-06 12:53:33 +02:00
Felix Lange 1cf2ee4597 build: work around cgo linker issue on macOS 10.12.4 (#13849)
Fixes #3792 by stripping debug symbols.
2017-03-29 12:20:57 +02:00
Felix Lange df1fbe3c06 build: always run go vet
This ensures 'make test' finds all errors that remote CI would find.
Go 1.7 vet reports a false positive in package log, add a workaround.
2017-03-24 10:28:46 +01:00
Felix Lange e7911ad9ea build: unify vendor skipping logic
This fixes a recent bug where 'make geth' built everything instead of
just geth.
2017-03-23 15:50:05 +01:00
Zahoor Mohamed 11e7a712f4 swarm/api: support mounting manifests via FUSE (#3690) 2017-03-23 14:56:06 +01:00
Felix Lange c213fd1fd8 all: import "context" instead of "golang.org/x/net/context"
There is no need to depend on the old context package now that the
minimum Go version is 1.7. The move to "context" eliminates our weird
vendoring setup. Some vendored code still uses golang.org/x/net/context
and it is now vendored in the normal way.

This change triggered new vet checks around context.WithTimeout which
didn't fire with golang.org/x/net/context.
2017-03-22 20:49:15 +01:00
Felix Lange c6e6f1fec2 build: remove support for the GO_OPENCL environment variable
We don't use the opencl build tag anymore.
2017-03-22 16:00:21 +01:00
Felix Lange da7af44060 build: require Go >= 1.7
We have decided to bump the requirement to Go 1.7 because it enables
subtests and allows dropping backwards-compatibility code. This is in
line with Go's support policy. Go 1.6 and earlier no longer receive
security updates.
2017-03-22 16:00:16 +01:00
Péter Szilágyi 288700c4d8 build: add bootnode to Ubuntu PPAs too (#3766) 2017-03-09 11:02:43 +01:00
Péter Szilágyi 2b284e7366
build: fix xgo argument order when building from make 2017-03-03 12:18:44 +02:00
Péter Szilágyi 725c2646a0 Merge pull request #3735 from karalabe/bundle-bootnode
build: bundle the bootnode too into alltools
2017-03-02 16:05:23 +02:00
Péter Szilágyi 090699c0f6
build: bundle the bootnode too into alltools 2017-03-02 15:23:15 +02:00
Péter Szilágyi f972691eea
travis: support building mips32 and mips64 too 2017-03-02 11:43:06 +02:00
Péter Szilágyi d4fd06c3dc
all: blidly swap out glog to our log15, logs need rework 2017-02-23 12:16:44 +02:00
Péter Szilágyi e0fb4d1da9
build: work around CGO linker bug on pre-1.8 Go 2017-02-13 14:00:04 +02:00
Shintaro Kaneko 658bcbcbdc build: Fix tiny typo 2017-01-30 01:09:00 +09:00
Péter Szilágyi 7814a8e131 travis: Install Android NDK explicitly, removed from gomobile (#3593)
The Android NDK was recently removed from gomobile, leading to our Android
builds failing. Starting from https://go-review.googlesource.com/#/c/35173/ ,
gomobile requires a locally installed NDK. This PR ensures that travis installs
that too before running the build steps.
2017-01-20 10:33:58 +01:00
Péter Szilágyi 54fcab20e3
appveyor, build: fix review requests 2017-01-13 12:04:55 +02:00
Péter Szilágyi a2bc90d1d7
build: spellcheck individual packages (Windows path limits) 2017-01-13 11:22:24 +02:00
Péter Szilágyi e4181a7f1b
travis, appveyor, build: add source spell checking 2017-01-13 11:14:13 +02:00
Felix Lange 5eccc122e8 build, node: fix go vet nits 2017-01-09 16:12:54 +01:00
Péter Szilágyi 18c77744ff
all: fix spelling errors 2017-01-06 19:44:35 +02:00
Felix Lange 35a7dcb162 all: gofmt -w -s 2017-01-06 15:52:03 +01:00
Péter Szilágyi 9b135a9c20
build: finally settle on empty iOS ObjC package prefixes 2017-01-05 14:32:30 +02:00
Péter Szilágyi 49c6f1053c Merge pull request #3421 from ethersphere/s/swarm-cmd
cmd/swarm: one command  with subcommands
2016-12-14 12:26:20 +02:00
Péter Szilágyi 8941665896
build: Ubuntu wily was officially deprecated, drop support 2016-12-14 11:45:14 +02:00
zelig d7c398b638 build: add swarm command to binary packages, update README 2016-12-13 12:54:13 +01:00
bas-vk 4f9ccdd70f build: safe update of PATH on Windows (#3419)
NSIS has a default MAX_STR_LEN of 1024. If $ENV{PATH} is longer
the returned string is truncated to an empty string. Its then not
possible to distinguis between the variable not set or too long.
As a result the variable is set with the location where geth and/or
dev tools are installed. This may override any previous set values.
2016-12-11 00:01:57 +01:00
Péter Szilágyi 0fe35b907a mobile: iOS naming and API fixes for generators and Swift (#3408)
* build: modify the iOS namespace to iGeth (gomobile limitation)
* mobile: assign names to return types for ObjC wrapper
* mobile: use more expanded names for iOS/Swift API
2016-12-08 13:09:26 +01:00
Péter Szilágyi f81660b6db
build: use single CocoaPods package, pre-release dev builds 2016-11-28 13:09:43 +02:00
Viktor Trón e4bf004560 build/ci: add swarm related executables (bzzd, bzzup, bzzhash) to binary packages (#3354) 2016-11-28 11:25:19 +01:00
Péter Szilágyi 0f1cbfd3da
Makefile, build: do proper mobile builds, not cross builds 2016-11-25 12:51:10 +02:00
Péter Szilágyi e05d35e6e0 Merge pull request #3317 from fjl/build-unstable-simplify
build, internal/build: simplify unstable build checks
2016-11-23 12:24:28 +02:00
Péter Szilágyi 2b4c236773
build: remove hash metadata from cocoapod version 2016-11-23 10:49:25 +02:00
Péter Szilágyi a0e42aa4e2 build: mobile CI fixes (#3322)
* build: use metatags on cocoapods, not prerelease tags
* build: fix Maven and CocoaPods author email addresses
2016-11-22 17:35:49 +01:00
Felix Lange 8ed72a8470 build: simplify unstable build check
ci.go decides whether a build is unstable by looking at the branch and
tag. This causes issues when a GitHub release is created on the master
branch because the build is considered unstable (the CI environment
reports the branch as "master").

Fix this by looking at the tag only. Any tagged build is stable.
2016-11-18 19:55:19 +01:00
Péter Szilágyi f3228592f5 travis: dash of black magic to summon the cache daemon (#3288) 2016-11-17 16:15:17 +01:00
Felix Lange be2a264915 build: set GO15VENDOREXPERIMENT in env.sh
This should fix the 'make' build with Go 1.5.
2016-11-16 10:54:05 +01:00
Felix Lange 6663d0264e build: master is unstable 2016-11-15 14:11:27 +01:00
Felix Lange 8e704d9718 travis.yml: upload to the real PPA 2016-11-15 11:13:07 +01:00
Péter Szilágyi 2cb9738649
travis, build: further maven and gpg refinements 2016-11-15 10:25:51 +02:00
Péter Szilágyi dfd2c60509
travis, build: fix mobile build issues on travis 2016-11-15 09:49:00 +02:00
Péter Szilágyi 4c16c82500
travis, build: cocoapods build fixes and travis caches 2016-11-14 18:00:14 +02:00
Péter Szilágyi 322502b441
build: iOS XCode framework build and upload 2016-11-14 17:56:58 +02:00
Péter Szilágyi b7dfd333c5
.travis, build: Build step to push .aar to Maven Central 2016-11-14 17:56:58 +02:00
Felix Lange b8bd9a71c8 all: update license information 2016-11-09 02:51:34 +01:00
Felix Lange 8b1df1a259 build: fix remote path for archive uploads (#3243)
archiveUpload did not handle absolute paths correctly. Fix it by using
the basename and ensure that uploads can be tested using -n.
2016-11-08 23:46:46 +01:00
Péter Szilágyi 9bc97a5785 build: NSIS based Windows installer (#3240)
This commit adds support for creating Windows installers to ci.go
2016-11-08 22:55:39 +01:00
Péter Szilágyi 328f0dd631
build: fix missing .exe executable names on cross builds 2016-11-07 12:18:28 +02:00
Péter Szilágyi afe41de6b3 travis: build to all supported linux architectures (#3235) 2016-11-04 12:48:20 +01:00
Felix Lange ed2bc7fbe9 build, internal/build: misc improvements (#3229)
* travis.yml: don't create darwin/386 builds

* build: remove godep remains

* internal/build: improve archives

- enable compression for zip files
- don't write half-complete archives

* build: add -unstable to archive names
2016-11-03 14:44:16 +02:00
Péter Szilágyi 2f9f2cbb19
travis, build: enable 386 builds too for linux and osx 2016-11-03 10:32:58 +02:00
Péter Szilágyi 3b62c145f8
travis, build: implement uploading archives to azure 2016-11-03 10:32:53 +02:00
Péter Szilágyi 289b30715d Godeps, vendor: convert dependency management to trash (#3198)
This commit converts the dependency management from Godeps to the vendor
folder, also switching the tool from godep to trash. Since the upstream tool
lacks a few features proposed via a few PRs, until those PRs are merged in
(if), use github.com/karalabe/trash.

You can update dependencies via trash --update.

All dependencies have been updated to their latest version.

Parts of the build system are reworked to drop old notions of Godeps and
invocation of the go vet command so that it doesn't run against the vendor
folder, as that will just blow up during vetting.

The conversion drops OpenCL (and hence GPU mining support) from ethash and our
codebase. The short reasoning is that there's noone to maintain and having
opencl libs in our deps messes up builds as go install ./... tries to build
them, failing with unsatisfied link errors for the C OpenCL deps.

golang.org/x/net/context is not vendored in. We expect it to be fetched by the
user (i.e. using go get). To keep ci.go builds reproducible the package is
"vendored" in build/_vendor.
2016-10-28 19:05:01 +02:00
Felix Lange 4f7627972e build: improve debian packaging
This commit tweaks the debian packaging tool:

* All build environment metadata can now be overriden on the command
  line. This allows testing the CI build behaviour locally.
* -unstable packages now actually contain the binaries (oops)
* packages use Go 1.7 to build
* archiving is skipped for PR builds
2016-10-02 13:08:56 +02:00
Felix Lange cd791bd855 core, trie: replace state caches with trie journal 2016-09-28 11:27:28 +03:00
Felix Lange b0a6b979a3 build: limit test concurrency
TravisCI and AppVeyor run the tests in very slow VMs.
Some of our tests can't cope with that. Running less tests
in parallel should make them somewhat less flakey.
2016-09-26 13:41:18 +02:00
Felix Lange 1f58b2d084 Merge pull request #2962 from fjl/release-move
contracts/release: move package release to contracts/
2016-08-31 15:32:13 +02:00
Daniel A. Nagy 7b884e0075 contracts/chequebook/contract: fix possible reentrancy bug in chequebook.sol 2016-08-30 18:16:49 +02:00
Felix Lange 1d7d1a3499 contracts/release: move package release to contracts/
This change also deletes generator.go, moving the only interesting line
in it into release.go. The binding has been regenerated with abigen from
develop and solc v0.3.6.
2016-08-29 19:25:05 +02:00
Nick Johnson 6976e602f6 contracts/ens: Add ENS contract binding 2016-08-29 17:30:17 +01:00
Péter Szilágyi 8c23f20c68 Makefile, build: move cross compilation into ci.go 2016-08-08 13:45:44 +03:00
Felix Lange 6c33ba14a4 build: add ci.go, use it everywhere
The new build script, ci.go, replaces some of the older shell scripts.
ci.go can compile go-ethereum, run the tests, create release archives
and debian source packages.
2016-06-22 13:42:39 +02:00
Felix Lange c89f4352d0 build: add CI scripts for windows 2016-05-08 01:23:07 +02:00
Felix Lange 728ad6f47d build: tweak update-license.go 2016-04-15 09:46:54 +02:00
Gustav Simonsson ec6a548ee3 all: Add GPU mining, disabled by default 2015-10-07 13:19:30 +02:00
Felix Lange 565d9f2306 core, trie: new trie 2015-09-22 22:53:49 +02:00
Felix Lange cfd84a6ad9 build: avoid -X separator warning with Go >= 1.5 2015-08-27 13:26:13 +02:00
Taylor Gerring cc87551edc Codecov integration 2015-08-18 22:46:48 +02:00
Felix Lange bfbcfbe4a9 all: fix license headers one more time
I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
2015-07-23 18:35:11 +02:00
Felix Lange 3f047be5aa all: update license headers to distiguish GPL/LGPL
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
2015-07-22 18:51:45 +02:00
Felix Lange f4acdea402 crypto: fix license of curve.go
crypto/curve.go is not our code and has its own license. This commit
excludes it in update-license.go and removes our GPL header.
2015-07-22 18:50:31 +02:00
Felix Lange bdae4fd573 all: add some godoc synopsis comments 2015-07-07 14:12:45 +02:00
Felix Lange 7bb77c02da build: change license regexp for // comments 2015-07-07 14:12:44 +02:00
Felix Lange 3ff5cfd028 build: new update-license.go
This version is less clever. All names are listed in a single file,
AUTHORS. All source files have the same header. This is an improvement
over the previous version, which attempted to list copyright holders in
each source file.
2015-07-07 14:01:33 +02:00
Taylor Gerring 8d3faf69d0 Build error fixes 2015-06-18 22:38:17 +02:00
Felix Lange aa03e53ca8 Use Makefile for Travis tests 2015-04-29 02:13:37 +02:00
Felix Lange 71c28cfb0c Makefile: set main.gitCommit when building 2015-04-29 02:13:36 +02:00
Felix Lange 12df8565cf build: run build commands from the fake workspace root
This ensures that compiler error messages contain the correct path.
2015-04-29 01:28:35 +02:00
Felix Lange 48f23746f0 Makefile: for non-gophers
Many people need or want to build go-ethereum from the git repository,
mostly to stay up to date with recent changes. We cannot expect that
people without Go experience grok the Go workspace concept.

With the Makefile, building from github requires only
three steps (provided that a Go toolchain is installed):

    - git clone https://github.com/ethereum/go-ethereum
    - ... install C libraries (libgmp, etc.) ...
    - make
2015-04-19 00:42:34 +02:00