FluffySpoon.Publisher.GitHub
1.165.0
Prefix Reserved
dotnet add package FluffySpoon.Publisher.GitHub --version 1.165.0
NuGet\Install-Package FluffySpoon.Publisher.GitHub -Version 1.165.0
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="FluffySpoon.Publisher.GitHub" Version="1.165.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FluffySpoon.Publisher.GitHub --version 1.165.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FluffySpoon.Publisher.GitHub, 1.165.0"
#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 FluffySpoon.Publisher.GitHub as a Cake Addin #addin nuget:?package=FluffySpoon.Publisher.GitHub&version=1.165.0 // Install FluffySpoon.Publisher.GitHub as a Cake Tool #tool nuget:?package=FluffySpoon.Publisher.GitHub&version=1.165.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
FluffySpoon.Publishers
Publishes NuGet and NPM packages to the respective repositories.
Usage
You can also see a command-line runnable version of the following example here.
The code below will:
- Find all repositories in https://github.com/ffMathy that start with
FluffySpoon.
and have been modified within the past 30 days. - For each repository, sorted by update date descending:
- Determine the version of the package. The version used will be
1.0.<number of commits in repository>
. - For each C# project found in the
src
folder of the root of the repository:- Build
src/<ProjectName>
usingdotnet build
. - Test
src/<ProjectName>.Tests
if present usingdotnet test
. - Publish to NuGet if tests pass or no tests were present.
- Build
- For each NodeJS project found in the
src
folder of the root of the repository:- Build the root directory using
npm run build
. - Test the root directory using
npm run test
. - Publish to NPM.
- Build the root directory using
- Determine the version of the package. The version used will be
- For each C# project, publish it to NuGet.
- For each NodeJS project, publish it to NPM.
class Program
{
static void Main()
{
var services = new ServiceCollection();
//configure the publisher to take all GitHub repositories starting with "FluffySpoon."
services.AddRepositoryToPackagePublisher("FluffySpoon.");
//configure the publisher to use specific credentials for GitHub
services.AddGitHubProviderForAccessToken("ffMathy", "my GitHub access token");
//configure NuGet publishing
services.AddNuGetProvider("my NuGet API key");
//configure NPM publishing
services.AddNpmProvider("my NPM key");
//configure .NET Core project support
services.AddDotNetProvider();
//configure NodeJS project support
services.AddNodeJsProvider();
var provider = services.BuildServiceProvider();
var publisher = provider.GetRequiredService<IRepositoryToPackagePublisher>();
publisher.RefreshAllPackagesFromAllRepositoriesAsync().Wait();
Console.WriteLine("All done!");
}
}
Running in GitHub Actions
Below is an example of running the sample code on an GitHub Actions using environment variables.
dotnet.yml
name: .NET
on:
push:
schedule:
- cron: '0 * * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.x
- name: Build
env:
ProjectNamePrefix: FluffySpoon.
GitHubUsername: ffMathy
NuGetKey: ${{ secrets.NuGetKey }}
NpmAuthToken: ${{ secrets.NpmAuthToken }}
GitHubPersonalAccessToken: ${{ secrets.GitHubPersonalAccessToken }}
run: |
cd src
dotnet restore
dotnet build
cd FluffySpoon.Publisher.Sample
dotnet run
Running in AppVeyor
Below is an example of running the sample code on an AppVeyor build server using environment variables.
AppVeyor.yml
version: 1.0.{build}
image: Visual Studio 2017
environment:
NuGetKey:
secure: 14GsJ75nn9jwVPMQXN7qN8xrwhyAY8TwIvvsQ+P1yzahdtfl83J8cyN+aA9WhtSY
ProjectNamePrefix: FluffySpoon.
GitHubUsername: ffMathy
NpmAuthToken:
secure: dg3EnwKFzX5E40SPkoPK53pW2D2W5sjCGV4xhORTCoe50OEASg8Xk9mI12SBVadI
GitHubPersonalAccessToken:
secure: ECBBXkriJnyuksnl3PYf7PQ/WLyRZLXf9qgLyIlOIeh4e8EnYCX5gkgmyyO1/HR+
install:
- ps: |
Install-Product node '' x64
npm install typescript -g
build_script:
- cmd: |
cd src
dotnet restore
dotnet build
cd FluffySpoon.Publisher.Sample
dotnet run
Product | Versions 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- FluffySpoon.Publisher (>= 1.165.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.165.0 | 1,518 | 1/13/2024 |
1.164.0 | 96 | 1/13/2024 |
1.163.0 | 1,725 | 4/17/2023 |
1.158.0 | 290 | 3/4/2023 |
1.157.0 | 352 | 2/24/2023 |
1.155.0 | 312 | 2/22/2023 |
1.154.0 | 279 | 2/21/2023 |
1.153.0 | 507 | 11/8/2022 |
1.152.0 | 1,124 | 5/4/2022 |
1.151.0 | 804 | 3/12/2022 |
1.150.0 | 489 | 3/12/2022 |
1.148.0 | 475 | 3/12/2022 |
1.147.0 | 476 | 3/12/2022 |
1.146.0 | 486 | 3/12/2022 |
1.145.0 | 470 | 3/12/2022 |
1.138.0 | 453 | 3/12/2022 |
1.111.0 | 13,063 | 11/27/2019 |
1.110.0 | 574 | 11/27/2019 |
1.109.0 | 1,184 | 11/1/2019 |
1.108.0 | 7,516 | 1/13/2019 |
1.106.0 | 762 | 1/13/2019 |
1.105.0 | 759 | 1/13/2019 |
1.104.0 | 767 | 1/13/2019 |
1.103.0 | 741 | 1/13/2019 |
1.102.0 | 759 | 1/13/2019 |
1.100.0 | 731 | 1/13/2019 |
1.99.0 | 755 | 1/13/2019 |
1.97.0 | 771 | 1/13/2019 |
1.96.0 | 756 | 1/13/2019 |
1.95.0 | 716 | 1/13/2019 |
1.94.0 | 787 | 1/13/2019 |
1.0.93 | 760 | 1/13/2019 |
1.0.89 | 748 | 1/12/2019 |
1.0.88 | 1,414 | 12/13/2018 |
1.0.86 | 1,470 | 11/8/2018 |
1.0.84 | 1,004 | 10/28/2018 |
1.0.83 | 1,494 | 8/25/2018 |
1.0.82 | 869 | 8/25/2018 |
1.0.81 | 871 | 8/25/2018 |
1.0.80 | 1,851 | 7/18/2018 |
1.0.79 | 902 | 7/18/2018 |
1.0.77 | 901 | 7/18/2018 |
1.0.75 | 945 | 7/18/2018 |
1.0.74 | 989 | 7/18/2018 |
1.0.72 | 1,087 | 7/12/2018 |
1.0.71 | 1,247 | 7/3/2018 |
1.0.70 | 1,157 | 6/27/2018 |
1.0.64 | 1,331 | 6/13/2018 |
1.0.62 | 997 | 6/12/2018 |
1.0.60 | 1,392 | 5/29/2018 |
1.0.57 | 1,877 | 4/18/2018 |
1.0.56 | 1,426 | 4/6/2018 |
1.0.55 | 1,049 | 4/4/2018 |
1.0.54 | 997 | 4/4/2018 |
1.0.53 | 1,058 | 4/3/2018 |
1.0.51 | 1,048 | 4/3/2018 |
1.0.50 | 1,037 | 4/3/2018 |
1.0.44 | 1,004 | 4/2/2018 |
1.0.40 | 4,465 | 8/28/2017 |
1.0.39 | 1,113 | 8/24/2017 |
1.0.37 | 906 | 8/23/2017 |
1.0.35 | 979 | 5/19/2017 |
1.0.34 | 944 | 5/19/2017 |
1.0.33 | 984 | 5/19/2017 |
1.0.30 | 998 | 5/19/2017 |
1.0.26 | 942 | 5/12/2017 |