]> git.lizzy.rs Git - rust.git/commitdiff
Add integration test GitHub action
authorflip1995 <hello@philkrones.com>
Mon, 20 Jan 2020 15:03:26 +0000 (16:03 +0100)
committerflip1995 <hello@philkrones.com>
Wed, 12 Feb 2020 08:34:25 +0000 (09:34 +0100)
.github/workflows/integration.yml [new file with mode: 0644]

diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml
new file mode 100644 (file)
index 0000000..fc05ee9
--- /dev/null
@@ -0,0 +1,69 @@
+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