Skip to content

[Add] v1 release infrastructure: CITATION.cff, nuget-release workflow, README getting-started#49

Merged
samatstariongroup merged 3 commits into
developmentfrom
GH21
Jul 10, 2026
Merged

[Add] v1 release infrastructure: CITATION.cff, nuget-release workflow, README getting-started#49
samatstariongroup merged 3 commits into
developmentfrom
GH21

Conversation

@samatstariongroup

Copy link
Copy Markdown
Member

Toward #21 (v1 release). Adds the release infrastructure — the parts that are code/config in the repo. The remaining items are release execution (choosing the version, adding the NuGet secret, running the workflow) and are called out below rather than done here.

What this adds

  • CITATION.cff — org-standard citation metadata, mirroring uml4net's structure (top-level + preferred-citation). The release workflow bumps its version/date-released at release time.
  • .github/workflows/nuget-release.yml — a manual, versioned release workflow (workflow_dispatch with a SemVer version input), adapted from uml4net's nuget-release.yml:
    • validates the SemVer, updates & commits CITATION.cff, builds RELEASE_NOTES.md from each csproj's PackageReleaseNotes;
    • dotnet pack -c Release Auriga.sln → pushes *.nupkg (+ .snupkg symbols) to nuget.org with --skip-duplicate;
    • tags the commit and creates a draft GitHub release.
    • First-party actions are SHA-pinned (matching CodeQuality.yml); the GitHub release is created via the preinstalled gh CLI to avoid an unpinnable third-party action.
  • README "Getting Started"dotnet add package lines plus a load → navigate layers → query → write-back snippet using the real API (CapellaProject.Load, the layer properties, the Auriga.Extensions queries, XmiWriterBuilder).

Already in place (verified, not changed)

  • Packaging + SBOM + SourceLink + symbols are configured in Directory.Build.props (GenerateSBOM=true via Microsoft.Sbom.Targets, snupkg, PublishRepositoryUrl, README/LICENSE/NOTICE packed, GenerateDocumentationFile=true).
  • Auriga.CodeGenerator and Auriga.Reporting are IsPackable=false, so dotnet pack Auriga.sln produces exactly Auriga, Auriga.Xmi, Auriga.Extensions (+ symbol packages).
  • NOTICE and LICENSE (Apache-2.0) are present and packed.

Not done here — needs a maintainer (why #21 stays open)

  • Publish run. Add the NUGET_API_KEY repository secret, then dispatch Nuget-Release with the chosen version. <Version> in the csprojs is currently 0.1.0; decide v1 vs. a 0.x preview and bump the three csprojs + their PackageReleaseNotes before releasing.
  • API-docs site. XML docs are enabled and ship inside the packages, and the browsable metamodel report exists (Auriga.Reporting / HtmlDocs). If a separate hosted API-doc site is wanted, that tooling choice is a maintainer decision (uml4net ships XML docs similarly, with no separate API-doc-publish workflow).

Verification

  • Both YAML files parse (no tabs; all top-level keys and 11 workflow steps present). README snippets check against the actual public API (CapellaProject, Auriga.Extensions, XmiWriterBuilder). No production code changed.

@samatstariongroup samatstariongroup merged commit cd7eba0 into development Jul 10, 2026
8 checks passed
@github-actions

Copy link
Copy Markdown
Contributor
Package Line Rate Branch Rate Complexity Health
Auriga 38% 54% 15574
Auriga.CodeGenerator 90% 77% 404
Auriga.Extensions 97% 88% 48
Auriga.Reporting 0% 0% 12
Auriga.Xmi 25% 13% 40507
Summary 28% (27148 / 96125) 22% (10771 / 49070) 56545

@sonarqubecloud

Copy link
Copy Markdown

@samatstariongroup samatstariongroup deleted the GH21 branch July 11, 2026 10:04
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.

1 participant