Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
name: Build Stack-chan Firmware
on:
push:
paths:
- 'firmware/**'
- 'web/package.json'
- 'web/package-lock.json'
- 'web/simulator/**'
- '.github/actions/setup/action.yml'
- '.github/workflows/build.yml'
- 'lefthook.yml'
pull_request:
paths:
- 'firmware/**'
- 'web/package.json'
- 'web/package-lock.json'
- 'web/simulator/**'
- '.github/actions/setup/action.yml'
- '.github/workflows/build.yml'
- 'lefthook.yml'
workflow_dispatch:
permissions:
contents: read
concurrency:
group: build-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
biome:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/setup
- name: Run Biome
working-directory: ./firmware
run: npx biome ci .
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/setup
- name: Run firmware tests
working-directory: ./firmware
run: npm run test
- name: Smoke test Linux simulator startup
working-directory: ./firmware
run: source "$HOME/.local/share/xs-dev-export.sh" && npm run smoke:lin
- name: Run web simulator tests
working-directory: ./web
run: npm test
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target:
- esp32/m5stack
- esp32/m5stack_cores3
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/setup
- name: Build firmware
working-directory: ./firmware
run: source "$HOME/.local/share/xs-dev-export.sh" && npm run build --target=${{ matrix.target }}
83227dbdbThis file is pinned to the selected release. Download the original to open it in your design tool.