Skip to content

ci: backport #12088 - size report against the build's base, keep newest baselines - #12151

Merged
sensei-hacker merged 2 commits into
iNavFlight:release/9.1from
sensei-hacker:backport/pr12088-size-report-release-91
Oct 14, 2026
Merged

sensei-hacker merged 2 commits into
iNavFlight:release/9.1from
sensei-hacker:backport/pr12088-size-report-release-91

Conversation

@sensei-hacker

Copy link
Copy Markdown
Member

Backport of #12088 (MrScothh) to release/9.1. Both commits are cherry-picked with -x and keep their original authorship; they applied without conflicts.

  • ci.yml / ci-size-report.yml: compare a PR's sizes against the base commit its build contains, not the merge-base.
  • publish-size-baseline.sh: prune size baselines by published_at instead of created_at, so a new baseline is not deleted right after publishing.

Depends on #11835, which is already on release/9.1. Since release/9.1 merges forward into maintenance-10.x, this is expected to supersede #12088 there.

Tested: publish-size-baseline.test.sh, size-diff-comment.test.js (31/31) and compute-region-sizes.test.py all pass; both workflows parse as valid YAML. The workflow behavior itself can only be exercised by CI on this PR.

https://claude.ai/code/session_013M19brPP7i2M6LA84AWLgB

CI builds refs/pull/<n>/merge, the base branch as it stood when the run
started plus the PR, but the size report compared that build with the
merge-base, so every change merged to the base since the PR forked was
reported as the PR's own. ci.yml now records the merge's first parent in
the base-ref artifact, only when HEAD is that merge, and the size report
uses it; builds made before that fall back to the merge-base as before.
When only a nearer ancestor has a baseline, the comment names both
commits, so the reader knows what the delta also covers.

(cherry picked from commit 184e8e2)
Pruning sorted the per-commit baselines by created_at, which GitHub sets
to the date of the commit a release's tag points to. Every tag in
pr-test-builds points to the same commit, so all the baselines share one
created_at and the sort fell back to the tag, that is to the SHA. With
maintenance-10.x at its 50, a new baseline whose SHA sorted below the
lowest kept one was deleted right after being published. Sort by
published_at, and test the order with the created_at GitHub reports.

(cherry picked from commit f5217c2)
@qodo-code-review

Copy link
Copy Markdown
Contributor

ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing

@github-actions

Copy link
Copy Markdown

RAM / Flash usage vs. base commit af88494 — commit 65d9454

Target Flash Δ RAM Δ
MATEKF405 ±0 B (±0.00%) CCM: ±0 B (±0.00%)
RAM: ±0 B (±0.00%)
MATEKF722 ±0 B (±0.00%) ITCM_RAM: ±0 B (±0.00%)
RAM: ±0 B (±0.00%)
TCM: ±0 B (±0.00%)
MATEKF765 ±0 B (±0.00%) DTCM_RAM: ±0 B (±0.00%)
SRAM1: ±0 B (±0.00%)
MATEKH743 ±0 B (±0.00%) D2_RAM: ±0 B (±0.00%)
DTCM_RAM: ±0 B (±0.00%)
ITCM_RAM: ±0 B (±0.00%)
RAM: ±0 B (±0.00%)

See RAM/flash optimization guide for techniques to reduce usage.

@github-actions

Copy link
Copy Markdown

Test firmware build ready — commit 65d9454

Download firmware for PR #12151

245 targets built. Find your board's .hex file by name on that page (e.g. MATEKF405SE.hex). Files are individually downloadable — no GitHub login required.

Development build for testing only. Use Full Chip Erase when flashing.

@sensei-hacker
sensei-hacker merged commit beafabe into iNavFlight:release/9.1 Oct 14, 2026
23 checks passed
@sensei-hacker sensei-hacker added this to the 9.1 milestone Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants