summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNadrieril Feneanar2020-03-18 16:01:54 +0000
committerGitHub2020-03-18 16:01:54 +0000
commit8ab1834a5aef209347f5d11f98a8321fcfd4a5f6 (patch)
treeaae2a9c07e99ffb9724e3bb61189dfbd10610444
parentf90f00c38861a49eba950a59424be8796f266524 (diff)
parent9538d9c2b13ea24d3f9a83946f65ac62693ae9b0 (diff)
Merge pull request #149 from Nadrieril/ci_matrix
Setup CI to test with various toolchains
-rw-r--r--.github/workflows/coverage.yml27
-rw-r--r--.github/workflows/style.yml (renamed from .github/workflows/rust.yml)27
-rw-r--r--.github/workflows/tests.yml58
-rw-r--r--README.md2
-rw-r--r--rust-toolchain2
5 files changed, 93 insertions, 23 deletions
diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml
new file mode 100644
index 0000000..946113a
--- /dev/null
+++ b/.github/workflows/coverage.yml
@@ -0,0 +1,27 @@
+name: Coverage
+
+on:
+ push:
+ branches: [ master ]
+
+jobs:
+ coverage:
+ name: Gather coverage data
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout branch
+ uses: actions/checkout@master
+ with:
+ submodules: true
+ - name: Setup Rust toolchain
+ uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ - name: Run tests with tarpaulin
+ uses: actions-rs/tarpaulin@v0.1
+ with:
+ args: '--all --exclude-files abnf_to_pest/* --exclude-files dhall_proc_macros/*'
+ - name: Upload coverage data to codecov.io
+ uses: codecov/codecov-action@v1.0.2
+ with:
+ token: ${{secrets.CODECOV_TOKEN}}
diff --git a/.github/workflows/rust.yml b/.github/workflows/style.yml
index 2d78480..1b71ad7 100644
--- a/.github/workflows/rust.yml
+++ b/.github/workflows/style.yml
@@ -1,4 +1,4 @@
-name: Test suite
+name: Style checks
on:
push:
@@ -8,7 +8,7 @@ on:
jobs:
fmt:
- name: Check formatting
+ name: Rustfmt
runs-on: ubuntu-latest
steps:
- name: Checkout branch
@@ -18,6 +18,7 @@ jobs:
- name: Setup Rust toolchain
uses: actions-rs/toolchain@v1
with:
+ profile: minimal
components: rustfmt
- name: Run rustfmt
uses: actions-rs/cargo@v1
@@ -26,7 +27,7 @@ jobs:
args: --all -- --check
clippy:
- name: Run clippy
+ name: Clippy
runs-on: ubuntu-latest
steps:
- name: Checkout branch
@@ -36,28 +37,10 @@ jobs:
- name: Setup Rust toolchain
uses: actions-rs/toolchain@v1
with:
+ profile: minimal
components: clippy
- name: Run clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings
-
- test:
- name: Run test suite
- runs-on: ubuntu-latest
- steps:
- - name: Checkout branch
- uses: actions/checkout@master
- with:
- submodules: true
- - name: Setup Rust toolchain
- uses: actions-rs/toolchain@v1
- - name: Run tests and gather coverage data
- uses: actions-rs/tarpaulin@v0.1
- with:
- args: '--release --all --exclude-files abnf_to_pest/* --exclude-files dhall_proc_macros/*'
- - name: Upload coverage data to codecov.io
- uses: codecov/codecov-action@v1.0.2
- with:
- token: ${{secrets.CODECOV_TOKEN}}
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
new file mode 100644
index 0000000..b257115
--- /dev/null
+++ b/.github/workflows/tests.yml
@@ -0,0 +1,58 @@
+name: Test suite
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ test_release:
+ name: Run tests (release)
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ rust:
+ - stable
+ steps:
+ - name: Checkout branch
+ uses: actions/checkout@master
+ with:
+ submodules: true
+ - name: Setup Rust toolchain
+ uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: ${{ matrix.rust }}
+ override: true
+ - name: Run tests
+ uses: actions-rs/cargo@v1
+ with:
+ command: test
+ args: --release
+
+ tests_debug:
+ name: Run tests
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ rust:
+ - beta
+ - nightly
+ - 1.42.0 # Minimum supported version
+ steps:
+ - name: Checkout branch
+ uses: actions/checkout@master
+ with:
+ submodules: true
+ - name: Setup Rust toolchain
+ uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: ${{ matrix.rust }}
+ override: true
+ - name: Run tests
+ uses: actions-rs/cargo@v1
+ with:
+ command: test
+
diff --git a/README.md b/README.md
index 551aeb1..dc5a07e 100644
--- a/README.md
+++ b/README.md
@@ -59,6 +59,8 @@ expected_map.insert("y".to_string(), 2);
assert_eq!(deserialized_map, expected_map);
```
+`dhall` requires Rust >= 1.42.0
+
## Standard-compliance
This implementation currently supports most of the [Dhall
diff --git a/rust-toolchain b/rust-toolchain
index a50908c..2bf5ad0 100644
--- a/rust-toolchain
+++ b/rust-toolchain
@@ -1 +1 @@
-1.42.0
+stable