ModularPipelines 1.9.22

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package ModularPipelines --version 1.9.22                
NuGet\Install-Package ModularPipelines -Version 1.9.22                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ModularPipelines" Version="1.9.22" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ModularPipelines --version 1.9.22                
#r "nuget: ModularPipelines, 1.9.22"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ModularPipelines as a Cake Addin
#addin nuget:?package=ModularPipelines&version=1.9.22

// Install ModularPipelines as a Cake Tool
#tool nuget:?package=ModularPipelines&version=1.9.22                

ModularPipelines

Define your pipeline in .NET! Strong types, intellisense, parallelisation, and the entire .NET ecosystem at your fingertips.

nuget Nuget GitHub Workflow Status (with event) GitHub last commit (branch) Codacy Badge License

Available Modules

Package Version
ModularPipelines nuget
ModularPipelines.Azure nuget
ModularPipelines.Azure.Pipelines nuget
ModularPipelines.Cmd nuget
ModularPipelines.Docker nuget
ModularPipelines.DotNet nuget
ModularPipelines.Email nuget
ModularPipelines.Ftp nuget
ModularPipelines.Git nuget
ModularPipelines.Helm nuget
ModularPipelines.Kubernetes nuget
ModularPipelines.MicrosoftTeams nuget
ModularPipelines.Node nuget
ModularPipelines.NuGet nuget
ModularPipelines.Terraform nuget

Getting Started

If you want to see how to get started, or want to know more about ModularPipelines, read the Wiki page here

Code Examples

Program.cs - Main method

await PipelineHostBuilder.Create()
    .ConfigureAppConfiguration((context, builder) =>
    {
        builder.AddJsonFile("appsettings.json")
            .AddUserSecrets<Program>()
            .AddEnvironmentVariables();
    })
    .ConfigureServices((context, collection) =>
    {
        collection.Configure<NuGetSettings>(context.Configuration.GetSection("NuGet"));
        collection.Configure<PublishSettings>(context.Configuration.GetSection("Publish"));
    })
    .AddModule<FindNugetPackagesModule>()
    .AddModule<UploadNugetPackagesModule>()
    .ExecutePipelineAsync();

Custom Modules

public class FindNugetPackagesModule : Module<FileInfo>
{
    protected override async Task<ModuleResult<List<File>>?> ExecuteAsync(IModuleContext context, CancellationToken cancellationToken)
    {
        await Task.Yield();

        return context.FileSystem.GetFiles(context.Environment.GitRootDirectory!.Path,
            SearchOption.AllDirectories,
            path => path.Extension is ".nupkg")
            .ToList();
    }
}
[DependsOn<FindNugetPackagesModule>]
public class UploadNugetPackagesModule : Module<FileInfo>
{
    private readonly IOptions<NuGetSettings> _nugetSettings;

    public UploadNugetPackagesModule(IOptions<NuGetSettings> nugetSettings)
    {
        _nugetSettings = nugetSettings;
    }

    protected override async Task<ModuleResult<CommandResult>?> ExecuteAsync(IModuleContext context, CancellationToken cancellationToken)
    {
        var nugetFiles = await GetModule<FindNugetPackagesModule>();

        return await context.NuGet()
            .UploadPackages(new NuGetUploadOptions(packagePaths.Value!.AsPaths(), new Uri("https://api.nuget.org/v3/index.json"))
            {
                ApiKey = _nugetSettings.Value.ApiKey,
                NoSymbols = true
            });
    }
}
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (25)

Showing the top 5 NuGet packages that depend on ModularPipelines:

Package Downloads
ModularPipelines.AmazonWebServices

Helpers for interacting with Amazon Web Services.

ModularPipelines.DotNet

Helpers for interacting with dotnet CLI.

ModularPipelines.Git

Helpers for interacting with git.

ModularPipelines.Azure.Pipelines

Helpers for interacting with Azure Pipeline agents.

ModularPipelines.GitHub

