Skip to content

Latest commit

 

History

3,889 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fallout — .NET build system

📖 Documentation: docs.fallout.build

📦 Fallout is the successor to NUKE. Migrating from NUKE →

Fallout

Build automation for C#/.NET — the hard-fork successor to NUKE.

built with Fallout Docs CI NuGet NuGet downloads Latest release GitHub last commit .NET 10 License: MIT Open issues Open PRs GitHub Sponsors

Based on NUKE

Fallout is the successor to NUKE, originally created by Matthias Koch (matkoch) and many contributors. Fallout continues NUKE's mission as a C#-first build automation framework for .NET — under new maintenance, with an enterprise-CI/CD focus.

The original NUKE code is preserved here under the MIT License with attribution. Major version 10.x was the last NUKE release; everything from this fork forward carries the Fallout identity.

Migrating from NUKE

If you maintain a NUKE-based build, docs/Migration/from-nuke.md walks you through it. The short version:

dotnet tool install -g Fallout.Migrate
cd path/to/your-nuke-repo
fallout-migrate

Install

dotnet tool install -g Fallout.GlobalTool

The CLI installs as fallout. Verify with fallout --help.

Note

Coming from NUKE's 10.x tool? Nothing to do — Fallout.GlobalTool is the same package id you already have pinned, so dotnet tool update just works. The only exception is the short-lived Fallout.GlobalTools (plural) id: if you installed 10.4.0-rc.4 from it, uninstall it and reinstall from Fallout.GlobalTool so you don't have two tools claiming the fallout command.

dotnet tool uninstall -g Fallout.GlobalTools

For per-repo manifest pinning (.config/dotnet-tools.json), project setup, and shell completion, see the Installation guide on docs.fallout.build.

Note

Channels. Stable releases use classic semver (MAJOR.MINOR.PATCH) and ship from main, staying on 10.x (e.g. 10.5.3) until a breaking change is actually needed — v11 is deferred as long as possible, so Dependabot/Renovate upgrades within 10.x are always safe. Releases reach main through a release/vX.Y branch, cut on demand from develop. Releases publish to GitHub Packages, and to nuget.org if you opt in. The develop trunk publishes a faster …-preview.… prerelease to GitHub Packages only — add the GitHub Packages feed and a prerelease version range to opt in. The older support/v10 line covers versions before 10.4, and gets security and critical fixes only. See ADR-0009 and docs/branching-and-release.md for the full model.

Table of Contents

Elevator Pitch

Solid and scalable CI/CD pipelines are an essential pillar for being competitive and creating a great product. But why are most of us a little afraid of touching YAML files and don't even dare to look at build scripts? Much of this is because C# developers are spoiled with a great language and smart IDEs, and they don't like missing their buddy for code-completion, ease of debugging, refactorings, and code formatting.

Fallout (NUKE's successor) brings your build automation to an even level with every other .NET project. How? It's a regular console application allowing all the OOP goodness! Besides, it solves many common problems in build automation, like parameter injection, path separator abstraction, access to solution and project models, and build step sharing across repositories. Fallout can also generate CI/CD configurations (YAML, etc.) that automatically parallelize build steps on multiple agents to optimize throughput!

Build Status

CI runs on every PR targeting develop, main, release/*, or support/*, via build.yml (Linux). Its ubuntu-latest job is the only required status check. Cross-platform Test+Pack (Windows + macOS) only runs on PRs into main / release/* / support/*, and on v* tag pushes, via build-cross-platform.yml — not on routine develop work. Every push to develop publishes a …-preview prerelease to GitHub Packages under the reserved Fallout.* prefix. Stable releases fire from main tags via .github/workflows/publish-packages-release.yml (GitHub Packages + GitHub Releases by default; nuget.org by opt-in). Docs-only PRs go through a no-op companion workflow (build-skip), so branch protection is satisfied without spending CI minutes on a real build.

Workflow Status Trigger
build build PR to develop / main / release/* / support/* (code paths) — job ubuntu-latest is the required check
build-cross-platform build-cross-platform PR to main / release/* / support/* or v* tag push — Windows + macOS (release intent)
publish-packages-preview publish-packages-preview push to develop…-preview prerelease to GitHub Packages
publish-packages-release publish-packages-release tag push on main (GA), release/vX.Y (rc), or support/* (legacy/retired) — nuget.org opt-in

Multi-provider CI support (Azure Pipelines, GitLab, TeamCity, AppVeyor) was removed during the takeover and is being revived demand-driven — see #8.

Activity

Commits, issues, PRs (rolling 30 days)

Repobeats analytics image

Generated by Repobeats.

Stars over time

RepoStars

Generated by repostars.dev. Auto-updates as new stargazers arrive.

Contribute

Two things help the project and take about a minute:

  • Star the repo. It is how most people find Fallout.
  • Show the badge. If you build with Fallout, link back from your own README. Fallout's own build is a Fallout build, so the badge sits at the top of this page too.

built with Fallout

[![built with Fallout](https://img.shields.io/badge/built%20with-Fallout-F5C800?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI%2BPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTIiIGZpbGw9IiNGNUM4MDAiLz48ZyBmaWxsPSIjMTExIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzLjEiLz48cGF0aCBkPSJNOS45OSA5LjAyQTMuNiAzLjYgMCAwIDEgMTQuMDEgOS4wMkwxOC40OSAyLjM4QTExLjYgMTEuNiAwIDAgMCA1LjUxIDIuMzhaTTE1LjU5IDExLjc1QTMuNiAzLjYgMCAwIDEgMTMuNTggMTUuMjRMMTcuMDkgMjIuNDNBMTEuNiAxMS42IDAgMCAwIDIzLjU3IDExLjE5Wk0xMC40MiAxNS4yNEEzLjYgMy42IDAgMCAxIDguNDEgMTEuNzVMMC40MyAxMS4xOUExMS42IDExLjYgMCAwIDAgNi45MSAyMi40M1oiLz48L2c%2BPC9zdmc%2B)](https://github.com/Fallout-build/Fallout)

More styles and wordings, plus the logo source, are in docs/website/badge.md.

Want to contribute code, docs, or triage? Start with CONTRIBUTING.md.

Sponsorship

Fallout is volunteer-run, and we want to be transparent about what running the project costs — see costs.md for the full list. It lives with the organisation's other shared project files, since the spend covers every repository rather than this one.

If you or your organisation would like to help offset those costs, use the sponsor button on any Fallout repository, or open an issue and we'll work out the details.

Credits

If you maintained or contributed to NUKE and want to be credited differently here, please open an issue.

About

☢️ Fallout — The C#/.NET Build System

Resources

Code of conduct

Contributing

Security policy

Stars

137 stars

Watchers

5 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages