-
Notifications
You must be signed in to change notification settings - Fork 107
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'origin/master' into pebble-no-sync
- Loading branch information
Showing
120 changed files
with
2,762 additions
and
2,818 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,7 +15,7 @@ jobs: | |
if: type = push | ||
os: linux | ||
arch: amd64 | ||
dist: bionic | ||
dist: noble | ||
go: 1.22.x | ||
env: | ||
- docker | ||
|
@@ -32,7 +32,7 @@ jobs: | |
if: type = push | ||
os: linux | ||
arch: arm64 | ||
dist: bionic | ||
dist: noble | ||
go: 1.22.x | ||
env: | ||
- docker | ||
|
@@ -49,21 +49,20 @@ jobs: | |
- stage: build | ||
if: type = push | ||
os: linux | ||
dist: bionic | ||
dist: noble | ||
sudo: required | ||
go: 1.22.x | ||
env: | ||
- azure-linux | ||
git: | ||
submodules: false # avoid cloning ethereum/tests | ||
addons: | ||
apt: | ||
packages: | ||
- gcc-multilib | ||
script: | ||
# Build for the primary platforms that Trusty can manage | ||
# build amd64 | ||
- go run build/ci.go install -dlgo | ||
- go run build/ci.go archive -type tar -signer LINUX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds | ||
|
||
# build 386 | ||
- sudo -E apt-get -yq --no-install-suggests --no-install-recommends install gcc-multilib | ||
- go run build/ci.go install -dlgo -arch 386 | ||
- go run build/ci.go archive -arch 386 -type tar -signer LINUX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds | ||
|
||
|
@@ -100,46 +99,30 @@ jobs: | |
- stage: build | ||
os: linux | ||
arch: amd64 | ||
dist: bionic | ||
dist: noble | ||
go: 1.22.x | ||
script: | ||
- travis_wait 30 go run build/ci.go test $TEST_PACKAGES | ||
- travis_wait 45 go run build/ci.go test $TEST_PACKAGES | ||
|
||
- stage: build | ||
if: type = pull_request | ||
os: linux | ||
arch: arm64 | ||
dist: bionic | ||
dist: noble | ||
go: 1.21.x | ||
script: | ||
- travis_wait 30 go run build/ci.go test $TEST_PACKAGES | ||
|
||
- stage: build | ||
os: linux | ||
dist: bionic | ||
go: 1.21.x | ||
script: | ||
- travis_wait 30 go run build/ci.go test $TEST_PACKAGES | ||
- travis_wait 45 go run build/ci.go test $TEST_PACKAGES | ||
|
||
# This builder does the Ubuntu PPA nightly uploads | ||
- stage: build | ||
if: type = cron || (type = push && tag ~= /^v[0-9]/) | ||
os: linux | ||
dist: bionic | ||
dist: noble | ||
go: 1.22.x | ||
env: | ||
- ubuntu-ppa | ||
git: | ||
submodules: false # avoid cloning ethereum/tests | ||
addons: | ||
apt: | ||
packages: | ||
- devscripts | ||
- debhelper | ||
- dput | ||
- fakeroot | ||
- python-bzrlib | ||
- python-paramiko | ||
before_install: | ||
- sudo -E apt-get -yq --no-install-suggests --no-install-recommends install devscripts debhelper dput fakeroot | ||
script: | ||
- echo '|1|7SiYPr9xl3uctzovOTj4gMwAC1M=|t6ReES75Bo/PxlOPJ6/GsGbTrM0= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0aKz5UTUndYgIGG7dQBV+HaeuEZJ2xPHo2DS2iSKvUL4xNMSAY4UguNW+pX56nAQmZKIZZ8MaEvSj6zMEDiq6HFfn5JcTlM80UwlnyKe8B8p7Nk06PPQLrnmQt5fh0HmEcZx+JU9TZsfCHPnX7MNz4ELfZE6cFsclClrKim3BHUIGq//t93DllB+h4O9LHjEUsQ1Sr63irDLSutkLJD6RXchjROXkNirlcNVHH/jwLWR5RcYilNX7S5bIkK8NlWPjsn/8Ua5O7I9/YoE97PpO6i73DTGLh5H9JN/SITwCKBkgSDWUt61uPK3Y11Gty7o2lWsBjhBUm2Y38CBsoGmBw==' >> ~/.ssh/known_hosts | ||
- go run build/ci.go debsrc -upload ethereum/ethereum -sftp-user geth-ci -signer "Go Ethereum Linux Builder <[email protected]>" | ||
|
@@ -148,7 +131,7 @@ jobs: | |
- stage: build | ||
if: type = cron | ||
os: linux | ||
dist: bionic | ||
dist: noble | ||
go: 1.22.x | ||
env: | ||
- azure-purge | ||
|
@@ -161,8 +144,7 @@ jobs: | |
- stage: build | ||
if: type = cron | ||
os: linux | ||
dist: bionic | ||
dist: noble | ||
go: 1.22.x | ||
script: | ||
- travis_wait 30 go run build/ci.go test -race $TEST_PACKAGES | ||
|
||
- travis_wait 50 go run build/ci.go test -race $TEST_PACKAGES |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -117,23 +117,15 @@ var ( | |
debEthereum, | ||
} | ||
|
||
// Distros for which packages are created. | ||
// Note: vivid is unsupported because there is no golang-1.6 package for it. | ||
// Note: the following Ubuntu releases have been officially deprecated on Launchpad: | ||
// wily, yakkety, zesty, artful, cosmic, disco, eoan, groovy, hirsuite, impish, | ||
// kinetic, lunar | ||
debDistroGoBoots = map[string]string{ | ||
"trusty": "golang-1.11", // 14.04, EOL: 04/2024 | ||
"xenial": "golang-go", // 16.04, EOL: 04/2026 | ||
"bionic": "golang-go", // 18.04, EOL: 04/2028 | ||
"focal": "golang-go", // 20.04, EOL: 04/2030 | ||
"jammy": "golang-go", // 22.04, EOL: 04/2032 | ||
"mantic": "golang-go", // 23.10, EOL: 07/2024 | ||
} | ||
// Distros for which packages are created | ||
debDistros = []string{ | ||
"xenial", // 16.04, EOL: 04/2026 | ||
"bionic", // 18.04, EOL: 04/2028 | ||
"focal", // 20.04, EOL: 04/2030 | ||
"jammy", // 22.04, EOL: 04/2032 | ||
"noble", // 24.04, EOL: 04/2034 | ||
|
||
debGoBootPaths = map[string]string{ | ||
"golang-1.11": "/usr/lib/go-1.11", | ||
"golang-go": "/usr/lib/go", | ||
"mantic", // 23.10, EOL: 07/2024 | ||
} | ||
|
||
// This is where the tests should be unpacked. | ||
|
@@ -694,8 +686,8 @@ func doDebianSource(cmdline []string) { | |
} | ||
// Download and verify the Go source packages. | ||
var ( | ||
gobootbundle = downloadGoBootstrapSources(*cachedir) | ||
gobundle = downloadGoSources(*cachedir) | ||
gobootbundles = downloadGoBootstrapSources(*cachedir) | ||
gobundle = downloadGoSources(*cachedir) | ||
) | ||
// Download all the dependencies needed to build the sources and run the ci script | ||
srcdepfetch := tc.Go("mod", "download") | ||
|
@@ -708,17 +700,19 @@ func doDebianSource(cmdline []string) { | |
|
||
// Create Debian packages and upload them. | ||
for _, pkg := range debPackages { | ||
for distro, goboot := range debDistroGoBoots { | ||
for _, distro := range debDistros { | ||
// Prepare the debian package with the go-ethereum sources. | ||
meta := newDebMetadata(distro, goboot, *signer, env, now, pkg.Name, pkg.Version, pkg.Executables) | ||
meta := newDebMetadata(distro, *signer, env, now, pkg.Name, pkg.Version, pkg.Executables) | ||
pkgdir := stageDebianSource(*workdir, meta) | ||
|
||
// Add bootstrapper Go source code | ||
if err := build.ExtractArchive(gobootbundle, pkgdir); err != nil { | ||
log.Fatalf("Failed to extract bootstrapper Go sources: %v", err) | ||
} | ||
if err := os.Rename(filepath.Join(pkgdir, "go"), filepath.Join(pkgdir, ".goboot")); err != nil { | ||
log.Fatalf("Failed to rename bootstrapper Go source folder: %v", err) | ||
for i, gobootbundle := range gobootbundles { | ||
if err := build.ExtractArchive(gobootbundle, pkgdir); err != nil { | ||
log.Fatalf("Failed to extract bootstrapper Go sources: %v", err) | ||
} | ||
if err := os.Rename(filepath.Join(pkgdir, "go"), filepath.Join(pkgdir, fmt.Sprintf(".goboot-%d", i+1))); err != nil { | ||
log.Fatalf("Failed to rename bootstrapper Go source folder: %v", err) | ||
} | ||
} | ||
// Add builder Go source code | ||
if err := build.ExtractArchive(gobundle, pkgdir); err != nil { | ||
|
@@ -754,21 +748,26 @@ func doDebianSource(cmdline []string) { | |
} | ||
} | ||
|
||
// downloadGoBootstrapSources downloads the Go source tarball that will be used | ||
// downloadGoBootstrapSources downloads the Go source tarball(s) that will be used | ||
// to bootstrap the builder Go. | ||
func downloadGoBootstrapSources(cachedir string) string { | ||
func downloadGoBootstrapSources(cachedir string) []string { | ||
csdb := build.MustLoadChecksums("build/checksums.txt") | ||
gobootVersion, err := build.Version(csdb, "ppa-builder") | ||
if err != nil { | ||
log.Fatal(err) | ||
} | ||
file := fmt.Sprintf("go%s.src.tar.gz", gobootVersion) | ||
url := "https://dl.google.com/go/" + file | ||
dst := filepath.Join(cachedir, file) | ||
if err := csdb.DownloadFile(url, dst); err != nil { | ||
log.Fatal(err) | ||
|
||
var bundles []string | ||
for _, booter := range []string{"ppa-builder-1", "ppa-builder-2"} { | ||
gobootVersion, err := build.Version(csdb, booter) | ||
if err != nil { | ||
log.Fatal(err) | ||
} | ||
file := fmt.Sprintf("go%s.src.tar.gz", gobootVersion) | ||
url := "https://dl.google.com/go/" + file | ||
dst := filepath.Join(cachedir, file) | ||
if err := csdb.DownloadFile(url, dst); err != nil { | ||
log.Fatal(err) | ||
} | ||
bundles = append(bundles, dst) | ||
} | ||
return dst | ||
return bundles | ||
} | ||
|
||
// downloadGoSources downloads the Go source tarball. | ||
|
@@ -846,10 +845,7 @@ type debPackage struct { | |
} | ||
|
||
type debMetadata struct { | ||
Env build.Environment | ||
GoBootPackage string | ||
GoBootPath string | ||
|
||
Env build.Environment | ||
PackageName string | ||
|
||
// go-ethereum version being built. Note that this | ||
|
@@ -877,21 +873,19 @@ func (d debExecutable) Package() string { | |
return d.BinaryName | ||
} | ||
|
||
func newDebMetadata(distro, goboot, author string, env build.Environment, t time.Time, name string, version string, exes []debExecutable) debMetadata { | ||
func newDebMetadata(distro, author string, env build.Environment, t time.Time, name string, version string, exes []debExecutable) debMetadata { | ||
if author == "" { | ||
// No signing key, use default author. | ||
author = "Ethereum Builds <[email protected]>" | ||
} | ||
return debMetadata{ | ||
GoBootPackage: goboot, | ||
GoBootPath: debGoBootPaths[goboot], | ||
PackageName: name, | ||
Env: env, | ||
Author: author, | ||
Distro: distro, | ||
Version: version, | ||
Time: t.Format(time.RFC1123Z), | ||
Executables: exes, | ||
PackageName: name, | ||
Env: env, | ||
Author: author, | ||
Distro: distro, | ||
Version: version, | ||
Time: t.Format(time.RFC1123Z), | ||
Executables: exes, | ||
} | ||
} | ||
|
||
|
Oops, something went wrong.