Repository navigation
[DONE] 행동 강령·보안·지원 안내는 .github/ 로, 오디오 가이드는 docs/ 로 옮겨 루트가 한눈에 읽힌다 #2
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Console pages in sync | |
| # The console pages are authored as firmware/patternflow/console/*.html and | |
| # spliced into the PROGMEM headers by firmware/toolchain/console_pages.py. | |
| # | |
| # That arrangement has exactly one way to go wrong: someone edits the .h | |
| # directly. Nothing complains, the device ships their change — and the next | |
| # `console_pages.py build` silently overwrites it with the older HTML. The | |
| # work disappears with no error anywhere. | |
| # | |
| # So this checks that every header still matches its HTML - and that the | |
| # gzip twin `build` lays under each literal (theme_index.h and fflate_js.h | |
| # carry one too, with no HTML of their own) still decompresses to it. | |
| on: | |
| pull_request: | |
| paths: | |
| - "firmware/patternflow/console/**" | |
| - "firmware/patternflow/src/*_index.h" | |
| - "firmware/patternflow/src/fflate_js.h" | |
| - "firmware/patternflow/features/**/*_index.h" | |
| - "firmware/toolchain/console_pages.py" | |
| - "firmware/toolchain/build_audio_in_page.py" | |
| - "tools/patternflow-audio-extension/**" | |
| - ".github/workflows/console-sync.yml" | |
| push: | |
| branches: [main] | |
| paths: | |
| - "firmware/patternflow/console/**" | |
| - "firmware/patternflow/src/*_index.h" | |
| - "firmware/patternflow/src/fflate_js.h" | |
| - "firmware/patternflow/features/**/*_index.h" | |
| - "firmware/toolchain/console_pages.py" | |
| - "firmware/toolchain/build_audio_in_page.py" | |
| - "tools/patternflow-audio-extension/**" | |
| concurrency: | |
| group: console-sync-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: {} | |
| jobs: | |
| check: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.x" | |
| - name: Headers match console/*.html | |
| run: python firmware/toolchain/console_pages.py check | |
| # audio-in.html is itself generated: from the browser extension's mapping | |
| # editor and the console/_audio_in* files. The step above proves the | |
| # header matches the page; this proves the page is what those sources | |
| # assemble to, and that it is inside its size budget (BUDGET in the | |
| # script: the stamped page, gzip -9, as the panel sends it). The step | |
| # above reports both too; this one keeps them a line of their own. | |
| - name: audio-in.html matches its sources and is inside its size budget | |
| run: python firmware/toolchain/build_audio_in_page.py --check |