Compare commits
2 Commits
7ca04eb538
...
ae766c70cb
| Author | SHA1 | Date | |
|---|---|---|---|
| ae766c70cb | |||
| e6d2c8ac37 |
52
.gitea/workflows/ci-pipeline.yml
Normal file
52
.gitea/workflows/ci-pipeline.yml
Normal file
@ -0,0 +1,52 @@
|
||||
name: CI Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
paths-ignore:
|
||||
- '**/*.md'
|
||||
- '**/*.gitignore'
|
||||
- '**/*.gitattributes'
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
workflow_dispatch:
|
||||
permissions:
|
||||
contents: write
|
||||
packages: write
|
||||
|
||||
env:
|
||||
DOTNET_NOLOGO: true # Disable the .NET logo
|
||||
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true # Disable the .NET first time experience
|
||||
DOTNET_CLI_TELEMETRY_OPTOUT: true # Disable sending .NET CLI telemetry
|
||||
MINOR_VERSION_OVERRIDE: 0
|
||||
|
||||
GITEA_SERVER_URL: ${{ secrets.S_GITEA_SERVER_URL }}
|
||||
GITEA_PACKAGE_OWNER: ${{ secrets.S_GITEA_PACKAGE_OWNER }}
|
||||
GITEA_PACKAGE_OWNER_USER: ${{ secrets.S_GITEA_PACKAGE_OWNER_USER }}
|
||||
GITEA_PACKAGE_OWNER_PASSWORD: ${{ secrets.S_GITEA_PACKAGE_OWNER_PASSWORD }}
|
||||
GITEA_NUGET_SOURCE_NAME: ${{ vars.S_GITEA_NUGET_SOURCE_NAME }}
|
||||
|
||||
|
||||
jobs:
|
||||
build-ci-api:
|
||||
runs-on: [linux,self-hosted]
|
||||
name: CI Build API
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: https://github.com/actions/checkout@v4
|
||||
|
||||
- name: Setup .NET 9
|
||||
uses: https://github.com/actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: 9.x
|
||||
|
||||
- name: Make Build File Executable
|
||||
shell: bash
|
||||
run: |
|
||||
chmod +x ./build.cmd
|
||||
chmod +x ./build.sh
|
||||
|
||||
- name: Run Nuke Build
|
||||
shell: bash
|
||||
run: |
|
||||
./build.cmd -Target Publish
|
||||
@ -8,6 +8,7 @@ using Nuke.Common.IO;
|
||||
using Nuke.Common.ProjectModel;
|
||||
using Nuke.Common.Tooling;
|
||||
using Nuke.Common.Tools.DotNet;
|
||||
using Nuke.Common.Tools.Git;
|
||||
using Nuke.Common.Tools.GitVersion;
|
||||
using Nuke.Common.Utilities.Collections;
|
||||
using static Nuke.Common.EnvironmentInfo;
|
||||
@ -23,7 +24,6 @@ class Build : NukeBuild
|
||||
|
||||
public static int Main() => Execute<Build>(x => x.Pack);
|
||||
|
||||
private const string NuGetSourceUrl = "https://api.nuget.org/v3/index.json";
|
||||
private const string LibraryProjectName = "Universley.OrleansContrib.StreamsProvider.Redis";
|
||||
|
||||
[Parameter("Configuration to build - Default is 'Debug' (local) or 'Release' (server)")]
|
||||
@ -43,6 +43,9 @@ class Build : NukeBuild
|
||||
[Parameter("NuGet API key")]
|
||||
readonly string NuGetApiKey;
|
||||
|
||||
[Parameter("Gitea Nuget package source name")]
|
||||
readonly string GiteaNugetSourceName = Environment.GetEnvironmentVariable("GITEA_NUGET_SOURCE_NAME");
|
||||
|
||||
Target Clean => _ => _
|
||||
.Before(Restore)
|
||||
.Executes(() =>
|
||||
@ -106,14 +109,21 @@ class Build : NukeBuild
|
||||
.Executes(() =>
|
||||
{
|
||||
DotNetTasks.DotNetNuGetPush(s => s
|
||||
.SetSource(NuGetSourceUrl)
|
||||
.SetSource(GiteaNugetSourceName)
|
||||
.SetApiKey(NuGetApiKey)
|
||||
.SetTargetPath(NuGetPackagesDirectory / $"{LibraryProjectName}.{GitVersion.NuGetVersionV2}.snupkg"));
|
||||
|
||||
DotNetTasks.DotNetNuGetPush(s => s
|
||||
.SetSource(NuGetSourceUrl)
|
||||
.SetApiKey(NuGetApiKey)
|
||||
.SetSource(GiteaNugetSourceName)
|
||||
.SetTargetPath(NuGetPackagesDirectory / $"{LibraryProjectName}.{GitVersion.NuGetVersionV2}.nupkg"));
|
||||
});
|
||||
|
||||
Target CreateAndPushGitTag => _ => _
|
||||
.Executes(() =>
|
||||
{
|
||||
var gitTag = $"{GitVersion.NuGetVersionV2}";
|
||||
GitTasks.Git($"tag {gitTag}");
|
||||
GitTasks.Git($"push origin {gitTag}");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user