![]() |
VOOZH | about |
dotnet add package GiantCroissant.Lunar.Build --version 0.1.1-ci.113
NuGet\Install-Package GiantCroissant.Lunar.Build -Version 0.1.1-ci.113
<PackageReference Include="GiantCroissant.Lunar.Build" Version="0.1.1-ci.113" />
<PackageVersion Include="GiantCroissant.Lunar.Build" Version="0.1.1-ci.113" />Directory.Packages.props
<PackageReference Include="GiantCroissant.Lunar.Build" />Project file
paket add GiantCroissant.Lunar.Build --version 0.1.1-ci.113
#r "nuget: GiantCroissant.Lunar.Build, 0.1.1-ci.113"
#:package GiantCroissant.Lunar.Build@0.1.1-ci.113
#addin nuget:?package=GiantCroissant.Lunar.Build&version=0.1.1-ci.113&prereleaseInstall as a Cake Addin
#tool nuget:?package=GiantCroissant.Lunar.Build&version=0.1.1-ci.113&prereleaseInstall as a Cake Tool
π License
π Build Status
A powerful, configuration-driven build infrastructure for Unity projects with .NET solutions, designed to streamline development workflows and CI/CD pipelines.
Clone the repository:
git clone https://github.com/your-org/giantcroissant-lunar-build.git
cd giantcroissant-lunar-build
Restore dependencies:
dotnet restore build/nuke/Lunar.Build.sln
Run the build:
cd build/nuke
./build.ps1
This repository participates in a strict local-first flow with giantcroissant-lunar-report. LOCAL is the source of truth; CI must mirror it.
Important: This local-first flow is canonical for development and must still be validated (βtestifiedβ) on CI. CI should mirror the same ordering and feed policy.
Phases
Phase 1 β Report Abstractions (built by report repo)
giantcroissant-lunar-report/src/Lunar.NfunReport.AbstractionsGiantCroissant.Lunar.NfunReport.Abstractions<report>/build/_artifacts/{version}/nuget-packages/*.nupkg β synced to ../../../packages/nuget-repo (flat + hierarchical)Phase 2 β Build repo packages (built by this repo)
src/Lunar.Build.Abstractions β GiantCroissant.Lunar.Build.Abstractionssrc/Lunar.Build.ReportingContextAdapter β GiantCroissant.Lunar.Build.ReportingContextAdapterbuild/nuke/components/CodeQuality β GiantCroissant.Lunar.Build.CodeQualitybuild/nuke/components/Configuration β GiantCroissant.Lunar.Build.Configurationbuild/nuke/components/CoreAbstractions β GiantCroissant.Lunar.Build.CoreAbstractionsbuild/nuke/components/Documentation β GiantCroissant.Lunar.Build.Documentationbuild/nuke/components/Mobile β GiantCroissant.Lunar.Build.Mobilebuild/nuke/components/NuGet β GiantCroissant.Lunar.Build.NuGet<build>/build/_artifacts/{version}/nuget-packages/*.nupkg β synced to ../../../packages/nuget-repo (flat + hierarchical)Phase 3 β Report Core, Reporting utilities, Meta (built by report repo)
GiantCroissant.Lunar.Build.* presence in ../../../packages/nuget-repo in BOTH flat and hierarchical layouts before packing Core/Reporting/Meta.giantcroissant-lunar-report/src/Lunar.NfunReport.Core β GiantCroissant.Lunar.NfunReport.Coregiantcroissant-lunar-report/build/nuke/components/Reporting β GiantCroissant.Lunar.NfunReport.Build.Reportinggiantcroissant-lunar-report/build/nuke/Lunar.NfunReport.csproj β GiantCroissant.Lunar.NfunReport (meta)Feed and configuration
nuget.config (both repos) lists sources in order:
local-packages β ../../../packages/nuget-repo (relative to repo root)nuget.org β https://api.nuget.org/v3/index.jsonpackageSourceMapping for GiantCroissant.*; source order enforces βlocal first, nuget.org secondβ.C:/lunar-snake/packages/nuget-repo/<id>.<version>.nupkgC:/lunar-snake/packages/nuget-repo/<id>/<version>/<id>.<version>.nupkgVersioning
0.0.0.ContinuousIntegrationBuild=true and UpdateVersionProperties=false.Minimal command sequence
# 1) Report repo (Phase 1)
cd ..\giantcroissant-lunar-report
dotnet tool restore
./build/nuke/build.ps1 PackAbstractions
./build/nuke/build.ps1 SyncNugetPackagesToLocalFeeds
# 2) Build repo (Phase 2) β this repo
cd ..\giantcroissant-lunar-build
dotnet tool restore
./build/nuke/build.ps1 NuGetWorkflow
# 3) Report repo (Phase 3)
cd ..\giantcroissant-lunar-report
./build/nuke/build.ps1 NuGetWorkflow
CI note
nuget.config (local-first) unless explicitly testing nuget.org-only component restores.NuGetWorkflow / publish) with GitVersion.projects.discovery in build/nuke/build-config.json.EffectiveRootDirectory and the config file directory; supports files, directories (expanded to **/*.csproj), and wildcard patterns.{
"projects": {
"discovery": {
"sourceDirectory": "build/nuke",
"entries": [
"components/Configuration/Lunar.Build.Configuration.csproj",
"components/NuGet/Lunar.Build.NuGet.csproj",
"components/CodeQuality/Lunar.Build.CodeQuality.csproj",
"components/CoreAbstractions/Lunar.Build.CoreAbstractions.csproj",
"components/Mobile/Lunar.Build.Mobile.csproj",
"components/Mobile/iOS/Lunar.Build.Mobile.iOS.csproj",
"components/Mobile/Android/Lunar.Build.Mobile.Android.csproj"
],
"excludePatterns": ["Tests.csproj", ".Tests.csproj"]
}
}
}
build/nuke/components/Configuration/schemas/project-discovery.schema.json (referenced by the root schema).projectGroups[*].explicitProjects are no longer used for discovery; the build now consumes projects.discovery via IProjectDiscoveryComponent.giantcroissant-lunar-build/
ββ build/ # Build system components and configurations
ββ docs/ # Documentation
ββ projects/ # Example and test projects
ββ scripts/ # Utility scripts
ββ .github/ # GitHub workflows and templates
We welcome contributions! Contributing guidelines will be added soon.
This project is licensed under the MIT License. A LICENSE file will be added to the repository.
For support, please open an issue in the repository issue tracker.
Changelog will be provided once releases are stabilized.
<div align="center"> Made with care by the GiantCroissant Team </div>
Learn more about Target Frameworks and .NET Standard.
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.1-ci.113 | 395 | 10/7/2025 |
| 0.1.1-ci.112 | 395 | 10/7/2025 |
| 0.1.1-ci.111 | 500 | 9/15/2025 |
| 0.1.1-ci.110 | 484 | 9/15/2025 |
| 0.1.1-ci.109 | 493 | 9/15/2025 |
| 0.1.1-ci.108 | 498 | 9/15/2025 |
| 0.1.1-ci.107 | 489 | 9/15/2025 |
| 0.1.1-ci.104 | 453 | 9/15/2025 |
| 0.1.1-ci.90 | 411 | 9/8/2025 |
| 0.1.1-ci.40 | 357 | 9/6/2025 |