Skip to content

Add generation of release notes to create-release action - #235

Merged
simona-anomis merged 1 commit into
mainfrom
anomis/generate-release-notes
Oct 19, 2026
Merged

simona-anomis merged 1 commit into
mainfrom
anomis/generate-release-notes

Conversation

@simona-anomis

@simona-anomis simona-anomis commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Example of a release note:

Release v1.0.15 of Android Skills.

New skills (5)
android-for-cars-parked-apps (cars/android-for-cars-parked-apps) — Adapt existing Android video streaming apps, games, and web browsers to run as parked apps on Android Auto and Android Automotive OS.
litert-runtime (device-ai/litert/litert-runtime) — Configures and implements LiteRT (.tflite) on-device inference on Android in Kotlin using the CompiledModel API on CPU and GPU.
jetpack-compose-performance (jetpack-compose/jetpack-compose-performance) — Diagnose and optimize Android Jetpack Compose UI code.
glance-canonical-layouts (system/glance-canonical-layouts) — Use this skill to create home screen widgets using Jetpack Glance Canonical Layouts from the Android Platform Samples project, or when asked to implement standard widget layout patterns (including Ch…
wear-widgets (wear/wear-widgets) — Create, migrate, update, and verify Wear OS widgets using Glance Wear and Remote Compose in an Android project.

Updated skills (8)
camerax (camera/camerax)
adaptive (jetpack-compose/adaptive)
navigation-3 (navigation/navigation-3)
navigation-event (navigation/navigation-event)
engage-sdk-integration (play/engage-sdk-integration)
android-profiler (profilers/android-profiler)
wear-compose-m3 (wear/wear-compose-m3)
display-glasses-with-jetpack-compose-glimmer (xr/display-glasses-with-jetpack-compose-glimmer)

This release contains 30 skills.

Full changelog: v1.0.14...v1.0.15

@simona-anomis simona-anomis self-assigned this Oct 16, 2026

@rahul05ranjan rahul05ranjan left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Read through the notes generator and traced it against the workflow context. A few things I checked that hold up:

  • fetch-depth: 0 is there, so full history and tags are available for the PREV_TAG selection, and grep -vxF "$TAG_NAME" correctly excludes the tag being released from its own baseline.
  • The moved-skills pairing by frontmatter name rather than path is the right call — folder renames keep the skill identity, and reporting them as new + removed would be noise.
  • First release (no v* tag) degrades sensibly: everything lands under "New skills".
  • The tree links use {tag}, which exists by the time anyone reads the notes since gh release create targets main and creates the tag.

Two small things:

  1. head = os.environ.get("HEAD_REF", "HEAD") — HEAD_REF is never exported in the step env (only TAG_NAME and REPO), so head is always "HEAD". That works here since the checkout is main, but the variable implies a configurability that doesn't exist. Either export it or drop it.

  2. The frontmatter regex ^---\s*\n won't match a SKILL.md that begins with a UTF-8 BOM — such a skill falls back to the folder name and loses its description in the notes. Cheap guard if you want it: text.lstrip("\ufeff") before matching. Some editors in this ecosystem do save with a BOM, so it's more than theoretical.

@simona-anomis
simona-anomis merged commit ed0a272 into main Oct 19, 2026
7 checks passed
@simona-anomis
simona-anomis deleted the anomis/generate-release-notes branch October 19, 2026 14:49
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.

3 participants