mirror of
https://github.com/hathach/tinyusb.git
synced 2026-08-18 11:02:16 +00:00
Fix code-review findings (changelog rendering, release skill, sidebar)
- changelog: fix 3 silent RST mis-renders carried over from the old monolith — Markdown link in 0.7.0, mismatched/single backticks in 0.18.0 / 0.20.0 - make-release skill contributors one-liner: parallelize the gh fetch, anchor the bot filter (was a substring that dropped handles like "abbott"), and join with ", " (paste -sd cycles the delimiter -> "@a,@b @c"); finalize now stages only the reviewed set (git add -A -- ':!.idea'); drop the obsolete CRLF gotcha - make_release.py: emit LF not CRLF in the repository.yml insertion (fixes the gotcha at the source) - docs sidebar: drop the hardcoded furo component list; override brand.html to include furo's own template + the sponsor button (decoupled from furo internals, no upper-bound pin needed); move sponsor styles into custom.css - .pre-commit-config.yaml: drop stale end-of-file-fixer excludes for the deleted contributors/CoC include shims Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -18,7 +18,6 @@ Refreshes `src/tusb_option.h`, `repository.yml`, `library.json`, `sonar-project.
|
||||
|
||||
Gotchas:
|
||||
- `gen_doc` imports `pandas` + `tabulate` at line 3 and crashes before writing if they're missing (not in `docs/requirements.txt`) → `pip install pandas tabulate`. See the **build-doc** skill.
|
||||
- The `repository.yml` regex inserts a literal `\r\n`, leaving one CRLF line → `sed -i 's/\r$//' repository.yml`.
|
||||
- `boards.rst` is written with no trailing newline → pre-commit's `end-of-file-fixer` adds it; run pre-commit on the regenerated files (step 3).
|
||||
|
||||
## 2. Changelog — `docs/info/changelog/` (the hard part)
|
||||
@ -49,8 +48,8 @@ Then **curate** into the existing sections, matching the prior release file's RS
|
||||
- **Contributors** section credits the release's PR authors (this is where contributor credit lives — there is no separate contributors page). List the unique non-bot author handles alphabetically:
|
||||
|
||||
```bash
|
||||
while read n; do gh pr view "$n" --json author --jq '.author.login'; done < /tmp/prs.txt \
|
||||
| grep -viE 'bot|copilot|claude' | sort -uf | sed 's/^/@/' | paste -sd', '
|
||||
xargs -P8 -I{} gh pr view {} --json author --jq '.author.login' < /tmp/prs.txt \
|
||||
| grep -viE '\[bot\]$|^(copilot|claude|dependabot|github-actions)$' | sort -uf | sed 's/^/@/' | paste -sd, - | sed 's/,/, /g' # then drop any CI/service accounts
|
||||
```
|
||||
|
||||
## 3. Validate (all unstaged)
|
||||
@ -73,7 +72,7 @@ Confirm version is consistent across `tusb_option.h` / `library.json` / `reposit
|
||||
After reviewing the unstaged diff:
|
||||
|
||||
```bash
|
||||
git add -A && git commit -m "Bump version to X.Y.Z" # -A so the new changelog file is staged
|
||||
git add -A -- ':!.idea' && git commit -m "Bump version to X.Y.Z" # match the reviewed diff; stages the new changelog file
|
||||
git tag -a X.Y.Z -m "Release X.Y.Z" # tags are unprefixed (e.g. 0.20.0, not v0.20.0)
|
||||
git push origin <branch> X.Y.Z
|
||||
```
|
||||
|
||||
@ -16,9 +16,7 @@ repos:
|
||||
exclude: |
|
||||
(?x)^(
|
||||
.idea/|
|
||||
hw/bsp/mcx/sdk/|
|
||||
docs/contributing/code_of_conduct.rst|
|
||||
docs/info/contributors.rst
|
||||
hw/bsp/mcx/sdk/
|
||||
)
|
||||
- id: forbid-submodules
|
||||
|
||||
|
||||
10
docs/_static/custom.css
vendored
10
docs/_static/custom.css
vendored
@ -1,3 +1,13 @@
|
||||
.clear-both {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.sidebar-sponsor {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding: 0.4rem var(--sidebar-item-spacing-horizontal) 0.6rem;
|
||||
}
|
||||
.sidebar-sponsor iframe {
|
||||
border: 0;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
11
docs/_templates/sidebar/brand.html
vendored
Normal file
11
docs/_templates/sidebar/brand.html
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
{# Override furo's sidebar brand: keep the original (logo, links home), then add
|
||||
a GitHub Sponsors button just below it. Using "!sidebar/brand.html" includes
|
||||
the theme's own template, so we don't re-list furo's sidebar components and
|
||||
stay decoupled from furo's internal layout. #}
|
||||
{% include "!sidebar/brand.html" %}
|
||||
<div class="sidebar-sponsor">
|
||||
<iframe src="https://github.com/sponsors/hathach/button"
|
||||
title="Sponsor TinyUSB"
|
||||
height="32" width="114"
|
||||
loading="lazy"></iframe>
|
||||
</div>
|
||||
8
docs/_templates/sidebar/sponsor.html
vendored
8
docs/_templates/sidebar/sponsor.html
vendored
@ -1,8 +0,0 @@
|
||||
{# GitHub Sponsors button, shown just below the logo in the sidebar. #}
|
||||
<div class="sidebar-sponsor" style="display: flex; justify-content: center; padding: 0.4rem var(--sidebar-item-spacing-horizontal) 0.6rem;">
|
||||
<iframe src="https://github.com/sponsors/hathach/button"
|
||||
title="Sponsor TinyUSB"
|
||||
height="32" width="114"
|
||||
style="border: 0; border-radius: 6px;"
|
||||
loading="lazy"></iframe>
|
||||
</div>
|
||||
13
docs/conf.py
13
docs/conf.py
@ -43,19 +43,6 @@ html_favicon = 'assets/logo.svg'
|
||||
html_theme_options = {
|
||||
'sidebar_hide_name': True,
|
||||
}
|
||||
# Furo default sidebar with a Sponsor button inserted just below the logo.
|
||||
html_sidebars = {
|
||||
'**': [
|
||||
'sidebar/brand.html',
|
||||
'sidebar/sponsor.html',
|
||||
'sidebar/search.html',
|
||||
'sidebar/scroll-start.html',
|
||||
'sidebar/navigation.html',
|
||||
'sidebar/ethical-ads.html',
|
||||
'sidebar/scroll-end.html',
|
||||
'sidebar/variant-selector.html',
|
||||
]
|
||||
}
|
||||
html_static_path = ['_static']
|
||||
html_css_files = ['custom.css']
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ New MCUs
|
||||
|
||||
- Better support dcache, make sure all usb-transferred buffer are cache line aligned and occupy full cache line
|
||||
- Build ARM IAR with CircleCI
|
||||
- Improve HIL with `dual/host_info_to_device_cdc`` optional for pico/pico2, enable dwc2 dma test
|
||||
- Improve HIL with ``dual/host_info_to_device_cdc`` optional for pico/pico2, enable dwc2 dma test
|
||||
|
||||
API Changes
|
||||
-----------
|
||||
|
||||
@ -68,7 +68,7 @@ Audio
|
||||
^^^^^
|
||||
|
||||
- Add UAC1 support
|
||||
- Implement RX FIFO threshold adjustment with `tud_audio_get/set_ep_in_fifo_threshold()`
|
||||
- Implement RX FIFO threshold adjustment with ``tud_audio_get/set_ep_in_fifo_threshold()``
|
||||
|
||||
CDC
|
||||
^^^
|
||||
|
||||
@ -53,7 +53,7 @@ USB Device
|
||||
USBD
|
||||
^^^^
|
||||
|
||||
- Add new class driver for **Bluetooth HCI** class driver with example can be found in [mynewt-tinyusb-example](https://github.com/hathach/mynewt-tinyusb-example) since it needs mynewt OS to run with.
|
||||
- Add new class driver for **Bluetooth HCI** class driver with example can be found in `mynewt-tinyusb-example <https://github.com/hathach/mynewt-tinyusb-example>`__ since it needs mynewt OS to run with.
|
||||
- Fix USBD endpoint usage racing condition with ``usbd_edpt_claim()``/``usbd_edpt_release()``
|
||||
- Added ``tud_task_event_ready()`` and ``osal_queue_empty()``. This API is needed to check before enter low power mode with WFI/WFE
|
||||
- Rename USB IRQ Handler to ``dcd_int_handler()``. Application must define IRQ handler in which it calls this API.
|
||||
|
||||
@ -30,7 +30,7 @@ with open(f_repository_yml) as f:
|
||||
fdata = f.read()
|
||||
|
||||
if fdata.find(version) < 0:
|
||||
fdata = re.sub(r'("0-latest"): "\d+\.\d+\.\d+"', r'"{}": "{}"\r\n \1: "{}"'.format(version, version, version), fdata)
|
||||
fdata = re.sub(r'("0-latest"): "\d+\.\d+\.\d+"', r'"{}": "{}"\n \1: "{}"'.format(version, version, version), fdata)
|
||||
with open(f_repository_yml, 'w') as f:
|
||||
f.write(fdata)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user