Skip to content

chore(release): v0.1.0-alpha.1 - #6

Merged
Shewart merged 11 commits into
mainfrom
chore/release-v0.1.0-alpha.1
Oct 7, 2026
Merged

Shewart merged 11 commits into
mainfrom
chore/release-v0.1.0-alpha.1

Conversation

@Shewart

@Shewart Shewart commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

Summary

Prepares the first NuGet prerelease of ShellUI.Native.CLI (MAUI only).

Release

  • Version 0.1.0-alpha.1 in Directory.Build.props
  • release.yml: builds the CLI and test projects (the bare src/ folder has no project file), fails when the tag doesn't match the props version, runs the tests, and uses the version's section of docs/RELEASE_NOTES.md as the GitHub release body (scripts/extract-release-notes.sh; .gitattributes keeps *.sh LF)
  • prepare-release.ps1 packs only the CLI
  • New docs/RELEASE_NOTES.md

CLI

  • Component versions come from the assembly; an installed tool recorded every component as 0.1.0
  • add <part> installs the part's whole family (add dialog-trigger → dialog); 17 parts did not compile when added alone
  • The install summary counts now print
  • ShellUI's terminal loaders with the ShellUI Native mark: init and list open with the mark instead of the ASCII banner, init draws it dot by dot while setting up, add uses the snake spinner; plain fallbacks without an interactive terminal
  • Whitespace fixed so dotnet format --verify-no-changes (pr-check) passes

Docs

  • Install with --prerelease; README and QUICKSTART examples use the real API (no Variant="Primary" / CardTitle); QUICKSTART loads the theme
  • COMPONENTS_ROADMAP and DEVELOPMENT_PLAN brought up to date; Avalonia target is 12.x
  • README header matches ShellUI's: light and dark logos by relative path (they show while the repo is private), centred title, tagline and badges; ASCII banner removed
  • "Shell family" section in both READMEs with the ShellUI, ShellIcons and ShellDocs marks
  • NuGet README is plain Markdown (nuget.org renders no HTML), with a theme-aware SVG mark

Verification

  • dotnet build ShellUI.Native.slnx: 0 warnings; tests 511/511; each commit builds and passes on its own
  • Each of the 92 registry entries added alone to a fresh MAUI library builds with 0 warnings
  • All 89 CLI targets together in a fresh my-app build with 0 warnings on android, ios, maccatalyst and windows
  • Packed tool installed from a local feed records 0.1.0-alpha.1; the README example runs on Windows

Shewatipa Tseisi added 10 commits October 7, 2026 10:34
An installed tool has no Directory.Build.props next to it, so every component was recorded as the 0.1.0 fallback and 'update' could never see a newer version. The build already stamps the package version into the assembly; read it from there.
Parts such as dialog-trigger look up their parent type at runtime, and parents depend on their parts, so 17 parts did not compile when added alone. 'add <part>' now installs the part's family instead. The install summary also printed nothing, because the success and skip counters were passed by value.
…release notes

The workflow restored and built the bare src/ folder, which has no project file, so no release could have succeeded. It now builds the CLI and test projects, fails when the tag doesn't match the Directory.Build.props version, runs the tests, and uses the version's section of docs/RELEASE_NOTES.md as the GitHub release body. prepare-release.ps1 packs only the CLI; Core and Templates ship inside it.
… prerelease

Install with --prerelease, since only a prerelease is published. README and QUICKSTART examples now use the real API (no Variant="Primary" or CardTitle), QUICKSTART loads the theme, and the roadmap and development plan match what is merged. Avalonia target is 12.x.
pr-check.yml runs 'dotnet format --verify-no-changes' on the CLI project, which failed on main because of trailing whitespace in five files. Whitespace only.
Ports ShellUI's terminal loaders with the ShellUI Native mark (two screens): init and list open with the mark, version and a subtitle in place of the ASCII banner; init's setup draws the mark dot by dot beside the current step; add uses the snake spinner. Without an interactive Unicode terminal they fall back to the snake spinner or plain text. init no longer waits 300 ms behind a spinner to detect the project.
…kdown

nuget.org renders Markdown only, so the <picture> block at the top of the CLI README showed as raw HTML. It now uses a 64 px PNG of the mark. Both READMEs list ShellUI, ShellIcons and ShellDocs with their marks; the PNGs were drawn with md-files brand/generate.py.
nuget.org accepts SVG images from raw.githubusercontent.com, which serves them as image/svg+xml. The SVGs are the brand favicon tile (ink on light, paper on dark via prefers-color-scheme) with their size set in the file, since Markdown can't size images. They replace the 64 px and 48 px PNGs.
The mark above the ASCII banner used absolute raw.githubusercontent.com URLs, which return 404 while the repository is private, so no logo showed. The header now matches ShellUI's: a <picture> with light and dark bare-dot logos (200 px, same dot size, spacing and off-dot opacity as ShellUI's) by relative path, a centred title, tagline and badges, and no ASCII banner. The NuGet badge shows prereleases. assets/icon-dark.png is no longer used.
@github-actions github-actions Bot added documentation Improvements or additions to documentation cli core templates ci labels Oct 7, 2026
Same setup as ShellDocs: the release job runs in the 'release' environment with id-token: write, and NuGet/login exchanges the GitHub OIDC token for a one-hour API key, so no long-lived NUGET_API_KEY secret is stored; only NUGET_USER (the nuget.org profile name). Also from ShellDocs: a manual dry run that packs and validates without publishing, and a check that stops the run when the version is already on nuget.org. docs/RELEASING.md has the one-time setup.
@Shewart
Shewart merged commit 4990257 into main Oct 7, 2026
4 checks passed
@Shewart
Shewart deleted the chore/release-v0.1.0-alpha.1 branch October 7, 2026 09:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci cli core documentation Improvements or additions to documentation templates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant