Skip to content

Add combiner configurations, strict enum checks #198

Add combiner configurations, strict enum checks

Add combiner configurations, strict enum checks #198

Workflow file for this run

name: All Checks
on: [push, pull_request]
jobs:
gen-ral:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install a stable Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
# Not using actions-rs/install, since it's experimental.
# Guessing that this tool isn't in the tool cache, so
# there's no benefit.
- name: Install svdtools
uses: actions-rs/cargo@v1
with:
command: install
args: svdtools --version=0.2.8
- name: Generate RAL
run: make ci
- name: Ensure RAL is consistent with checked-in code
run: git update-index --refresh && git diff-index --quiet HEAD
- name: Check format for RAL
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
lints:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
components: clippy
- name: Lint raltool
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --package=raltool
- name: Lint imxrt-ral
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --package=imxrt-ral --features=imxrt1062,rt
build-ral-core:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
- name: Test imxrt-ral for core features
uses: actions-rs/cargo@v1
with:
command: test
args: --tests --lib
build-ral:
runs-on: ubuntu-latest
strategy:
matrix:
feature:
# Individual chips
- "imxrt1011,rt"
- "imxrt1015,rt"
- "imxrt1021,rt"
- "imxrt1051,rt"
- "imxrt1052,rt"
- "imxrt1061,rt"
- "imxrt1062,rt"
- "imxrt1064,rt"
- "imxrt1176_cm4,rt"
- "imxrt1176_cm7,rt"
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: thumbv7em-none-eabihf
profile: minimal
- name: Build for ${{ matrix.feature }} RAL
uses: actions-rs/cargo@v1
with:
command: build
args: --verbose --features ${{ matrix.feature }} --target thumbv7em-none-eabihf
# Run documentation tests
#
# Doctests might not work for all features.
doctest-ral:
runs-on: ubuntu-latest
strategy:
matrix:
feature:
- "imxrt1062,rt"
- "imxrt1021,rt"
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
- name: Run doctests for (${{ matrix.feature }}) RAL
uses: actions-rs/cargo@v1
with:
command: test
args: --doc --verbose --features ${{ matrix.feature }}
# Run unit, integration tests
test-ral:
runs-on: ubuntu-latest
strategy:
matrix:
feature:
- "imxrt1011"
- "imxrt1021"
- "imxrt1062,rt"
- "imxrt1176_cm4"
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
- name: Run unit, integration tests for ${{ matrix.feature }}
uses: actions-rs/cargo@v1
with:
command: test
args: --tests --lib --verbose --features ${{ matrix.feature }}
examples-teensy4:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: thumbv7em-none-eabihf
override: true
profile: minimal
- name: Build examples/teensy4
uses: actions-rs/cargo@v1
with:
command: build
args: --package=imxrt-ral-examples-teensy4 --target thumbv7em-none-eabihf