- Workflow renamed 'PR build' -> 'Build & analyze' (job 'f7 firmware').
- Artifact/report tag is now <branch>-<sha8> (was pr<number>-<sha8>) so manual/dev runs name sensibly; '/' sanitized to '-'.
- workflow_dispatch kept/documented for manual runs (incl. from dev once on the default branch).
- Concurrency keyed on workflow + PR/ref with cancel-in-progress: a newer push/dispatch cancels the superseded run.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The glob arm-none-eabi-size* matched share/man/.../arm-none-eabi-size.1 before the bin/ binary, so the size step crashed and reported 'unavailable'. Match */bin/arm-none-eabi-size exactly, and degrade gracefully if the size binary is unusable.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New fw_size_report.py reads the firmware ELF's .free_flash section (exact flash-left) plus flash/RAM usage and the DFU file size. The size, build status, and API-change sections are consolidated into one self-updating PR comment + job summary.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
checkout v4->v6, upload-artifact v4->v7, github-script v7->v9 ahead of the 2026-06-16 Node 20 runtime deprecation.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds a pull_request workflow that builds the minimal f7 (clean) firmware, publishes it as a downloadable artifact, and reports public-API (api_symbols.csv) changes to the PR via the job summary and a PR comment.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* removed all continue-on-error lines
* Github: add assets deployment after format
Co-authored-by: Konstantin Volkov <k.volkov@flipperdevices.com>
Co-authored-by: あく <alleteam@gmail.com>
* fbt: fixed py scripts for gdb
* fbt: removed compiled dolphin assets from tracked files; resolved cached dependency issues by globally disabling deps cache; changed dependency tracking for dolphin assets
* fbt: fix for "resources" node lookup
* toolchain: bump to v.16 with scons + x64 win binaries
* fbt: using scons from toolchain
* vscode: fixed paths for 64-bit Windows toolchain
* fbt: added colors!
* fbt: moved import validator to ansi lib coloring
* fbt: moved COMSTR vars to tools
* fbt: custom action for fap dist
* fbt: added OPENOCD_ADAPTER_SERIAL configuration var for openocd operations
* fbt: added get_stlink target
* docs: details on libs for faps
* vscode: added DAP config for using Flipper as a debugger for a 2nd Flipper
* fbt: blind deps fix for sdk_origin
* fbt: sdk: moved deployment actions to pure python
* Github: disable disableLicenseExpirationCheck option for pvs
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
* fix quotes in amap
* try to fix quotes
* try to read "commit_message"
* Add new actions anv parser
* fix amap_anayse
* fix script ssl error
* test build with new get commit details method
* fix build.yml
* add fbt envs to get_env.py
* fix envs
* using new commit info "way"
* try to fix report link in PR page
* fix "pvs_studio.yml" again
* fix vars
* fix "build.yml"
Co-authored-by: あく <alleteam@gmail.com>
* enable sparseCheckout, moving github actions from docker to raw shell
* fix missing known_hosts while setting ssh priv key
* fix build.yml
* add ssh key to upload just in time
* fixing rsync syntax
* fix build.yml
* try to fix build.yml again
* testing rsync
* test rsync again
* add linters
* add Black Python linter to submodules
* add Black submodule
* add working python linter target, dirty file list
* up toolchain to version 4
* up toolchain to ver 5
* up toolchain version to 6
* fbt: using black 22.6.0
* remove Black submodule, up toolchain to ver 7
* fbt: added lint_py, format_py targets
* add pvs_studio workflow
* fix pvs_studio segfault
* fix pvs_studio command
* fix pvs_studio command 2
* show env before run pvs_studio
* try to debug pvs_studio
* try to strace pvs_studio..
* Add FBT_TOOLCHAIN_PATH, MacOS Rosseta check, and ignore non-x86_64 linux architectures
* prevent redownloading toolchain on github-runners
* fix toolchain download exitcode
* add strace to debug pvs_studio segfault
* disable strace to catch full code dump
* Add './fbt cli' target to access Flipper CLI via PySerial
* remove pvs_studio from this PR
* removing clang-format from toolchain due errors
* make source easy, and fix some mistakes found by @hedger
* Add check_submodules workflow, some fixes
* fixing mistakes
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>