Use matrix in GHA workflow to reduce duplication

This commit is contained in:
Wilfried Chauveau 2022-08-13 17:14:18 +01:00
parent f10c73f4fa
commit 082281b10b
No known key found for this signature in database
GPG key ID: 0BC4C0B2B0879D6A

View file

@ -1,9 +1,13 @@
on: [push, pull_request]
name: Build and Test check
jobs:
check:
name: cargo-check
builds:
name: "Build checks"
runs-on: ubuntu-20.04
strategy:
matrix:
features: ["", "--features eh1_0_alpha", "--features chrono"]
mode: ["", "--release"]
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
@ -12,51 +16,26 @@ jobs:
target: thumbv6m-none-eabi
override: true
profile: minimal
- name: "Build workspace (debug)"
- name: "Build workspace"
uses: actions-rs/cargo@v1
with:
command: build
args: --workspace
- name: "Build workspace and examples (debug)"
args: ${{ matrix.mode }} --workspace ${{ matrix.features }}
- name: "Build workspace and examples"
uses: actions-rs/cargo@v1
with:
command: build
args: --workspace --examples
- name: "List built examples and clean"
run: rm -vrf target/thumbv6m-none-eabi/*/examples/* | sed -e "s/removed '\(.*\)'/\1/" | xargs -l basename | grep -Ev '(-|\.d)'
- name: "Build workspace and examples (debug, features=eh1_0_alpha)"
uses: actions-rs/cargo@v1
with:
command: build
args: --workspace --examples --features eh1_0_alpha
- name: "List built examples and clean"
run: rm -vrf target/thumbv6m-none-eabi/*/examples/* | sed -e "s/removed '\(.*\)'/\1/" | xargs -l basename | grep -Ev '(-|\.d)'
- name: "Build workspace and examples (release)"
uses: actions-rs/cargo@v1
with:
command: build
args: --release --workspace --examples
- name: "List built examples and clean"
run: rm -vrf target/thumbv6m-none-eabi/*/examples/* | sed -e "s/removed '\(.*\)'/\1/" | xargs -l basename | grep -Ev '(-|\.d)'
- name: "Build workspace and examples (release, features=eh1_0_alpha)"
uses: actions-rs/cargo@v1
with:
command: build
args: --release --workspace --examples --features eh1_0_alpha
args: ${{ matrix.mode }} --workspace --examples ${{ matrix.features }}
- name: "List built examples and clean"
run: rm -vrf target/thumbv6m-none-eabi/*/examples/* | sed -e "s/removed '\(.*\)'/\1/" | xargs -l basename | grep -Ev '(-|\.d)'
- name: "Test"
uses: actions-rs/cargo@v1
with:
command: test
args: --tests --target x86_64-unknown-linux-gnu
args: --tests --target x86_64-unknown-linux-gnu ${{ matrix.features }}
- name: "Test docs"
uses: actions-rs/cargo@v1
with:
command: test
args: --doc --target x86_64-unknown-linux-gnu
- name: "Test docs (features=chrono)"
uses: actions-rs/cargo@v1
with:
command: test
args: --doc --target x86_64-unknown-linux-gnu --features chrono
args: --doc --target x86_64-unknown-linux-gnu ${{ matrix.features }}