Commit Graph

239 Commits

Author SHA1 Message Date
Felix Lange
63b2d49b5b
build: upgrade to golangci-lint v1.46.2 (#25202)
This upgrade is required to fix lint issues with urfave/cli/v2, which
uses generics when built with Go 1.18
2022-06-29 20:49:04 +02:00
willian.eth
ea0bf08547
build: fix auto-completion scripts and include them in .deb package (#25195)
Co-authored-by: Felix Lange <fjl@twurst.com>
2022-06-29 19:41:39 +02:00
willian.eth
52ed3570c4
cmd: migrate to urfave/cli/v2 (#24751)
This change updates our urfave/cli dependency to the v2 branch of the library.
There are some Go API changes in cli v2:

- Flag values can now be accessed using the methods ctx.Bool,
  ctx.Int, ctx.String, ... regardless of whether the flag is 'local' or
  'global'.

- v2 has built-in support for flag categories. Our home-grown category
  system is removed and the categories of flags are assigned as part of
  the flag definition.

For users, there is only one observable difference with cli v2: flags must now
strictly appear before regular arguments. For example, the following command is
now invalid:

   geth account import mykey.json --password file.txt

Instead, the command must be invoked as follows:

   geth account import --password file.txt mykey.json
2022-06-27 18:22:36 +02:00
Felix Lange
9244d5cd61
all: update license headers and AUTHORS from git history (#24947) 2022-05-24 20:39:40 +02:00
Felix Lange
2b0d0ce8b0
build/bot: create .ssh directory in ppa-build.sh (#24922) 2022-05-20 17:25:17 +02:00
Felix Lange
d4faff965f
build/bot: avoid install of python-bzrlib, python-paramiko in PPA build (#24921) 2022-05-20 17:19:22 +02:00
Felix Lange
adcad1cd39
build/bot: add ppa-build.sh (#24919) 2022-05-20 16:46:38 +02:00
Felix Lange
04b6c56375
build/bot: remove xctool invocation in macos build script (#24918) 2022-05-20 15:52:22 +02:00
Felix Lange
8cab5e171c
build/bot: add mac build script (#24917) 2022-05-20 15:03:15 +02:00
Håvard Anda Estensen
07508ac0e9
all: replace uses of ioutil with io and os (#24869) 2022-05-16 11:59:35 +02:00
Martin Holst Swende
c164aed1d1
build: ppa build for jammy (ubuntu 22.04) 2022-05-04 11:41:24 +02:00
Evgeny Kolyakov
8d84a701a5
build: fix formatted logs (#24807)
Changed `log.Fatal` to `log.Fatalf()` as it has a parameter...
2022-05-04 00:37:37 +03:00
s7v7nislands
5a584c2133
all: use common.FileExist for checking file existence (#24748) 2022-04-27 11:48:02 +02:00
s7v7nislands
7ab15490e9
all: use 'embed' instead of go-bindata (#24744) 2022-04-25 11:15:14 +02:00
Marius Kjærstad
9f7bcb9d76
build: upgrade -dlgo version to Go 1.18.1 (#24689)
* build: upgrade -dlgo version to Go 1.18.1

* build: upgrade -dlgo version for macOS to Go 1.18.1
2022-04-14 08:45:04 +03:00
ucwong
d4d288e3f1
build: add imports for go generate tools (#24682)
This adds a tools.go file to import all command packages used for
go:generate. Doing so makes it possible to execute go-based code
generators using 'go run', locking in the tool version using go.mod.

Co-authored-by: Felix Lange <fjl@twurst.com>
2022-04-12 20:24:02 +02:00
Vaibhaw
40b736463a
build/deb: update Debian control file to remove unencrypted git protocol (#24676) 2022-04-11 21:04:08 +03:00
Martin Holst Swende
6a44bf6826
build: upgrade to golangci-lint v1.45.2 (#24586) 2022-03-25 13:46:33 +01:00
Péter Szilágyi
be7eb8ae17
build, Dockerfile: bump Go to 1.18 2022-03-16 08:27:16 +02:00
ligi
a6bf2487d1
build: fix linter install on windows (#24523) 2022-03-15 10:24:45 +01:00
uji
8fddf27a98
internal/build: switch azure sdk from Azure/azure-storage-blob-go to Azure/azure-sdk-for-go/sdk/storage/azblob. (#24473)
* go.mod: update azure-storage-blob-go

update Azure/azure-storage-blob-go from v0.7.0 to v0.14.0.
relation #24396.

* internal/build: fix for breaking changes of azure-storage-blob-go

fix for breaking changes of update Azure/azure-storage-blob-go from v0.7.0 to v0.14.0.
relation #24396.

* internal/build: switch azure sdk from Azure/azure-storage-blob-go to Azure/azure-sdk-for-go/sdk/storage/azblob.

* internal/build refactor appending BlobItems

* internal/build: fix azure blobstore client to include container id

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2022-03-02 13:05:14 +02:00
Felix Lange
06aaeed1a6
build: add Ubuntu 21.10 PPA target (#24418)
Also specify EOL dates of all listed releases.
2022-02-17 18:35:33 +01:00
Martin Holst Swende
4335bbbf0a
build: disable Ubuntu Hirsuite (#24408)
This Ubuntu release has reached EOL and Launchpad does not
accept uploads for it anymore.
2022-02-16 17:38:21 +01:00
ligi
a5c0cfb451
build: fix lint on ARM (#24311)
* build: append GOARM to arm lint download URL

otherwise it fails with:

downloading from https://github.com/golangci/golangci-lint/releases/download/v1.42.0/golangci-lint-1.42.0-linux-arm.tar.gz
ci.go:347: download error: status 404

* build: increase timeout for lint

Otherwise it times out on a pi

* Increase timeout even further

saw longer build times
2022-01-31 14:17:18 +02:00
Felix Lange
b8edc04ce3
build: upgrade -dlgo version to Go 1.17.5 (#24144) 2021-12-22 15:31:41 +01:00
jwasinger
48dc34b8d9
build: remove xgo cross-builds (#23800)
xgo is not maintained at this time, so none of these builds work.

Closes #23784
2021-10-25 16:49:44 +02:00
Marius van der Wijden
da3da7c0e7
ci: enable race tests as cron job on travis (#23480) 2021-10-11 19:37:18 +02:00
Guillaume Ballet
8b6e018401
build: increase C thread stack size on linux (#23676)
* build: increase thread stack size when running alpine linux

* review feedback: force a stack size of 8M on all linux distribs

* fix missing extldflags
2021-10-11 15:48:41 +02:00
Felix Lange
2fe0c65f4b
build: upgrade -dlgo version to 1.17.2 (#23698)
Go 1.17.2 fixes some miscompilation issues on amd64 and a runtime issue with timers.
While the upgrade is not strictly necessary for go-ethereum right now, it is still good
to be up-to-date.
2021-10-08 17:23:25 +02:00
Felix Lange
d584e39862
build: stop publishing deb packages for Ubuntu 20.10 Groovy Gorilla (#23470)
Support for this Ubuntu release has ended on July 22 2021 and
Launchpad no longer accepts uploads for it.
2021-08-25 21:57:31 +02:00
Felix Lange
efee85378e
build, .travis.yml: upgrade to Go 1.17 (#23464) 2021-08-25 14:22:33 +02:00
Felix Lange
45f34430fd
build: upgrade to golangci-lint v1.42.0 (#23461)
The new linter version is built with go 1.17 and thus includes the go vet
check for mismatched +build and go:build lines.

Fortunately, no new warnings are reported with this update.
2021-08-25 13:21:09 +02:00
Péter Szilágyi
c27bd3481e
build: fix docker tag to include v prefix in version string 2021-08-10 17:49:52 +03:00
baptiste-b-pegasys
3526f69047
all: remove term "whitelist" in comments and log messages (#23294) 2021-07-29 17:36:15 +02:00
Péter Szilágyi
0f2347d070
travis, Dockerfile, build: docker build and multi-arch publish combo 2021-06-21 19:17:59 +03:00
Péter Szilágyi
e9f99d1c91
travis, build: add support for multi-arch docker images 2021-06-18 15:30:00 +03:00
Péter Szilágyi
90ffcfde89
travis, build: own docker builder and hub pusher 2021-06-17 11:04:57 +03:00
Marius Kjærstad
7ab7acfded
build: upgrade -dlgo version to Go 1.16.4 (#22848) 2021-05-10 12:18:42 +02:00
Felix Lange
41671d449f
build: fix windows installer build for NSIS v3.05 (#22821)
With the update to a newer AppVeyor build image, creating the Windows
installer no longer worked because of a string quoting error in EnvVarUpdate.nsh.

This applies the fix recommended in https://stackoverflow.com/questions/62081765.
2021-05-05 12:19:51 +02:00
Felix Lange
973ad66b49
build: fix iOS framework build (#22813)
This fixes a regression introduced in #22804.
2021-05-04 21:45:45 +02:00
Felix Lange
effaf18523
build: improve cross compilation setup (#22804)
This PR cleans up the CI build system and fixes a couple of issues.

- The go tool launcher code has been moved to internal/build. With the new
  toolchain functions, the environment of the host Go (i.e. the one that built
  ci.go) and the target Go (i.e. the toolchain downloaded by -dlgo) are isolated
  more strictly. This is important to make cross compilation and -dlgo work
  correctly in more cases.
- The -dlgo option now skips the download and uses the host Go if the running Go
  version matches dlgoVersion exactly.
- The 'test' command now supports -dlgo, -cc and -arch. Running unit tests with
  foreign GOARCH is occasionally useful. For example, it can be used to run
  32-bit tests on Windows. It can also be used to run darwin/amd64 tests on
  darwin/arm64 using Rosetta 2.
- The 'aar', 'xcode' and 'xgo' commands now use a slightly different method to
  install external tools. They previously used `go get`, but this comes with the
  annoying side effect of modifying go.mod. They now use `go install` instead,
  which is the recommended way of installing tools without modifying the local
  module.
- The old build warning about outdated Go version has been removed because we're
  much better at keeping backwards compatibility now.
2021-05-04 13:01:20 +02:00
Felix Lange
a0a99e610d
build: upgrade -dlgo version to Go 1.16.3 (#22746) 2021-04-27 12:43:47 +02:00
Felix Lange
a3f0da1ac4
build: upgrade to golangci-lint v1.39.0 (#22696)
* build: upgrade to golangci-lint v1.39.0

* consensus/ethash: fix go vet warning regarding reflect.SliceHeader

* eth/catalyst: fix lint issue

* consensus/ethash: fix bug in memoryMapFile
2021-04-27 11:49:06 +03:00
Péter Szilágyi
5b95453ef2
build: add support for Ubuntu Hirsute Hippo 2021-03-04 13:57:02 +02:00
Péter Szilágyi
de61da99c4
build: fix PPA failure due to updated debsrc 2021-03-04 13:06:23 +02:00
Péter Szilágyi
c5023e1dc5
travis, appveyor, build: bump Go to 1.16 2021-02-19 16:03:17 +02:00
Felix Lange
1d1f5fea4a
build: upgrade to Go 1.15.6 (#21986) 2020-12-11 09:02:55 +01:00
Felix Lange
f935b1d542
crypto/signify, build: fix archive signing with signify (#21977)
This fixes some issues in crypto/signify and makes release signing work.

The archive signing step in ci.go used getenvBase64, which decodes the key data.
This is incorrect here because crypto/signify already base64-decodes the key.
2020-12-09 15:43:36 +01:00
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