| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We have many interfaces decalred as a part of AST. Most of them are used
in a way called 'sum type', a type which is a collection of other types.
Since Go does not have a builtin way to check whether a type switch is
exhaustive, we add a static analysis tool called 'go-sumtype' to the CI
process to ensure we never hit the default panic case at runtime.
Since each interface must have at least a unique unexported method to
be considered as a valid sum type, we need a naming convention here.
Currently a unique name is created by putting ˉ character in front of
the name of the interface.
Remove Value function from Valuer interface declaration because the AST
printer has switched to reflection instead of using this interface. It
is not expected to have new users of Value functions because it returns
an empty interface. Type assertion is still required to access the value
and it is just clearer to assert the type of the AST node.
Remove AnyValueNode and DefaultValueNode from ExprNode. It is invalid to
use them as a part of an expression, and putting them in ExprNode just
makes type switches unreliable. Data types allocated for them are also
removed because non-expression nodes don't need data types.
Introduce InsertOptionNode and ColumnConstraintNode interfaces as sum
types. We used to use the generic Node interface to store them. Create
specific sum types enables go-sumtype to check type switches statically.
Drop assertNodeSlice because all callers are gone.
|
|
|
|
|
| |
For support other vm types, this pr modified the core/vm file
structures.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* test: run smoke test on ganache
* Update build/setup_recovery_env.sh
Co-Authored-By: Jsying <sonic@dexon.org>
* Update build/setup_recovery_env.sh
Co-Authored-By: Jsying <sonic@dexon.org>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Since it costs almost 5min on new tests data,
this pr extends the timeout to 10min.
|
| |
|
|
|
|
|
|
| |
* test: update test parameters
* update smoke test parameter
|
| |
|
|
|
| |
The ci test in /tests will use origin evm logic.
|
| |
|
|
|
|
|
| |
* vendor: add dependencies for using GCP storage
* app: use gcp storage instead of azure for builds
|
| |
|
|
|
|
| |
(cherry picked from commit c0b9c763bb1572c202a60b82e7dcdc48dc3c280a)
|
|
|
|
| |
(cherry picked from commit a8ddf7ad8393cff80848b193c698ce5e6440e061)
|
|
|
|
| |
(cherry picked from commit edf976ee8e7e1561cf11cbdc5a0c5edb497dda34)
|
|
|
|
|
|
|
|
|
|
| |
* build: use sftp for launchpad uploads
* .travis.yml: configure sftp export
* build: update CI docs
(cherry picked from commit 3de19c8b31ab975eed1f7f276d31761f7f8b9af9)
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
* add LGPL licence at update-licence.go
* add empty line
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| | |
internal, vendor: update Azure blobstore API
|
| | |
|
|\ \
| | |
| | | |
build: deprecated ubuntu artful, enable ubuntu cosmic
|
| | | |
|
|/ / |
|
|/ |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
Smaller size on mobile is always good.
Might also solve our maven central upload problem
|
| |
|
| |
|
|
|
|
|
|
| |
* build: add GOBIN to PATH for gomobile
* build: install gobind alongside gomobile
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
This avoids setting CC for the go run invocation, which fails on go1.10.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* build: enable unconvert linter
- fixes #15453
- update code base for failing cases
* cmd/puppeth: replace syscall.Stdin with os.Stdin.Fd() for unconvert linter
|
| |
|
|
|
|
|
|
| |
* build: [finishes #15372] implements generalized linter and travis job
* .travis, build: minor polishes, disable deadcode
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Also add the package to the license tool ignore list.
|
| |
|
|\ |
|
| | |
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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).
|
|
|
| |
Fixes #3792 by stripping debug symbols.
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This fixes a recent bug where 'make geth' built everything instead of
just geth.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
We don't use the opencl build tag anymore.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|\
| |
| | |
build: bundle the bootnode too into alltools
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
cmd/swarm: one command with subcommands
|
| | |
|
|/ |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
| |
packages (#3354)
|
| |
|
|\
| |
| | |
build, internal/build: simplify unstable build checks
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|/
|
|
|
| |
* build: use metatags on cocoapods, not prerelease tags
* build: fix Maven and CocoaPods author email addresses
|
| |
|
|
|
|
| |
This should fix the 'make' build with Go 1.5.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
archiveUpload did not handle absolute paths correctly. Fix it by using
the basename and ensure that uploads can be tested using -n.
|
|
|
|
| |
This commit adds support for creating Windows installers to ci.go
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
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.
|
|/ |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
|
|
|
|
|
| |
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
This ensures that compiler error messages contain the correct path.
|
|
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
|