forked from Rust-related/RustPython
146 lines
3.7 KiB
YAML
146 lines
3.7 KiB
YAML
language: rust
|
|
|
|
rust:
|
|
- stable
|
|
- beta
|
|
- nightly
|
|
|
|
script:
|
|
- cargo build --verbose --all
|
|
- cargo test --verbose --all
|
|
|
|
env:
|
|
# This is used to only capture the regular nightly test in allow_failures
|
|
- REGULAR_TEST=true
|
|
|
|
cache: cargo
|
|
|
|
matrix:
|
|
fast_finish: true
|
|
include:
|
|
# To test the snippets, we use Travis' Python environment (because
|
|
# installing rust ourselves is a lot easier than installing Python)
|
|
- language: python
|
|
python: 3.6
|
|
cache:
|
|
pip: true
|
|
# Because we're using the Python Travis environment, we can't use
|
|
# the built-in cargo cacher
|
|
directories:
|
|
- /home/travis/.cargo
|
|
- target
|
|
env:
|
|
- TRAVIS_RUST_VERSION=stable
|
|
- REGULAR_TEST=false
|
|
- CODE_COVERAGE=false
|
|
script: tests/.travis-runner.sh
|
|
- language: python
|
|
python: 3.6
|
|
cache:
|
|
pip: true
|
|
# Because we're using the Python Travis environment, we can't use
|
|
# the built-in cargo cacher
|
|
directories:
|
|
- /home/travis/.cargo
|
|
- target
|
|
env:
|
|
- TRAVIS_RUST_VERSION=beta
|
|
- REGULAR_TEST=false
|
|
- CODE_COVERAGE=false
|
|
script: tests/.travis-runner.sh
|
|
- name: rustfmt
|
|
language: rust
|
|
rust: stable
|
|
cache: cargo
|
|
before_script:
|
|
- rustup component add rustfmt-preview
|
|
script:
|
|
# Code references the generated python.rs, so put something in
|
|
# place to make `cargo fmt` happy. (We use `echo` rather than
|
|
# `touch` because rustfmt complains about the empty file touch
|
|
# creates.)
|
|
- echo > parser/src/python.rs
|
|
- cargo fmt --all -- --check
|
|
env:
|
|
- REGULAR_TEST=false
|
|
- name: publish documentation
|
|
language: rust
|
|
rust: stable
|
|
cache: cargo
|
|
script:
|
|
- cargo doc --no-deps --all
|
|
if: branch = release
|
|
env:
|
|
- REGULAR_TEST=false
|
|
- DEPLOY_DOC=true
|
|
- name: WASM online demo
|
|
language: rust
|
|
rust: nightly
|
|
cache: cargo
|
|
install:
|
|
- nvm install node
|
|
# install wasm-pack
|
|
- curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
|
|
script:
|
|
- cd wasm/demo
|
|
- npm install
|
|
- npm run dist
|
|
if: branch = release
|
|
env:
|
|
- REGULAR_TEST=false
|
|
- DEPLOY_DEMO=true
|
|
- name: cargo-clippy
|
|
language: rust
|
|
rust: stable
|
|
cache: cargo
|
|
before_script:
|
|
- rustup component add clippy
|
|
script:
|
|
- cargo clippy
|
|
env:
|
|
- REGULAR_TEST=true
|
|
- name: Code Coverage
|
|
language: python
|
|
python: 3.6
|
|
cache:
|
|
pip: true
|
|
# Because we're using the Python Travis environment, we can't use
|
|
# the built-in cargo cacher
|
|
directories:
|
|
- /home/travis/.cargo
|
|
- target
|
|
script:
|
|
- tests/.travis-runner.sh
|
|
env:
|
|
- TRAVIS_RUST_VERSION=nightly
|
|
- REGULAR_TEST=false
|
|
- CODE_COVERAGE=true
|
|
allow_failures:
|
|
- rust: nightly
|
|
env: REGULAR_TEST=true
|
|
- name: cargo-clippy
|
|
|
|
deploy:
|
|
- provider: pages
|
|
repo: RustPython/website
|
|
target-branch: master
|
|
local-dir: target/doc
|
|
skip-cleanup: true
|
|
# Set in the settings page of your repository, as a secure variable
|
|
github-token: $WEBSITE_GITHUB_TOKEN
|
|
keep-history: true
|
|
on:
|
|
branch: release
|
|
condition: $DEPLOY_DOC = true
|
|
- provider: pages
|
|
repo: RustPython/demo
|
|
target-branch: master
|
|
local-dir: wasm/demo/dist
|
|
skip-cleanup: true
|
|
# Set in the settings page of your repository, as a secure variable
|
|
github-token: $WEBSITE_GITHUB_TOKEN
|
|
keep-history: true
|
|
on:
|
|
branch: release
|
|
condition: $DEPLOY_DEMO = true
|