Трэвис CI не в состоянии разобрать .travis.yml - PullRequest
1 голос
/ 05 октября 2019

У меня есть этот travis.yml, который travis-ci.org жалуется, что не может разобрать.

language: rust
rust:
  - 1.31.0
  - stable
  - beta
  - nightly
matrix:
  allow_failures:
    - rust: nightly
sudo: false
before_script:
  - rustup component add rustfmt
  - rustup target add thumbv7em-none-eabihf     # Any target that does not have a standard library will do
script:
  - cargo fmt --all -- --check
  - (rustup component add clippy && cargo clippy --all -- -D clippy::all) || true
  - cargo build
  - cargo test
  - cargo build --no-default-features --features alloc --target thumbv7em-none-eabihf # Test we can build a platform that does not have std.
  - cargo test --no-default-features --lib --tests # Run no_std tests
  - [[ $TRAVIS_RUST_VERSION != "1.31.0" ]] && cargo build --no-default-features --features alloc
  - cargo build --features unsealed_read_write # The crate should still build when the unsealed_read_write feature is enabled.
  - cargo build --no-default-features --features unsealed_read_write # The crate should still build when the unsealed_read_write feature is enabled and std disabled.

Этот файл принадлежит https://github.com/pyfisch/cbor и строке, которая, очевидно, вызывает сбой анализа- [[ $TRAVIS_RUST_VERSION != "1.31.0" ]] && cargo build --no-default-features --features alloc.

Проверка Travis.yml в режиме онлайн менее чем полезна (устарела и удалена без замены).

Какие изменения необходимы, чтобы Travis снова построил

1 Ответ

1 голос
/ 05 октября 2019

Символ [ является особенным в YAML, как и некоторые другие. Если ваша строка начинается с него, вам нужно заключить его в кавычки.

Я рекомендую использовать скаляр блока для более длинных строк. Вы можете использовать литеральный скалярный скаляр, который будет выглядеть следующим образом:

- |
  [[ $TRAVIS_RUST_VERSION != "1.31.0" ]] && cargo build --no-default-features --features alloc

или скалярный скаляр, который позволяет разбить линию на несколько строк. Он будет сложен вместе с пробелами:

- >
  [[ $TRAVIS_RUST_VERSION != "1.31.0" ]]
  && cargo build --no-default-features --features alloc

Если вы хотите узнать больше о цитировании строк в YAML, я могу порекомендовать мою статью на эту тему .

...