* Create the `hil-test` package * Add a simple integration test to verify basic GPIO functionality * WIP * feat: Update with esp-hal unification * build: Update dependencies * feat: Add a simple CI workflow test * ci: Avoid using a gh-hosted-runner to build * ci: Remove building bins in gh-hosted-runner * ci: Remove HIL Gpio CI test * ci: Test all the available tests * test: Add spi_full_duplex test * docs: Add documentation * test: Add uart test * style: Remove unused imports * docs: Update wiring, document H2 VM * ci: Enable H2 tests * ci: Add rust-cache action * docs: Document H2 vm * test: Add timeout * ci: Enable ESP32-C3 tests * feat: Add timeouts * feat: Add aes test * ci: Avoid running CI workflow when we change hil-test stuff * test: Remove warnings * feat: Address feedback * feat: Update features names and spi methods * ci: Remove rust-cache action * Update HIL to probe-rs#2292 (#1307) * feat: Update probe-rs/embedded-test to probe-rs#2292 * feat: Remove lib * ci: Use a matrix * ci: Enable ESP32C3 * feat: Add a way to cfg away test for unsuported peripherals * ci: Update trigger conditions * feat: Update pins to make it work on s3 * feat: Changes enabling S3 * feat: Remove log feature * feat: Adapt for rebase * feat: Remove env * feat: enable S3 * chore: Remove todo * build: Pin dependencies * feat: Add target alias * docs: Update readme * fix: Fix traits imports after rebase. Use debug * build: Remove lto * feat: Build tests on release mode --------- Co-authored-by: Jesse Braham <jesse@beta7.io>
60 lines
1.5 KiB
YAML
60 lines
1.5 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:
|
|
# Test RISC-V targets:
|
|
riscv-hil:
|
|
name: HIL Test | ${{ matrix.target.soc }}
|
|
runs-on:
|
|
labels: [self-hosted, "${{ matrix.target.runner }}"]
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
target:
|
|
- 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
|
|
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 }}
|
|
|
|
- uses: dtolnay/rust-toolchain@v1
|
|
with:
|
|
target: ${{ matrix.target.rust-target }}
|
|
toolchain: nightly
|
|
components: rust-src
|
|
|
|
- name: Run tests
|
|
working-directory: hil-test
|
|
run: cargo ${{ matrix.target.soc }}
|
|
|
|
# Test Xtensa targets:
|
|
# TODO: Add jobs for Xtensa once supported by `probe-rs`
|