summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorNadrieril2020-03-18 15:55:19 +0000
committerNadrieril2020-03-18 15:55:19 +0000
commit9538d9c2b13ea24d3f9a83946f65ac62693ae9b0 (patch)
treeaae2a9c07e99ffb9724e3bb61189dfbd10610444 /.github/workflows
parenta9153f0cd7980f7cd51e5376d7afdfa372973d6a (diff)
Reorganize CI workflows
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/coverage.yml27
-rw-r--r--.github/workflows/rust.yml98
-rw-r--r--.github/workflows/style.yml46
-rw-r--r--.github/workflows/tests.yml58
4 files changed, 131 insertions, 98 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/rust.yml
deleted file mode 100644
index a9ba892..0000000
--- a/.github/workflows/rust.yml
+++ /dev/null
@@ -1,98 +0,0 @@
-name: Test suite
-
-on:
- push:
- branches: [ master ]
- pull_request:
- branches: [ master ]
-
-jobs:
- fmt:
- name: Check formatting
- 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
- components: rustfmt
- - name: Run rustfmt
- uses: actions-rs/cargo@v1
- with:
- command: fmt
- args: --all -- --check
-
- clippy:
- name: Run clippy
- 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
- components: clippy
- - name: Run clippy
- uses: actions-rs/cargo@v1
- with:
- command: clippy
- args: -- -D warnings
-
- test_and_coverage:
- name: Run tests and gather coverage data
- 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 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}}
-
- test:
- 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/.github/workflows/style.yml b/.github/workflows/style.yml
new file mode 100644
index 0000000..1b71ad7
--- /dev/null
+++ b/.github/workflows/style.yml
@@ -0,0 +1,46 @@
+name: Style checks
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ fmt:
+ name: Rustfmt
+ 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
+ components: rustfmt
+ - name: Run rustfmt
+ uses: actions-rs/cargo@v1
+ with:
+ command: fmt
+ args: --all -- --check
+
+ clippy:
+ name: Clippy
+ 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
+ components: clippy
+ - name: Run clippy
+ uses: actions-rs/cargo@v1
+ with:
+ command: clippy
+ args: -- -D warnings
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
+