--- /dev/null
+name: Integration
+
+on:
+ push:
+ branches:
+ - auto
+ - try
+ # Don't run integration tests, when only textfiles were modified
+ paths-ignore:
+ - 'COPYRIGHT'
+ - 'LICENSE-*'
+ - '**.md'
+ - '**.txt'
+
+env:
+ RUST_BACKTRACE: 1
+
+jobs:
+ integration:
+ strategy:
+ fail-fast: false
+ matrix:
+ integration:
+ - 'rust-lang/rls'
+ - 'rust-lang/cargo'
+ - 'rust-lang/chalk'
+ - 'Geal/nom'
+ - 'rust-lang/rustfmt'
+ - 'hyperium/hyper'
+ - 'rust-itertools/itertools'
+ - 'serde-rs/serde'
+ - 'rust-lang/stdarch'
+ - 'rust-random/rand'
+ - 'rust-lang/futures-rs'
+ - 'Marwes/combine'
+ - 'rust-lang-nursery/failure'
+ - 'rust-lang/log'
+ - 'chronotope/chrono'
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: rust-toolchain
+ uses: actions-rs/toolchain@v1.0.3
+ with:
+ toolchain: nightly
+ target: x86_64-unknown-linux-gnu
+ profile: minimal
+ - name: Cache cargo dir
+ uses: actions/cache@v1
+ with:
+ path: ~/.cargo
+ key: ${{ runner.os }}-x86_64-unknown-linux-gnu
+ - name: Checkout
+ uses: actions/checkout@v2.0.0
+ - name: Master Toolchain Setup
+ run: bash setup-toolchain.sh
+
+ - name: Build
+ run: cargo build --features integration
+ - name: Test ${{ matrix.integration }}
+ run: cargo test --test integration --features integration
+ env:
+ INTEGRATION: ${{ matrix.integration }}
+
+ - name: Run cargo-cache --autoclean
+ run: |
+ cargo install cargo-cache --debug
+ find ~/.cargo/bin ! -type d -exec strip {} \;
+ cargo cache --autoclean