Skip to content

Commit

Permalink
Merge pull request #3 from ethersocial/geth-1.8.23-esn-0.3.12
Browse files Browse the repository at this point in the history
merge geth v1.8.23 (gesn-0.3.12)
  • Loading branch information
hackmod committed Apr 9, 2019
2 parents dc6e7e9 + df1c6ed commit 3fb5c0a
Show file tree
Hide file tree
Showing 432 changed files with 93,705 additions and 17,560 deletions.
84 changes: 48 additions & 36 deletions .travis.yml
Expand Up @@ -4,7 +4,7 @@ sudo: false
matrix:
include:
- os: linux
dist: trusty
dist: xenial
sudo: required
go: 1.10.x
script:
Expand All @@ -14,9 +14,8 @@ matrix:
- go run build/ci.go install
- go run build/ci.go test -coverage $TEST_PACKAGES

# These are the latest Go versions.
- os: linux
dist: trusty
dist: xenial
sudo: required
go: 1.11.x
script:
Expand All @@ -26,8 +25,20 @@ matrix:
- go run build/ci.go install
- go run build/ci.go test -coverage $TEST_PACKAGES

# These are the latest Go versions.
- os: linux
dist: xenial
sudo: required
go: 1.12.x
script:
- sudo modprobe fuse
- sudo chmod 666 /dev/fuse
- sudo chown root:$USER /etc/fuse.conf
- go run build/ci.go install
- go run build/ci.go test -coverage $TEST_PACKAGES

- os: osx
go: 1.11.x
go: 1.12.x
script:
- echo "Increase the maximum number of open file descriptors on macOS"
- NOFILE=20480
Expand All @@ -43,40 +54,21 @@ matrix:

# This builder only tests code linters on latest version of Go
- os: linux
dist: trusty
go: 1.11.x
dist: xenial
go: 1.12.x
env:
- lint
git:
submodules: false # avoid cloning ethereum/tests
script:
- go run build/ci.go lint

# This builder does the Ubuntu PPA upload
- if: type = push
os: linux
dist: trusty
go: 1.11.x
env:
- ubuntu-ppa
git:
submodules: false # avoid cloning ethereum/tests
addons:
apt:
packages:
- devscripts
- debhelper
- dput
- fakeroot
script:
- go run build/ci.go debsrc -signer "Go Ethereum Linux Builder <geth-ci@ethereum.org>" -upload ppa:ethereum/ethereum

# This builder does the Linux Azure uploads
- if: type = push
os: linux
dist: trusty
dist: xenial
sudo: required
go: 1.11.x
go: 1.12.x
env:
- azure-linux
git:
Expand Down Expand Up @@ -104,14 +96,16 @@ matrix:
- GOARM=7 go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
- go run build/ci.go install -arch arm64 -cc aarch64-linux-gnu-gcc
- go run build/ci.go archive -arch arm64 -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
- mkdir -p package
- if [ $(ls *-*.gz 2> /dev/null |wc -l) != 0 ]; then mv *-*.tar.gz package; fi

