From 664ca46d5ba87d5224db752665c96ec83815baf2 Mon Sep 17 00:00:00 2001 From: Alexander Block Date: Wed, 26 Jun 2019 07:58:22 +0200 Subject: [PATCH 1/4] Add exception for depends/Makefile in .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index c3be44a72c15..a1c24fd7222f 100644 --- a/.gitignore +++ b/.gitignore @@ -83,6 +83,7 @@ libconftest.dylib* Makefile dash-qt Dash-Qt.app +!/depends/Makefile # Unit-tests Makefile.test From 9a4524162111870308fcf3313b3e0cf5402f079f Mon Sep 17 00:00:00 2001 From: Alexander Block Date: Wed, 26 Jun 2019 06:26:49 +0200 Subject: [PATCH 2/4] Retry downloading of depends sources 3 times --- depends/funcs.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/depends/funcs.mk b/depends/funcs.mk index 15e404e42dcf..5c05a4e7c29c 100644 --- a/depends/funcs.mk +++ b/depends/funcs.mk @@ -31,6 +31,8 @@ endef define fetch_file ( test -f $$($(1)_source_dir)/$(4) || \ ( $(call fetch_file_inner,$(1),$(2),$(3),$(4),$(5)) || \ + (sleep 5 && $(call fetch_file_inner,$(1),$(2),$(3),$(4),$(5))) || \ + (sleep 10 && $(call fetch_file_inner,$(1),$(2),$(3),$(4),$(5))) || \ $(call fetch_file_inner,$(1),$(FALLBACK_DOWNLOAD_PATH),$(3),$(4),$(5)))) endef From 09838f5bb29e999056c790172de09746bd208593 Mon Sep 17 00:00:00 2001 From: Alexander Block Date: Wed, 26 Jun 2019 07:25:51 +0200 Subject: [PATCH 3/4] Manually invoke apt-get update and install instead of using addon This allows us to use travis_retry on these operations. --- .travis.yml | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6ded5c378585..c27b6f03ae33 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,19 +8,10 @@ dist: trusty os: linux language: generic -addons: - apt: - packages: - # Use more recent docker version - - docker-ce - # Can be removed if Travis ever upgrades to Bionic - - realpath - services: - docker cache: - apt: true ccache: true directories: - $HOME/cache @@ -122,6 +113,10 @@ before_cache: # Save builder image - docker save dash-builder-$BUILD_TARGET-$TRAVIS_JOB_NUMBER $(docker history -q dash-builder-$BUILD_TARGET-$TRAVIS_JOB_NUMBER | grep -v \) | gzip -2 > $HOME/cache/docker/dash-builder-$BUILD_TARGET.tar.gz +before_install: + - travis_retry travis_apt_get_update + - travis_retry sudo apt-get -yq --no-install-suggests --no-install-recommends install docker-ce realpath + install: # Our scripts try to be Travis agnostic - export PULL_REQUEST="$TRAVIS_PULL_REQUEST" From 41f46f5ea68df4b6bd97baf5660f9076643294ba Mon Sep 17 00:00:00 2001 From: Alexander Block Date: Wed, 26 Jun 2019 08:01:15 +0200 Subject: [PATCH 4/4] Remove --retry from curl call This avoids future confusion as we don't rely on curl anymore to properly retry downloads. curls does only retry on transient errors, while Travis might cause all kinds of errors which circumvent the retry logic of curl. --- depends/Makefile | 1 - depends/builders/darwin.mk | 2 +- depends/builders/linux.mk | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/depends/Makefile b/depends/Makefile index 71aa4ecb8a6b..6d8bd8d21424 100644 --- a/depends/Makefile +++ b/depends/Makefile @@ -14,7 +14,6 @@ PATCHES_PATH = $(BASEDIR)/patches BASEDIR = $(CURDIR) HASH_LENGTH:=11 DOWNLOAD_CONNECT_TIMEOUT:=10 -DOWNLOAD_RETRIES:=3 HOST_ID_SALT ?= salt BUILD_ID_SALT ?= salt diff --git a/depends/builders/darwin.mk b/depends/builders/darwin.mk index d15d6feea6f4..adf75e6ff598 100644 --- a/depends/builders/darwin.mk +++ b/depends/builders/darwin.mk @@ -7,7 +7,7 @@ build_darwin_OTOOL: = $(shell xcrun -f otool) build_darwin_NM: = $(shell xcrun -f nm) build_darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool) build_darwin_SHA256SUM = shasum -a 256 -build_darwin_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o +build_darwin_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) -o #darwin host on darwin builder. overrides darwin host preferences. darwin_CC=$(shell xcrun -f clang) -mmacosx-version-min=$(OSX_MIN_VERSION) diff --git a/depends/builders/linux.mk b/depends/builders/linux.mk index b03f42401047..9af0d066a086 100644 --- a/depends/builders/linux.mk +++ b/depends/builders/linux.mk @@ -1,2 +1,2 @@ build_linux_SHA256SUM = sha256sum -build_linux_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o +build_linux_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) -o