diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 321c21385..5bc1d25d7 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -7,6 +7,14 @@ on:
- '[0-9]+.[0-9]+.[0-9]+-*'
pull_request:
workflow_dispatch:
+ inputs:
+ nightly:
+ description: 'Build as nightly version'
+ required: false
+ type: boolean
+ default: false
+ schedule:
+ - cron: '0 15 * * *' # Run at 3 PM UTC (1 AM Melbourne AEST / 2 AM AEDT)
env:
DOTNET_NOLOGO: true
jobs:
@@ -23,7 +31,22 @@ jobs:
with:
dotnet-version: 9.0.x
- name: Build
- run: dotnet build LibGit2Sharp.sln --configuration Release
+ run: |
+ # if it is a pull request build set the build identity to branchname.runnumber
+ if ("${{ github.event_name }}" -eq "pull_request" -and "${{ github.head_ref }}" -ne "") {
+ $branchName = "${{ github.head_ref }}" -replace '[/\\]', '-' -replace '[^a-zA-Z0-9\-]', ''
+ $buildIdentity = "$branchName.${{ github.run_number }}"
+
+ $env:BUILD_IDENTITY = $buildIdentity
+ }
+
+ # if it is a scheduled build set the build identity to nightly
+ if ("${{ github.event_name }}" -eq "schedule" -or "${{ inputs.nightly }}" -eq "true") {
+ $env:BUILD_IDENTITY = "nightly.${{ github.run_number }}"
+ }
+
+ dotnet build LibGit2Sharp.sln --configuration Release
+ shell: pwsh
- name: Upload packages
uses: actions/upload-artifact@v4.3.1
with:
@@ -105,7 +128,7 @@ jobs:
name: Octopus NuGet Push
needs: [build, test, test-linux]
# && github.ref == 'refs/heads/octopus/master'
- if: github.actor != 'dependabot[bot]' && github.actor != 'dependabot-preview[bot]' && github.event_name != 'schedule'
+ if: github.actor != 'dependabot[bot]' && github.actor != 'dependabot-preview[bot]'
runs-on: ubuntu-22.04
steps:
- uses: actions/download-artifact@v4
diff --git a/LibGit2Sharp/LibGit2Sharp.csproj b/LibGit2Sharp/LibGit2Sharp.csproj
index f3ae850d4..5305e7e2f 100644
--- a/LibGit2Sharp/LibGit2Sharp.csproj
+++ b/LibGit2Sharp/LibGit2Sharp.csproj
@@ -29,6 +29,10 @@
true
+
+ octopus-$(BUILD_IDENTITY)
+
+