* feat: Add HIL support for S3 * ci: Add dummy s3 job * test: Filter interrupt test for Xtensa devices * ci: Install Xtensa toolchain
68 lines
1.9 KiB
YAML
68 lines
1.9 KiB
YAML
name: HIL
|
|
|
|
on:
|
|
merge_group:
|
|
workflow_dispatch:
|
|
inputs:
|
|
repository:
|
|
description: "Owner and repository to test"
|
|
required: true
|
|
default: 'esp-rs/esp-hal'
|
|
branch:
|
|
description: "Branch, tag or SHA to checkout."
|
|
required: true
|
|
default: "main"
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
|
|
jobs:
|
|
hil:
|
|
name: HIL Test | ${{ matrix.target.soc }}
|
|
runs-on:
|
|
labels: [self-hosted, "${{ matrix.target.runner }}"]
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
target:
|
|
# RISC-V devices:
|
|
- soc: esp32c3
|
|
runner: rustboard
|
|
rust-target: riscv32imc-unknown-none-elf
|
|
- soc: esp32c6
|
|
runner: esp32c6-usb
|
|
rust-target: riscv32imac-unknown-none-elf
|
|
- soc: esp32h2
|
|
runner: esp32h2-usb
|
|
rust-target: riscv32imac-unknown-none-elf
|
|
# Xtensa devices:
|
|
- soc: esp32s3
|
|
runner: esp32s3-usb
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
if: github.event_name != 'workflow_dispatch'
|
|
|
|
- uses: actions/checkout@v4
|
|
if: github.event_name == 'workflow_dispatch'
|
|
with:
|
|
repository: ${{ github.event.inputs.repository }}
|
|
ref: ${{ github.event.inputs.branch }}
|
|
|
|
# Install the Rust toolchain for RISC-V devices:
|
|
- if: ${{ !contains(fromJson('["esp32", "esp32s2", "esp32s3"]'), matrix.target.soc) }}
|
|
uses: dtolnay/rust-toolchain@v1
|
|
with:
|
|
target: ${{ matrix.target.rust-target }}
|
|
toolchain: nightly
|
|
components: rust-src
|
|
# Install the Rust toolchain for Xtensa devices:
|
|
- if: contains(fromJson('["esp32", "esp32s2", "esp32s3"]'), matrix.target.soc)
|
|
uses: esp-rs/xtensa-toolchain@v1.5
|
|
with:
|
|
buildtargets: ${{ matrix.target.soc }}
|
|
default: true
|
|
ldproxy: false
|
|
|
|
- name: Run tests
|
|
run: cargo xtask run-tests ${{ matrix.target.soc }}
|