Skip to content

Releases: gruke-build/src

10.3.1

09 Apr 04:20

Choose a tag to compare

  • Exposed JSON payload in ForgejoActions CI class.

10.3.0

09 Apr 03:53

Choose a tag to compare

  • Added KiotaTasks, a NUKE CLI tool wrapper for microsoft/kiota.
    • Example usage can be found in this very project, as I added this to generate the API client in GreemDev.Nuke.Components.Forgejo.
    • usage; generated output
  • Forgejo Actions workflow generation & CI environment support
  • Woodpecker CI workflow generation & CI environment support
    • Woodpecker has no first-party job artifacts functionality, expecting you to use a plugin to provide that.
      • The only plugins I could find require some form of external storage solution, meaning you (the user of Woodpecker) is responsible for managing your own artifacts bin.
    • As a result, this is mostly only useful as a linter/tester on its own.
    • You have access to Forge-specific APIs in the new GreemDev.Nuke.Components.{GitHub, Forgejo, GitLab} NuGet packages.
      • You can use these to create releases. The Woodpecker CI generator has support for importing secrets.
        • ICreateGitHubRelease has moved to GreemDev.Nuke.Components.GitHub
        • ICreateForgejoRelease has been added to GreemDev.Nuke.Components.Forgejo, and works identically to GitHub; except where it had GitHub it has Forgejo now, what a surprise.
        • ICreateGitLabRelease has been added to GreemDev.Nuke.Components.GitLab, and is more complex, expecting a Name, Version, and PackageName.
          • GitLab works differently to GitHub & Forgejo; it does not have a dedicated "release assets" feature.
        • These component interfaces do not need to be used on Woodpecker.
  • Moved GitterTasks to the namespace Nuke.Common.Tools.Gitter.
  • SetBranch on GitRepository has been removed; use GitRepository.ModifyCopy(branch: ...) instead.
  • Removed ShutdownDotNetAfterServerBuild attribute, it existed due to the .NET CLI's lack of ability for forcibly disabling the use of build servers.
  • Dusted off the old Notifications system that existed in the project and hooked it up to a notifications JSON file I control.
    • Probably will use this to notify about breaking changes.
    • Notifications display after a build.
    • Support has also been added to DisableDefaultOutputAttribute to fully block displaying notifications at all. This will also skip requesting them.
  • Removed Telemetry
  • nuke-build#1321: fix: Allow UTF-8 console input

10.2.0

07 Mar 07:30

Choose a tag to compare

  • Removed properties in the GitVersion record that have been removed in newer versions.
    • Instead of NuGetVersionV2, use FullSemVer.
  • Implemented a basic .gitlab-ci.yml generator. Currently only generates a single job, for all specified targets.
    • You can also specify to automatically upload all (known (via .Produces)) artifacts from the executed targets.
    • On top of this, you can specify artifacts to exclude; as well as only running the job on specific branch(es) push event.
  • Global Tool now generates build projects using .NET 10 and with the GreemDev.Nuke package.
  • Fixed duplicate key error in GitRepository.GetRemoteNameAndBranch (fixes #1537)
    • Instead, only the most recent value is retained.
  • Refactored the documentation in-repository to work on mkdocs, hosted by readthedocs:
  • Additionally, a docfx configuration has been made and has been deployed on ReadTheDocs alongside the above documentation for C# API reference documentation specifically.
  • nuke-build#1523: fix: log npm warn messages as a warning
  • nuke-build#1572: Added support for XML Solutions into gruke :setup
  • nuke-build#1583: Added support for resolving VS2026 MSBuild installations
  • nuke-build#1557: Added support for Windows installations being not on C:\
  • nuke-build#1549: Removed deprecated & retired Azure Pipelines OS images
  • Fix StronglyTypedSolutionGenerator causing compilation errors when a Solution Folder is prefixed with digits. (nuke-build#1581)