# This builder does the Linux Azure MIPS xgo uploads
- if: type = push
os: linux
dist: trusty
dist: xenial
services:
- docker
go: 1.11.x
go: 1.12.x
env:
- azure-linux-mips
git:
Expand All @@ -133,10 +127,13 @@ matrix:
- for bin in build/bin/*-linux-mips64le; do mv -f "${bin}" "${bin/-linux-mips64le/}"; done
- go run build/ci.go archive -arch mips64le -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds

- mkdir -p package
- if [ $(ls *-*.gz 2> /dev/null |wc -l) != 0 ]; then mv *-*.tar.gz package; fi

# This builder does the Android Maven and Azure uploads
- if: type = push
os: linux
dist: trusty
dist: xenial
addons:
apt:
packages:
Expand All @@ -156,7 +153,7 @@ matrix:
git:
submodules: false # avoid cloning ethereum/tests
before_install:
- curl https://storage.googleapis.com/golang/go1.11.4.linux-amd64.tar.gz | tar -xz
- curl https://dl.google.com/go/go1.12.linux-amd64.tar.gz | tar -xz
- export PATH=`pwd`/go/bin:$PATH
- export GOROOT=`pwd`/go
- export GOPATH=$HOME/go
Expand All @@ -170,11 +167,13 @@ matrix:
- mkdir -p $GOPATH/src/github.com/ethersocial
- ln -s `pwd` $GOPATH/src/github.com/ethersocial
- go run build/ci.go aar -signer ANDROID_SIGNING_KEY -deploy https://oss.sonatype.org -upload gethstore/builds
- mkdir -p package
- if [ $(ls *-*.gz 2> /dev/null |wc -l) != 0 ]; then mv *-*.tar.gz package; fi

# This builder does the OSX Azure, iOS CocoaPods and iOS Azure uploads
- if: type = push
os: osx
go: 1.11.x
go: 1.12.x
env:
- azure-osx
- azure-ios
Expand All @@ -197,17 +196,30 @@ matrix:
- xcrun simctl list

# Workaround for https://github.com/golang/go/issues/23749
- export CGO_CFLAGS_ALLOW='-fmodules|-fblocks|-fobjc-arc'
- go run build/ci.go xcode -signer IOS_SIGNING_KEY -deploy trunk -upload gethstore/builds
##- export CGO_CFLAGS_ALLOW='-fmodules|-fblocks|-fobjc-arc'
##- go run build/ci.go xcode -signer IOS_SIGNING_KEY -deploy trunk -upload gethstore/builds

- mkdir -p package
- if [ $(ls *-*.gz 2> /dev/null |wc -l) != 0 ]; then mv *-*.tar.gz package; fi

# This builder does the Azure archive purges to avoid accumulating junk
- if: type = cron
os: linux
dist: trusty
go: 1.11.x
dist: xenial
go: 1.12.x
env:
- azure-purge
git:
submodules: false # avoid cloning ethereum/tests
script:
- go run build/ci.go purge -store gethstore/builds -days 14

deploy:
- provider: releases
api_key:
secure: "LV+5+6KZlwZN+l0/kyXJr1ZcJUhqCdCmlr7KGhE3J30gX/y5xraGoTUlORdKKOpJdjrP8Mh4sTGNhq0cpm4FO1We/N/vy4JP9x4/BE0yVupXMtfgrKlQw6pNJXL/EzscBT+rwkvzDCk7+glyrNfgNK8Jcue9SKEG20NI1RofdLfOTMMj6+gHSKrQ3qMydUGVFFhE+YMy7Amffs9WMkg48Od/GWtX8flFFIhclC809JafgPA0W4c7ATSlkoHEzDAiTE7x4uZWQ0Bn5tQxoLh0PqxhEUsW3GBuh3M3GpgiJoOZinocJxZyOJ4eCYYsAqtQMxrbQoklD6RepxaZ9bVMhIGvNXDMbr/uWx+eVxmEvLMpJgmMBPBZytcOgC/MgfYJDlTqOmz+q7O318JgmCOmbXn6v9rhw7ng6R/jPnGOlhmgsVM+/NKH4bI8jCPAvqstTU8jiI16QyZnmo7/H3RK2sKfsP0B8I3Uh77Gbt+d/T951ogqFOj/7lmLgmchescEVeA25KfslepM9zBOF6Q0yxJr5eGXQqbFuoL9QP4UaVw5285sFnWgBTCitgqa48wtO/bjDXCDThAVugTSnmnMmtrlHYi2eZNUx7Tz5v3Ejtsv97cQKQweW1sB1zwT7sa+RUIqpHbG0UZJICDovC+G1naof1GkZhzfd2cVulHSXwQ="
file_glob: true
file: package/*
skip_cleanup: true
on:
tags: true
2 changes: 1 addition & 1 deletion Dockerfile
@@ -1,5 +1,5 @@
# Build Geth in a stock Go builder container
FROM golang:1.11-alpine as builder
FROM golang:1.12-alpine as builder

RUN apk add --no-cache make gcc musl-dev linux-headers

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.alltools
@@ -1,5 +1,5 @@
# Build Geth in a stock Go builder container
FROM golang:1.11-alpine as builder
FROM golang:1.12-alpine as builder

RUN apk add --no-cache make gcc musl-dev linux-headers

Expand Down
31 changes: 26 additions & 5 deletions appveyor.yml
Expand Up @@ -23,8 +23,8 @@ environment:
install:
- git submodule update --init
- rmdir C:\go /s /q
- appveyor DownloadFile https://storage.googleapis.com/golang/go1.11.4.windows-%GETH_ARCH%.zip
- 7z x go1.11.4.windows-%GETH_ARCH%.zip -y -oC:\ > NUL
- appveyor DownloadFile https://dl.google.com/go/go1.12.windows-%GETH_ARCH%.zip
- 7z x go1.12.windows-%GETH_ARCH%.zip -y -oC:\ > NUL
- go version
- gcc --version

Expand All @@ -34,7 +34,28 @@ build_script:
after_build:
- go run build\ci.go archive -type zip -signer WINDOWS_SIGNING_KEY -upload gethstore/builds
- go run build\ci.go nsis -signer WINDOWS_SIGNING_KEY -upload gethstore/builds
- mkdir packages
- mv *-*.zip packages\
- mv *-*.exe packages\

test_script:
- set CGO_ENABLED=1
- go run build\ci.go test -coverage
#test_script:
# - set CGO_ENABLED=1
# - go run build\ci.go test -coverage

artifacts:
- path: packages\*.*
name: geth

deploy:
# Create GitHub release, also set the release name and description.
provider: GitHub
tag: $(appveyor_repo_tag_name)
description: "Release $(appveyor_repo_tag_name)"
force_update: true # Force update in case Travis CI created the release before.
prerelease: $(project_version_is_prerelease)
draft: false
artifact: geth
auth_token:
secure: tlXNusW2nD1WbdbfZirHCOZJTYGyhE03sJpu+qyVPWJ5sE3IcWSJNZdpVT1g+UW1
on:
appveyor_repo_tag: true
13 changes: 10 additions & 3 deletions build/ci-notes.md
Expand Up @@ -7,11 +7,18 @@ Canonical.
Packages of develop branch commits have suffix -unstable and cannot be installed alongside
the stable version. Switching between release streams requires user intervention.

## Launchpad

The packages are built and served by launchpad.net. We generate a Debian source package
for each distribution and upload it. Their builder picks up the source package, builds it
and installs the new version into the PPA repository. Launchpad requires a valid signature
by a team member for source package uploads. The signing key is stored in an environment
variable which Travis CI makes available to certain builds.
by a team member for source package uploads.

The signing key is stored in an environment variable which Travis CI makes available to
certain builds. Since Travis CI doesn't support FTP, SFTP is used to transfer the
packages. To set this up yourself, you need to create a Launchpad user and add a GPG key
and SSH key to it. Then encode both keys as base64 and configure 'secret' environment
variables `PPA_SIGNING_KEY` and `PPA_SSH_KEY` on Travis.

We want to build go-ethereum with the most recent version of Go, irrespective of the Go
version that is available in the main Ubuntu repository. In order to make this possible,
Expand All @@ -27,7 +34,7 @@ Add the gophers PPA and install Go 1.10 and Debian packaging tools:

$ sudo apt-add-repository ppa:gophers/ubuntu/archive
$ sudo apt-get update
$ sudo apt-get install build-essential golang-1.10 devscripts debhelper
$ sudo apt-get install build-essential golang-1.10 devscripts debhelper python-bzrlib python-paramiko

Create the source packages:

Expand Down

0 comments on commit 3fb5c0a

Please sign in to comment.