Commit Graph

230 Commits

Author SHA1 Message Date
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