diff options
-rw-r--r-- | .github/workflows/coverage.yml | 27 | ||||
-rw-r--r-- | .github/workflows/style.yml (renamed from .github/workflows/rust.yml) | 27 | ||||
-rw-r--r-- | .github/workflows/tests.yml | 58 | ||||
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | rust-toolchain | 2 |
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 + @@ -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 |