Travis CI 构建失败

Travis CI Build Failing

我遇到 Travis 问题 CI - 我推送的所有提交都失败并出现相同的错误:

0.06s$ curl -sSL "http://llvm.org/apt/llvm-snapshot.gpg.key" | sudo -E apt-key add - gpg: no valid OpenPGP data found. The command "curl -sSL "http://llvm.org/apt/llvm-snapshot.gpg.key" | sudo -E apt-key add -" failed and exited with 2 during . Your build has been stopped.

我试图重建之前构建成功的提交,但出现了同样的错误。关于如何解决问题有什么建议吗?

http://llvm.org/apt/llvm-snapshot.gpg.key is returning 404 since about 2 days ago. And http://llvm.org/apt/ which is linked from their homepagereturns404.

IRC #llvm 频道中的主题提到:

APT repo temporary switched off. Check ML for the latest updates.

ML announcement:

TL;DR: APT repo switched off due to excessive load / traffic

Recently we realized that APT repo generates almost 95% of I/O on llvm.org and more than 40% of network bandwidth alone. During last 2 weeks the main services on llvm.org (svn, git, bugzilla) had serious problems with overall connectivity.

We decided to temporary switch APT repo off to see if this would help. Stay tuned for updates.

llvm 服务器仍处于关闭状态。然而,来自 rust (https://github.com/rust-lang/rust) 背后的人的一个 非常 的好主意是使用 Docker 来解决这个问题。

请在此处查看 .travis.yml 文件: https://github.com/rust-lang/rust/commit/b1651fb4d2c0349ccca108b8d24210d688507936

您可以在此处找到 travis 构建: https://travis-ci.org/rust-lang/rust/builds/134924068

我将 Docker 合并到我的构建中,结果 非常好 ,但我花了几天时间才完成。你可以在这里找到我的方法:https://github.com/fuzzylite/fuzzylite/tree/master in files /Dockerfile and /.travis.yml

这里的结果是:https://travis-ci.org/fuzzylite/fuzzylite/builds/137058927

临时解决方案

由于 llvm 服务器仍然关闭,我正在使用 Ubuntu 包中提供的 clang。

addons:
  apt:
    sources:
      - ubuntu-toolchain-r-test
      #- llvm-toolchain-precise-3.7
    packages:
      - libgnome-keyring-dev
      #- clang-3.7
      - clang

完整示例:https://github.com/sqlectron/sqlectron-gui/blob/master/.travis.yml#L35

唯一的问题是安装版本 3.4 或 3.5。这看起来比 llvm 包上可用的最新版本慢得多。

here 是当前如何解决此问题并使用 clang 3.7 的示例。

sudo: required
dist: trusty

env:
  global:
    - LLVM_VERSION=3.7.0
    - LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz

before_install:
  - wget http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-14.04.tar.xz -O $LLVM_ARCHIVE_PATH
  - mkdir $HOME/clang+llvm
  - tar xf $LLVM_ARCHIVE_PATH -C $HOME/clang+llvm --strip-components 1
  - export PATH=$HOME/clang+llvm/bin:$PATH

我正在为 clang 3.5/3.6/3.7/3.8 做同样的事情并且它有效。

我调用 clang++ 而不是 clang++-3.7 或其他任何东西 - 它被添加到 PATH 中。