Skip to content

Commit eb8d08d

Browse files
committed
Auto merge of #49246 - kennytm:download-gcc-stuff-from-https, r=alexcrichton
Download the GCC artifacts from the HTTP server instead of FTP server. Try to bring back the `dist-i686-linux` and `dist-x86_64-linux alt` builders which has mysteriously lost their cache 14 hours ago and stuck forever unable to download `mpfr-2.4.2.tar.bz2` since it keeps getting ``` ==> PASV ... couldn't connect to 209.132.180.131 port 10058: Connection timed out ```
2 parents c19264f + 9f792e1 commit eb8d08d

File tree

5 files changed

+45
-3
lines changed

5 files changed

+45
-3
lines changed

src/ci/docker/dist-i686-linux/build-gcc.sh

+17
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,23 @@ GCC=4.8.5
1717

1818
curl https://ftp.gnu.org/gnu/gcc/gcc-$GCC/gcc-$GCC.tar.bz2 | tar xjf -
1919
cd gcc-$GCC
20+
21+
# FIXME(#49246): Remove the `sed` below.
22+
#
23+
# On 2018 March 21st, two Travis builders' cache for Docker are suddenly invalidated. Normally this
24+
# is fine, because we just need to rebuild the Docker image. However, it reveals a network issue:
25+
# downloading from `ftp://gcc.gnu.org/` from Travis (using passive mode) often leads to "Connection
26+
# timed out" error, and even when the download completed, the file is usually corrupted. This causes
27+
# nothing to be landed that day.
28+
#
29+
# We observed that the `gcc-4.8.5.tar.bz2` above can be downloaded successfully, so as a stability
30+
# improvement we try to download from the HTTPS mirror instead. Turns out this uncovered the third
31+
# bug: the host `gcc.gnu.org` and `cygwin.com` share the same IP, and the TLS certificate of the
32+
# latter host is presented to `wget`! Therefore, we choose to download from the insecure HTTP server
33+
# instead here.
34+
#
35+
sed -i'' 's|ftp://gcc\.gnu\.org/|http://gcc.gnu.org/|g' ./contrib/download_prerequisites
36+
2037
./contrib/download_prerequisites
2138
mkdir ../gcc-build
2239
cd ../gcc-build

src/ci/docker/dist-i686-linux/build-git.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
set -ex
1313
source shared.sh
1414

15-
curl https://www.kernel.org/pub/software/scm/git/git-2.10.0.tar.gz | tar xzf -
15+
curl -L https://www.kernel.org/pub/software/scm/git/git-2.10.0.tar.gz | tar xzf -
1616

1717
cd git-2.10.0
1818
make configure

src/ci/docker/dist-x86_64-linux/build-gcc.sh

+17
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,23 @@ GCC=4.8.5
1717

1818
curl https://ftp.gnu.org/gnu/gcc/gcc-$GCC/gcc-$GCC.tar.bz2 | tar xjf -
1919
cd gcc-$GCC
20+
21+
# FIXME(#49246): Remove the `sed` below.
22+
#
23+
# On 2018 March 21st, two Travis builders' cache for Docker are suddenly invalidated. Normally this
24+
# is fine, because we just need to rebuild the Docker image. However, it reveals a network issue:
25+
# downloading from `ftp://gcc.gnu.org/` from Travis (using passive mode) often leads to "Connection
26+
# timed out" error, and even when the download completed, the file is usually corrupted. This causes
27+
# nothing to be landed that day.
28+
#
29+
# We observed that the `gcc-4.8.5.tar.bz2` above can be downloaded successfully, so as a stability
30+
# improvement we try to download from the HTTPS mirror instead. Turns out this uncovered the third
31+
# bug: the host `gcc.gnu.org` and `cygwin.com` share the same IP, and the TLS certificate of the
32+
# latter host is presented to `wget`! Therefore, we choose to download from the insecure HTTP server
33+
# instead here.
34+
#
35+
sed -i'' 's|ftp://gcc\.gnu\.org/|http://gcc.gnu.org/|g' ./contrib/download_prerequisites
36+
2037
./contrib/download_prerequisites
2138
mkdir ../gcc-build
2239
cd ../gcc-build

src/ci/docker/dist-x86_64-linux/build-git.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
set -ex
1313
source shared.sh
1414

15-
curl https://www.kernel.org/pub/software/scm/git/git-2.10.0.tar.gz | tar xzf -
15+
curl -L https://www.kernel.org/pub/software/scm/git/git-2.10.0.tar.gz | tar xzf -
1616

1717
cd git-2.10.0
1818
make configure

src/ci/run.sh

+9-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,15 @@ fi
105105
travis_fold end log-system-info
106106

107107
if [ ! -z "$SCRIPT" ]; then
108-
sh -x -c "$SCRIPT"
108+
# FIXME(#49246): Re-enable these tools after #49246 has been merged and thus fixing the cache.
109+
if [ "$DEPLOY_ALT" = 1 ]; then
110+
sh -x -c "$SCRIPT \
111+
--exclude src/tools/rls \
112+
--exclude src/tools/rustfmt \
113+
--exclude src/tools/clippy"
114+
else
115+
sh -x -c "$SCRIPT"
116+
fi
109117
else
110118
do_make() {
111119
travis_fold start "make-$1"

0 commit comments

Comments
 (0)