Files
openbitdo/.github/workflows/ci.yml

60 lines
1.4 KiB
YAML

name: CI
on:
push:
paths:
- '**'
pull_request:
paths:
- '**'
workflow_dispatch:
jobs:
guard:
runs-on: ubuntu-latest
defaults:
run:
working-directory: sdk
steps:
- uses: actions/checkout@v4
- name: Clean-room guard
run: ./scripts/cleanroom_guard.sh
test:
runs-on: ubuntu-latest
needs: guard
defaults:
run:
working-directory: sdk
steps:
- uses: actions/checkout@v4
- name: Install system deps
run: |
sudo apt-get update
sudo apt-get install -y libudev-dev pkg-config
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Run tests
run: cargo test --workspace --all-targets
hardware-smoke:
runs-on: [self-hosted, linux, hid-lab]
if: (github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch') && vars.HARDWARE_SMOKE_ENABLED == '1'
continue-on-error: true
needs: test
defaults:
run:
working-directory: sdk
steps:
- uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Hardware smoke tests
run: ./scripts/run_hardware_smoke.sh
- name: Upload hardware smoke report
if: always()
uses: actions/upload-artifact@v4
with:
name: hardware-smoke-report
path: harness/reports/*.json