1. 04 May, 2021 1 commit
    • Felix Lange's avatar
      build: improve cross compilation setup (#22804) · effaf185
      Felix Lange authored
      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.
      effaf185
  2. 11 Nov, 2020 1 commit
    • Felix Lange's avatar
      build: add -dlgo flag in ci.go (#21824) · 27d93c18
      Felix Lange authored
      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.
      27d93c18
  3. 04 Jul, 2020 1 commit
  4. 10 Jun, 2020 1 commit
  5. 03 Feb, 2020 1 commit
  6. 14 Jan, 2020 1 commit
    • Felix Lange's avatar
      build: remove env.sh (#20541) · feda78e0
      Felix Lange authored
      * 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
      feda78e0
  7. 20 Nov, 2019 2 commits
  8. 18 Nov, 2019 1 commit
    • Felix Lange's avatar
      build: use golangci-lint (#20295) · 68948644
      Felix Lange authored
      * 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
      68948644
  9. 05 Nov, 2019 1 commit
  10. 11 Sep, 2019 1 commit
    • Felix Lange's avatar
      all: make unit tests work with Go 1.13 (#20053) · 39b0b1a1
      Felix Lange authored
      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.
      39b0b1a1
  11. 08 Aug, 2019 1 commit
  12. 23 Jul, 2019 1 commit
  13. 27 May, 2019 1 commit
  14. 08 May, 2019 1 commit
  15. 25 Mar, 2019 1 commit
  16. 27 Feb, 2019 1 commit
  17. 14 Feb, 2019 1 commit
  18. 19 Sep, 2018 1 commit
  19. 30 Jul, 2018 1 commit
    • Anton Evangelatov's avatar
      build: rename swarm deb package to ethereum-swarm; change swarm deb version... · a5d5609e
      Anton Evangelatov authored
      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
      a5d5609e
  20. 25 Jul, 2018 1 commit
  21. 08 May, 2018 1 commit
  22. 12 Feb, 2018 1 commit
  23. 12 Nov, 2017 2 commits
  24. 07 Aug, 2017 1 commit
  25. 06 Apr, 2017 1 commit
    • Péter Szilágyi's avatar
      .travis, build: autodelete old unstable archives (#13867) · c76ad944
      Péter Szilágyi authored
      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).
      c76ad944
  26. 23 Mar, 2017 1 commit
  27. 22 Mar, 2017 1 commit
    • Felix Lange's avatar
      all: import "context" instead of "golang.org/x/net/context" · c213fd1f
      Felix Lange authored
      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.
      c213fd1f
  28. 27 Nov, 2016 1 commit
  29. 23 Nov, 2016 1 commit
  30. 14 Nov, 2016 1 commit
  31. 09 Nov, 2016 1 commit
  32. 08 Nov, 2016 3 commits
  33. 03 Nov, 2016 2 commits
  34. 28 Oct, 2016 1 commit
    • Péter Szilágyi's avatar
      Godeps, vendor: convert dependency management to trash (#3198) · 289b3071
      Péter Szilágyi authored
      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.
      289b3071
  35. 03 Oct, 2016 1 commit