Helpers for interacting with GitHub Actions build agents.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.43.0 5,131 2/24/2025
2.42.319 1,671 2/18/2025
2.42.246 6,952 1/19/2025
2.42.228 1,961 1/10/2025
2.42.226 401 1/9/2025
2.42.140 3,769 12/1/2024
2.42.134 674 11/30/2024
2.42.132 422 11/30/2024
2.42.115 12,221 11/17/2024
2.42.87 7,737 10/28/2024
2.42.67 4,403 9/29/2024
2.42.59 1,763 9/19/2024
2.42.54 622 9/19/2024
2.42.53 492 9/19/2024
2.42.47 1,487 9/13/2024
2.42.45 7,399 9/12/2024
2.42.9 2,473 9/5/2024
2.42.8 982 9/4/2024
2.42.0 620 9/4/2024
2.41.4 708 9/3/2024
2.41.0 832 9/3/2024
2.40.18 701 9/2/2024
2.40.15 593 9/2/2024
2.40.10 676 9/2/2024
2.40.8 596 9/2/2024
2.40.4 2,068 8/29/2024
2.40.1 719 8/28/2024
2.38.36 778 8/26/2024
2.38.25 1,428 8/12/2024
2.38.2 1,176 7/27/2024
2.38.1 520 7/27/2024
2.37.9 3,583 7/14/2024
2.37.1 88 7/14/2024
2.36.29 1,127 7/5/2024
2.36.23 1,003 6/30/2024
2.36.4 1,707 6/7/2024
2.35.0 917 6/2/2024
2.34.0 948 5/23/2024
2.33.0 1,060 5/20/2024
2.32.0 760 5/17/2024
2.31.3 1,774 4/15/2024
2.31.0 829 4/15/2024
2.30.9 1,000 3/27/2024
2.30.5 561 3/26/2024
2.30.3 625 3/26/2024
2.29.32 737 3/26/2024
2.29.22 1,217 3/8/2024
2.29.15 975 3/1/2024
2.29.11 944 2/27/2024
2.29.9 1,013 2/26/2024
2.29.0 893 2/25/2024
2.28.0 865 2/23/2024
2.27.12 1,051 2/15/2024
2.27.9 716 2/14/2024
2.27.3 1,101 2/8/2024
2.27.0 929 2/8/2024
2.26.8 1,201 2/4/2024
2.26.0 904 1/29/2024
2.25.0 953 1/28/2024
2.24.9 997 1/25/2024
2.24.4 960 1/25/2024
2.24.1 1,249 1/22/2024
2.22.0 1,151 1/18/2024
2.21.12 1,063 1/18/2024
2.21.9 1,055 1/18/2024
2.21.4 1,185 1/13/2024
2.21.0 1,037 1/12/2024
2.20.2 1,085 1/11/2024
2.19.2 1,248 12/27/2023
2.19.0 754 12/26/2023
2.18.8 578 12/26/2023
2.18.0 1,186 12/24/2023
2.17.25 670 12/22/2023
2.17.20 743 12/5/2023
2.17.0 782 11/24/2023
2.16.2 614 11/23/2023
2.16.0 576 11/23/2023
2.15.24 577 11/22/2023
2.15.21 569 11/22/2023
2.15.17 607 11/20/2023
2.15.3 645 11/9/2023
2.15.0 532 11/8/2023
2.14.9 572 11/6/2023
2.14.7 585 11/6/2023
2.14.1 548 11/6/2023
2.13.63 571 10/29/2023
2.13.47 659 10/20/2023
2.13.8 515 10/13/2023
2.13.5 530 10/13/2023
2.12.15 522 10/10/2023
2.12.11 599 10/10/2023
2.12.5 585 10/6/2023
2.12.1 557 10/4/2023
2.11.12 562 10/1/2023
2.11.11 521 9/30/2023
2.11.9 552 9/30/2023
2.11.4 566 9/30/2023
2.11.0 582 9/29/2023
2.10.6 636 9/29/2023
2.10.0 526 9/28/2023
2.9.0 551 9/28/2023
2.8.23 479 9/26/2023
2.8.12 517 9/24/2023
2.8.4 480 9/24/2023
2.8.0 494 9/24/2023
2.7.10 521 9/23/2023
2.7.6 487 9/22/2023
2.6.0 479 9/19/2023
2.5.11 502 9/16/2023
2.5.5 469 9/14/2023
2.5.2 485 9/14/2023
2.5.0 452 9/14/2023
2.4.0 498 9/12/2023
2.3.2 538 9/11/2023
2.3.0 514 9/11/2023
2.2.0 505 9/11/2023
2.0.8 566 9/7/2023
2.0.5 527 9/6/2023
2.0.0 567 9/6/2023
1.9.38 552 9/5/2023
1.9.36 529 9/5/2023
1.9.35 513 9/4/2023
1.9.31 499 9/4/2023
1.9.28 497 9/4/2023
1.9.22 510 9/3/2023
1.9.17 551 9/3/2023
1.9.15 480 9/3/2023
1.9.8 519 9/1/2023
1.9.6 513 9/1/2023
1.9.4 537 9/1/2023
1.9.1 516 8/31/2023
1.8.22 557 8/29/2023
1.8.18 548 8/29/2023
1.8.8 565 8/24/2023
1.8.6 520 8/24/2023
1.7.0 541 8/22/2023
1.6.3 607 8/17/2023
1.6.2 620 8/17/2023
1.6.1 649 8/17/2023
1.6.0 627 8/17/2023
1.5.5 613 8/15/2023
1.5.0 623 8/14/2023
1.4.34 630 8/11/2023
1.4.33 596 8/11/2023
1.4.31 620 8/11/2023
1.4.29 604 8/10/2023
1.4.22 620 8/10/2023
1.4.21 631 8/10/2023
1.4.20 615 8/10/2023
1.4.18 583 8/7/2023
1.4.17 599 8/7/2023
1.4.15 617 8/7/2023
1.4.14 678 8/2/2023
1.4.12 590 8/2/2023
1.4.11 615 7/19/2023
1.4.10 657 7/19/2023
1.4.9 619 7/18/2023
1.4.8 589 7/18/2023
1.4.6 600 7/13/2023
1.4.5 581 7/11/2023
1.4.4 569 7/10/2023
1.4.3 613 7/10/2023
1.4.2 620 7/7/2023
1.4.1 612 7/6/2023
1.4.0 610 7/6/2023
1.3.17 650 7/5/2023
1.3.15 664 7/5/2023
1.3.14 561 7/5/2023
1.3.13 621 7/5/2023
1.3.12 642 6/30/2023
1.3.11 541 6/30/2023
1.3.8 576 6/30/2023
1.3.7 569 6/30/2023
1.3.6 598 6/30/2023
1.3.5 557 6/30/2023
1.3.4 579 6/30/2023
1.3.3 547 6/29/2023
1.3.2 586 6/29/2023
1.3.1 565 6/29/2023
1.3.0 560 6/29/2023
1.2.0 599 6/29/2023
1.1.0 588 6/29/2023
1.0.1 584 6/29/2023
0.3.26 567 6/29/2023
0.2.0 566 6/29/2023
0.1.1-initial-2-0027 483 6/8/2023
0.1.1-initial-2-0025 502 6/8/2023
0.1.1-initial-2-0024 476 6/8/2023
0.1.0 622 6/28/2023
0.1.0-initial-2-19 513 6/8/2023
0.1.0-initial-2-17 365 6/8/2023
0.1.0-initial-2-16 460 6/8/2023
0.1.0-initial-2-0023 449 6/8/2023
0.0.1-alpha03 253 5/29/2023
0.0.1-alpha02 258 5/28/2023
0.0.1-alpha01 249 5/28/2023