mirror of
https://github.com/rtic-rs/rtic.git
synced 2025-12-16 21:05:35 +01:00
ci: use reusable workflow
This commit is contained in:
parent
ae2ad9f7d8
commit
b43590510d
2 changed files with 68 additions and 72 deletions
84
.github/workflows/build.yml
vendored
84
.github/workflows/build.yml
vendored
|
|
@ -33,10 +33,15 @@ jobs:
|
||||||
- name: cargo xtask fmt
|
- name: cargo xtask fmt
|
||||||
run: cargo xtask --verbose fmt -c
|
run: cargo xtask --verbose fmt -c
|
||||||
|
|
||||||
# Compilation check
|
# Verify all examples, checks
|
||||||
check:
|
check-clippy:
|
||||||
name: check
|
uses: ./.github/workflows/clippy-check-example.yml
|
||||||
runs-on: ubuntu-22.04
|
with:
|
||||||
|
backend: ${{ matrix.input.backend }}
|
||||||
|
platform: ${{ matrix.input.platform }}
|
||||||
|
rustup-target: ${{ matrix.input.rustup-target }}
|
||||||
|
example-args: ${{ matrix.input.example-args }}
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
input:
|
input:
|
||||||
|
|
@ -51,6 +56,7 @@ jobs:
|
||||||
- backend: thumbv8-base
|
- backend: thumbv8-base
|
||||||
platform: lm3s6965
|
platform: lm3s6965
|
||||||
rustup-target: thumbv8m.base-none-eabi
|
rustup-target: thumbv8m.base-none-eabi
|
||||||
|
example-args: --exampleexclude pool
|
||||||
|
|
||||||
- backend: thumbv8-main
|
- backend: thumbv8-main
|
||||||
platform: lm3s6965
|
platform: lm3s6965
|
||||||
|
|
@ -67,20 +73,9 @@ jobs:
|
||||||
- backend: riscv-esp32-c3
|
- backend: riscv-esp32-c3
|
||||||
platform: esp32-c3
|
platform: esp32-c3
|
||||||
rustup-target: riscv32imc-unknown-none-elf
|
rustup-target: riscv32imc-unknown-none-elf
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Configure Rust target ${{ matrix.input.rustup-target }}
|
|
||||||
run: rustup target add ${{ matrix.input.rustup-target }}
|
|
||||||
|
|
||||||
- name: Cache Dependencies
|
|
||||||
uses: Swatinem/rust-cache@v2
|
|
||||||
|
|
||||||
- run: cargo xtask --deny-warnings --platform ${{ matrix.input.platform }} --backend ${{ matrix.input.backend }} check
|
|
||||||
|
|
||||||
# Clippy
|
# Clippy
|
||||||
# TODO: clippy esp32-c3
|
# TODO: put in clippy-check-example once esp32-c3 clippy is fixed
|
||||||
clippy:
|
clippy:
|
||||||
name: clippy
|
name: clippy
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
|
|
@ -126,59 +121,6 @@ jobs:
|
||||||
|
|
||||||
- run: cargo xtask --deny-warnings --platform ${{ matrix.input.platform }} --backend ${{ matrix.input.backend }} clippy
|
- run: cargo xtask --deny-warnings --platform ${{ matrix.input.platform }} --backend ${{ matrix.input.backend }} clippy
|
||||||
|
|
||||||
# Verify all examples, checks
|
|
||||||
checkexamples:
|
|
||||||
name: check examples
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
input:
|
|
||||||
- backend: thumbv7
|
|
||||||
platform: lm3s6965
|
|
||||||
rustup-target: thumbv7m-none-eabi
|
|
||||||
|
|
||||||
- backend: thumbv6
|
|
||||||
platform: lm3s6965
|
|
||||||
rustup-target: thumbv6m-none-eabi
|
|
||||||
|
|
||||||
- backend: thumbv8-base
|
|
||||||
platform: lm3s6965
|
|
||||||
rustup-target: thumbv8m.base-none-eabi
|
|
||||||
|
|
||||||
- backend: thumbv8-main
|
|
||||||
platform: lm3s6965
|
|
||||||
rustup-target: thumbv8m.main-none-eabi
|
|
||||||
|
|
||||||
- backend: riscv32-imc-clint
|
|
||||||
platform: hifive1
|
|
||||||
rustup-target: riscv32imc-unknown-none-elf
|
|
||||||
|
|
||||||
- backend: riscv32-imc-mecall
|
|
||||||
platform: hifive1
|
|
||||||
rustup-target: riscv32imc-unknown-none-elf
|
|
||||||
|
|
||||||
- backend: riscv-esp32-c3
|
|
||||||
platform: esp32-c3
|
|
||||||
rustup-target: riscv32imc-unknown-none-elf
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Configure Rust target ${{ matrix.input.rustup-target }}
|
|
||||||
run: rustup target add ${{ matrix.input.rustup-target }}
|
|
||||||
|
|
||||||
- name: Cache Dependencies
|
|
||||||
uses: Swatinem/rust-cache@v2
|
|
||||||
|
|
||||||
- name: Check the examples
|
|
||||||
if: ${{ matrix.input.backend == 'thumbv8-base' }}
|
|
||||||
run: cargo xtask --platform ${{ matrix.input.platform }} --backend ${{ matrix.input.backend }} --exampleexclude pool example-check
|
|
||||||
|
|
||||||
- name: Check the examples
|
|
||||||
if: ${{ matrix.input.backend != 'thumbv8-base' }}
|
|
||||||
run: cargo xtask --platform ${{ matrix.input.platform }} --backend ${{ matrix.input.backend }} example-check
|
|
||||||
|
|
||||||
buildqemu:
|
buildqemu:
|
||||||
name: Get modern QEMU, build and store
|
name: Get modern QEMU, build and store
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
|
|
@ -763,9 +705,7 @@ jobs:
|
||||||
if: github.event_name == 'push' && success()
|
if: github.event_name == 'push' && success()
|
||||||
needs:
|
needs:
|
||||||
- formatcheck
|
- formatcheck
|
||||||
- check
|
- check-clippy
|
||||||
- clippy
|
|
||||||
- checkexamples
|
|
||||||
- testexamples
|
- testexamples
|
||||||
- tests
|
- tests
|
||||||
- docs
|
- docs
|
||||||
|
|
|
||||||
56
.github/workflows/clippy-check-example.yml
vendored
Normal file
56
.github/workflows/clippy-check-example.yml
vendored
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
name: check-clippy-examples
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
backend:
|
||||||
|
description: The backend to execute for
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
platform:
|
||||||
|
description: The platform to execute for
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
# TODO: get this from `cargo xtask`!
|
||||||
|
rustup-target:
|
||||||
|
description: The rustup target to install
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
example-args:
|
||||||
|
description: Extra args to pass when checking examples
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
name: Validate platform ${{ inputs.platform }}, backend ${{ inputs.backend }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Configure Rust target ${{ inputs.rustup-target }}
|
||||||
|
run: rustup target add ${{ inputs.rustup-target }}
|
||||||
|
|
||||||
|
- name: Cache Dependencies
|
||||||
|
uses: Swatinem/rust-cache@v2
|
||||||
|
|
||||||
|
- run: cargo xtask --deny-warnings check -p ${{ inputs.platform }} -b ${{ inputs.backend }}
|
||||||
|
|
||||||
|
check-examples:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
name: Check examples
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Configure Rust target ${{ inputs.rustup-target }}
|
||||||
|
run: rustup target add ${{ inputs.rustup-target }}
|
||||||
|
|
||||||
|
- name: Cache Dependencies
|
||||||
|
uses: Swatinem/rust-cache@v2
|
||||||
|
|
||||||
|
- name: Check the examples
|
||||||
|
run: cargo xtask example-check --platform ${{ inputs.platform }} --backend ${{ inputs.backend }} ${{ inputs.example-args }}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue