From b0e8a9af552ecbb41f8deb1c10990b507e2306b9 Mon Sep 17 00:00:00 2001
From: "Travis J. Gutjahr" <33809229+Squirrelies@users.noreply.github.com>
Date: Fri, 14 Mar 2025 18:52:29 -0500
Subject: [PATCH 01/15] Change in versioning strategy.
---
.github/workflows/ManualRelease.yml | 50 +++++++++++++++++---------
src/ProcessMemory/ProcessMemory.csproj | 6 ++--
version.txt | 1 +
3 files changed, 38 insertions(+), 19 deletions(-)
create mode 100644 version.txt
diff --git a/.github/workflows/ManualRelease.yml b/.github/workflows/ManualRelease.yml
index 9bc4baf..e3b10a6 100644
--- a/.github/workflows/ManualRelease.yml
+++ b/.github/workflows/ManualRelease.yml
@@ -46,7 +46,6 @@ jobs:
BUILD_PLATFORM: ${{matrix.BUILD_PLATFORM}}
SOLUTION: ProcessMemory.sln
CSPROJECT: src/ProcessMemory/ProcessMemory.csproj
- VERSION: 0.1.0
steps:
- name: Checkout
@@ -55,20 +54,34 @@ jobs:
fetch-depth: 0
ref: ${{github.ref}}
- - name: Get C# project version
- uses: Squirrelies/CI-CD/GetCSProjVersion@main
- id: Get-CSProj-Version
- with:
- repository: ${{github.repository}}
- ref: ${{github.ref}}
- csproj-path: ${{env.CSPROJECT}}
+ - name: Read and process version.txt
+ id: Get-Version
+ run: |
+ $baseVersion = (Get-Content "version.txt" -Raw).Trim('.')
+ $versionBuild = $((${{ vars.BUILD_NUMBER }} + 1))
+ echo "VersionMajor=$baseVersion[0]" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionMinor=$baseVersion[1]" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionPatch=$baseVersion[2]" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionBuild=$versionBuild" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionPreRelease=${{inputs.releaseTypeTag}}" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionCommitHash=$(("${{ github.sha }}".substring(0, 7)))" | Set-Content $env:GITHUB_OUTPUT
- - name: Get UTC DateTime
- uses: Squirrelies/CI-CD/GetUTCDateTime@main
- id: Get-UTC-DateTime
+ - name: Get SemVer
+ uses: Squirrelies/CI-CD/GetSemVerString@main
+ id: Get-SemVer
+ with:
+ versionMajor: ${{steps.Get-Version.outputs.VersionMajor}}
+ versionMinor: ${{steps.Get-Version.outputs.VersionMinor}}
+ versionPatch: ${{steps.Get-Version.outputs.VersionPatch}}
+ preRelease: ${{steps.Get-Version.outputs.VersionPreRelease}}
+ versionBuild: ${{steps.Get-Version.outputs.VersionBuild}}
+ commitHash: ${{steps.Get-Version.outputs.VersionCommitHash}}
- - name: Set VERSION environment variable
- run: echo 'VERSION=${{steps.Get-CSProj-Version.outputs.Version}}${{inputs.releaseTypeTag}}.${{steps.Get-UTC-DateTime.outputs.UTC-DateTime}}' >> $env:GITHUB_ENV
+ - name: Set versioning environment variable
+ run: |
+ echo 'VERSION=${{steps.Get-SemVer.outputs.Version}}' >> $env:GITHUB_ENV
+ echo 'FILEVERSION=${{steps.Get-Version.outputs.VersionMajor}}.${{steps.Get-Version.outputs.VersionMinor}}.${{steps.Get-Version.outputs.VersionPatch}}.${{steps.Get-Version.outputs.VersionBuild}}' >> $env:GITHUB_ENV
+ echo 'ASSEMBLYVERSION=${{steps.Get-Version.outputs.VersionMajor}}.${{steps.Get-Version.outputs.VersionMinor}}.0.0' >> $env:GITHUB_ENV
- name: Build Native Library
uses: Squirrelies/CI-CD/BuildMSYS2CMakeVCPkgProject@main
@@ -81,7 +94,7 @@ jobs:
preset-configuration: ${{inputs.buildConfig}}
preset-configuration-tidy: ${{ inputs.runLinters == true && format('{0}-Tidy', inputs.buildConfig) || ''}}
run-unit-tests: ${{inputs.unitTests}}
- additional-cmake-args: -DARCH=${{matrix.BUILD_PLATFORM}}
+ additional-cmake-args: -DARCH=${{matrix.BUILD_PLATFORM}} -DRC_VERSION_MAJOR=${{steps.Get-Version.outputs.VersionMajor}} -DRC_VERSION_MINOR=${{steps.Get-Version.outputs.VersionMinor}} -DRC_VERSION_PATCH=${{steps.Get-Version.outputs.VersionPatch}} -DRC_VERSION_BUILD=${{steps.Get-Version.outputs.VersionBuild}} -DRC_VERSION_PRERELEASE_TAG=${{steps.Get-Version.outputs.VersionPreRelease}} -DRC_VERSION_BUILD_HASH=${{steps.Get-Version.outputs.VersionCommitHash}}
- name: Setup NuGet
uses: NuGet/setup-nuget@v2
@@ -96,10 +109,15 @@ jobs:
run: dotnet restore $env:SOLUTION --verbosity normal
- name: Build .NET Project
- run: dotnet build $env:SOLUTION /p:"Configuration=${{inputs.buildConfig}};Platform=$env:BUILD_PLATFORM;VERSION=$env:VERSION" --no-restore --verbosity normal
+ run: dotnet build $env:SOLUTION /p:"Configuration=${{inputs.buildConfig}};Platform=$env:BUILD_PLATFORM;VERSION=$env:VERSION;FILEVERSION=$env:FILEVERSION;ASSEMBLYVERSION=$env:ASSEMBLYVERSION" --no-restore --verbosity normal
- name: Run .NET Project Unit Tests
- run: dotnet test /p:"Configuration=${{inputs.buildConfig}};Platform=$env:BUILD_PLATFORM;VERSION=$env:VERSION" --no-restore --no-build --verbosity normal
+ run: dotnet test /p:"Configuration=${{inputs.buildConfig}};Platform=$env:BUILD_PLATFORM;VERSION=$env:VERSION;FILEVERSION=$env:FILEVERSION;ASSEMBLYVERSION=$env:ASSEMBLYVERSION" --no-restore --no-build --verbosity normal
- name: Publish NuGet Package
run: nuget push **\*.nupkg -Source "https://api.nuget.org/v3/index.json" -ApiKey "${{secrets.NUGET_API_KEY}}" -SkipDuplicate
+
+ - name: Update build number variable
+ env:
+ GH_TOKEN: ${{ secrets.GH_VARIABLE_RW_TOKEN }}
+ run: gh variable set BUILD_NUMBER -b${{ steps.Get-Version.outputs.VersionBuild }}
diff --git a/src/ProcessMemory/ProcessMemory.csproj b/src/ProcessMemory/ProcessMemory.csproj
index 7db6cfe..64057dd 100644
--- a/src/ProcessMemory/ProcessMemory.csproj
+++ b/src/ProcessMemory/ProcessMemory.csproj
@@ -10,9 +10,9 @@
Process Memory Access Library ($(Platform))
A library for reading and writing process memory.
- 4.0.6
- 4.0.6
- 4.0.0
+ 0.1.0
+ 0.1.0
+ 0.1.0
ProcessMemory
$(AssemblyName)
diff --git a/version.txt b/version.txt
new file mode 100644
index 0000000..d356c34
--- /dev/null
+++ b/version.txt
@@ -0,0 +1 @@
+4.0.7
\ No newline at end of file
From c3ef9b77f860a89a57385f05a8c12eb61e2acc2a Mon Sep 17 00:00:00 2001
From: "Travis J. Gutjahr" <33809229+Squirrelies@users.noreply.github.com>
Date: Fri, 14 Mar 2025 18:59:08 -0500
Subject: [PATCH 02/15] Fix workflows in some spots.
---
.github/workflows/AutomatedRelease.yml | 51 ++++++++++++++++++--------
.github/workflows/ManualRelease.yml | 7 ++++
2 files changed, 42 insertions(+), 16 deletions(-)
diff --git a/.github/workflows/AutomatedRelease.yml b/.github/workflows/AutomatedRelease.yml
index 2b49e36..01691b7 100644
--- a/.github/workflows/AutomatedRelease.yml
+++ b/.github/workflows/AutomatedRelease.yml
@@ -23,7 +23,6 @@ jobs:
BUILD_PLATFORM: ${{matrix.BUILD_PLATFORM}}
SOLUTION: ProcessMemory.sln
CSPROJECT: src/ProcessMemory/ProcessMemory.csproj
- VERSION: 0.1.0
steps:
- name: Checkout
@@ -32,20 +31,34 @@ jobs:
fetch-depth: 0
ref: ${{github.ref}}
- - name: Get C# project version
- uses: Squirrelies/CI-CD/GetCSProjVersion@main
- id: Get-CSProj-Version
- with:
- repository: ${{github.repository}}
- ref: ${{github.ref}}
- csproj-path: ${{env.CSPROJECT}}
+ - name: Read and process version.txt
+ id: Get-Version
+ run: |
+ $baseVersion = (Get-Content "version.txt" -Raw).Trim('.')
+ $versionBuild = $((${{ vars.BUILD_NUMBER }} + 1))
+ echo "VersionMajor=$baseVersion[0]" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionMinor=$baseVersion[1]" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionPatch=$baseVersion[2]" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionBuild=$versionBuild" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionPreRelease=${{env.RELEASE_TYPE_TAG}}" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionCommitHash=$(("${{ github.sha }}".substring(0, 7)))" | Set-Content $env:GITHUB_OUTPUT
- - name: Get UTC DateTime
- uses: Squirrelies/CI-CD/GetUTCDateTime@main
- id: Get-UTC-DateTime
+ - name: Get SemVer
+ uses: Squirrelies/CI-CD/GetSemVerString@main
+ id: Get-SemVer
+ with:
+ versionMajor: ${{steps.Get-Version.outputs.VersionMajor}}
+ versionMinor: ${{steps.Get-Version.outputs.VersionMinor}}
+ versionPatch: ${{steps.Get-Version.outputs.VersionPatch}}
+ preRelease: ${{steps.Get-Version.outputs.VersionPreRelease}}
+ versionBuild: ${{steps.Get-Version.outputs.VersionBuild}}
+ commitHash: ${{steps.Get-Version.outputs.VersionCommitHash}}
- - name: Set VERSION environment variable
- run: echo 'VERSION=${{steps.Get-CSProj-Version.outputs.Version}}${{env.RELEASE_TYPE_TAG}}.${{steps.Get-UTC-DateTime.outputs.UTC-DateTime}}' >> $env:GITHUB_ENV
+ - name: Set versioning environment variable
+ run: |
+ echo 'VERSION=${{steps.Get-SemVer.outputs.Version}}' >> $env:GITHUB_ENV
+ echo 'FILEVERSION=${{steps.Get-Version.outputs.VersionMajor}}.${{steps.Get-Version.outputs.VersionMinor}}.${{steps.Get-Version.outputs.VersionPatch}}.${{steps.Get-Version.outputs.VersionBuild}}' >> $env:GITHUB_ENV
+ echo 'ASSEMBLYVERSION=${{steps.Get-Version.outputs.VersionMajor}}.${{steps.Get-Version.outputs.VersionMinor}}.0.0' >> $env:GITHUB_ENV
- name: Build Native Library
uses: Squirrelies/CI-CD/BuildMSYS2CMakeVCPkgProject@main
@@ -58,7 +71,7 @@ jobs:
preset-configuration: ${{env.BUILD_CONFIG}}
preset-configuration-tidy: ${{ env.RUN_LINTERS == true && format('{0}-Tidy', env.BUILD_CONFIG) || ''}}
run-unit-tests: ${{env.RUN_UNIT_TESTS}}
- additional-cmake-args: -DARCH=${{matrix.BUILD_PLATFORM}}
+ additional-cmake-args: -DARCH=${{matrix.BUILD_PLATFORM}} -DRC_VERSION_MAJOR=${{steps.Get-Version.outputs.VersionMajor}} -DRC_VERSION_MINOR=${{steps.Get-Version.outputs.VersionMinor}} -DRC_VERSION_PATCH=${{steps.Get-Version.outputs.VersionPatch}} -DRC_VERSION_BUILD=${{steps.Get-Version.outputs.VersionBuild}} -DRC_VERSION_PRERELEASE_TAG=${{steps.Get-Version.outputs.VersionPreRelease}} -DRC_VERSION_BUILD_HASH=${{steps.Get-Version.outputs.VersionCommitHash}}
- name: Setup NuGet
uses: NuGet/setup-nuget@v2
@@ -73,10 +86,16 @@ jobs:
run: dotnet restore $env:SOLUTION --verbosity normal
- name: Build .NET Project
- run: dotnet build $env:SOLUTION /p:"Configuration=${{env.BUILD_CONFIG}};Platform=$env:BUILD_PLATFORM;VERSION=$env:VERSION" --no-restore --verbosity normal
+ run: dotnet build $env:SOLUTION /p:"Configuration=${{env.BUILD_CONFIG}};Platform=$env:BUILD_PLATFORM;VERSION=$env:VERSION;FILEVERSION=$env:FILEVERSION;ASSEMBLYVERSION=$env:ASSEMBLYVERSION" --no-restore --verbosity normal
- name: Run .NET Project Unit Tests
- run: dotnet test /p:"Configuration=${{env.BUILD_CONFIG}};Platform=$env:BUILD_PLATFORM;VERSION=$env:VERSION" --no-restore --no-build --verbosity normal
+ if: ${{ !cancelled() && env.RUN_UNIT_TESTS == 'true' }}
+ run: dotnet test /p:"Configuration=${{env.BUILD_CONFIG}};Platform=$env:BUILD_PLATFORM;VERSION=$env:VERSION;FILEVERSION=$env:FILEVERSION;ASSEMBLYVERSION=$env:ASSEMBLYVERSION" --no-restore --no-build --verbosity normal
- name: Publish NuGet Package
run: nuget push **\*.nupkg -Source "https://api.nuget.org/v3/index.json" -ApiKey "${{secrets.NUGET_API_KEY}}" -SkipDuplicate
+
+ - name: Update build number variable
+ env:
+ GH_TOKEN: ${{ secrets.GH_VARIABLE_RW_TOKEN }}
+ run: gh variable set BUILD_NUMBER -b${{ steps.Get-Version.outputs.VersionBuild }}
diff --git a/.github/workflows/ManualRelease.yml b/.github/workflows/ManualRelease.yml
index e3b10a6..c0e9d5a 100644
--- a/.github/workflows/ManualRelease.yml
+++ b/.github/workflows/ManualRelease.yml
@@ -31,6 +31,11 @@ on:
required: false
default: false
type: boolean
+ publish:
+ description: "Publish to NuGet"
+ required: true
+ default: true
+ type: boolean
jobs:
Build:
@@ -112,9 +117,11 @@ jobs:
run: dotnet build $env:SOLUTION /p:"Configuration=${{inputs.buildConfig}};Platform=$env:BUILD_PLATFORM;VERSION=$env:VERSION;FILEVERSION=$env:FILEVERSION;ASSEMBLYVERSION=$env:ASSEMBLYVERSION" --no-restore --verbosity normal
- name: Run .NET Project Unit Tests
+ if: ${{ !cancelled() && inputs.unitTests == 'true' }}
run: dotnet test /p:"Configuration=${{inputs.buildConfig}};Platform=$env:BUILD_PLATFORM;VERSION=$env:VERSION;FILEVERSION=$env:FILEVERSION;ASSEMBLYVERSION=$env:ASSEMBLYVERSION" --no-restore --no-build --verbosity normal
- name: Publish NuGet Package
+ if: ${{ !cancelled() && inputs.publish == 'true' }}
run: nuget push **\*.nupkg -Source "https://api.nuget.org/v3/index.json" -ApiKey "${{secrets.NUGET_API_KEY}}" -SkipDuplicate
- name: Update build number variable
From 3ea4c8046f72428e42fe7e94b23332c7c97bfc21 Mon Sep 17 00:00:00 2001
From: "Travis J. Gutjahr" <33809229+Squirrelies@users.noreply.github.com>
Date: Fri, 14 Mar 2025 19:06:55 -0500
Subject: [PATCH 03/15] Fix .
---
.github/workflows/AutomatedRelease.yml | 2 +-
.github/workflows/ManualRelease.yml | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/AutomatedRelease.yml b/.github/workflows/AutomatedRelease.yml
index 01691b7..5143572 100644
--- a/.github/workflows/AutomatedRelease.yml
+++ b/.github/workflows/AutomatedRelease.yml
@@ -34,7 +34,7 @@ jobs:
- name: Read and process version.txt
id: Get-Version
run: |
- $baseVersion = (Get-Content "version.txt" -Raw).Trim('.')
+ $baseVersion = (Get-Content "version.txt" -Raw).Split('.')
$versionBuild = $((${{ vars.BUILD_NUMBER }} + 1))
echo "VersionMajor=$baseVersion[0]" | Set-Content $env:GITHUB_OUTPUT
echo "VersionMinor=$baseVersion[1]" | Set-Content $env:GITHUB_OUTPUT
diff --git a/.github/workflows/ManualRelease.yml b/.github/workflows/ManualRelease.yml
index c0e9d5a..586202a 100644
--- a/.github/workflows/ManualRelease.yml
+++ b/.github/workflows/ManualRelease.yml
@@ -62,14 +62,14 @@ jobs:
- name: Read and process version.txt
id: Get-Version
run: |
- $baseVersion = (Get-Content "version.txt" -Raw).Trim('.')
+ $baseVersion = (Get-Content "version.txt" -Raw).Split('.')
$versionBuild = $((${{ vars.BUILD_NUMBER }} + 1))
echo "VersionMajor=$baseVersion[0]" | Set-Content $env:GITHUB_OUTPUT
echo "VersionMinor=$baseVersion[1]" | Set-Content $env:GITHUB_OUTPUT
echo "VersionPatch=$baseVersion[2]" | Set-Content $env:GITHUB_OUTPUT
echo "VersionBuild=$versionBuild" | Set-Content $env:GITHUB_OUTPUT
echo "VersionPreRelease=${{inputs.releaseTypeTag}}" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionCommitHash=$(("${{ github.sha }}".substring(0, 7)))" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionCommitHash=$(("${{ github.sha }}".Substring(0, 7)))" | Set-Content $env:GITHUB_OUTPUT
- name: Get SemVer
uses: Squirrelies/CI-CD/GetSemVerString@main
From 0faa9cf7bef6098c5728736922e3479d72466f64 Mon Sep 17 00:00:00 2001
From: "Travis J. Gutjahr" <33809229+Squirrelies@users.noreply.github.com>
Date: Fri, 14 Mar 2025 19:08:42 -0500
Subject: [PATCH 04/15] Fix baseVersion?
---
.github/workflows/ManualRelease.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/ManualRelease.yml b/.github/workflows/ManualRelease.yml
index 586202a..5cbcba5 100644
--- a/.github/workflows/ManualRelease.yml
+++ b/.github/workflows/ManualRelease.yml
@@ -62,7 +62,7 @@ jobs:
- name: Read and process version.txt
id: Get-Version
run: |
- $baseVersion = (Get-Content "version.txt" -Raw).Split('.')
+ $baseVersion = $(((Get-Content "version.txt" -Raw).Split('.')))
$versionBuild = $((${{ vars.BUILD_NUMBER }} + 1))
echo "VersionMajor=$baseVersion[0]" | Set-Content $env:GITHUB_OUTPUT
echo "VersionMinor=$baseVersion[1]" | Set-Content $env:GITHUB_OUTPUT
From 9e9233d8cfc803df598c2670adbd3d7fe5fb0346 Mon Sep 17 00:00:00 2001
From: "Travis J. Gutjahr" <33809229+Squirrelies@users.noreply.github.com>
Date: Fri, 14 Mar 2025 19:12:24 -0500
Subject: [PATCH 05/15] Fix baseVersion?
---
.github/workflows/ManualRelease.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/ManualRelease.yml b/.github/workflows/ManualRelease.yml
index 5cbcba5..5277130 100644
--- a/.github/workflows/ManualRelease.yml
+++ b/.github/workflows/ManualRelease.yml
@@ -64,9 +64,9 @@ jobs:
run: |
$baseVersion = $(((Get-Content "version.txt" -Raw).Split('.')))
$versionBuild = $((${{ vars.BUILD_NUMBER }} + 1))
- echo "VersionMajor=$baseVersion[0]" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionMinor=$baseVersion[1]" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionPatch=$baseVersion[2]" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionMajor=$($baseVersion[0])" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionMinor=$($baseVersion[1])" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionPatch=$($baseVersion[2])" | Set-Content $env:GITHUB_OUTPUT
echo "VersionBuild=$versionBuild" | Set-Content $env:GITHUB_OUTPUT
echo "VersionPreRelease=${{inputs.releaseTypeTag}}" | Set-Content $env:GITHUB_OUTPUT
echo "VersionCommitHash=$(("${{ github.sha }}".Substring(0, 7)))" | Set-Content $env:GITHUB_OUTPUT
From 286e3912eb87ac8eb8ed90864921c48d3573b162 Mon Sep 17 00:00:00 2001
From: "Travis J. Gutjahr" <33809229+Squirrelies@users.noreply.github.com>
Date: Fri, 14 Mar 2025 19:17:43 -0500
Subject: [PATCH 06/15] Fix baseVersion?
---
.github/workflows/ManualRelease.yml | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/.github/workflows/ManualRelease.yml b/.github/workflows/ManualRelease.yml
index 5277130..3859ed5 100644
--- a/.github/workflows/ManualRelease.yml
+++ b/.github/workflows/ManualRelease.yml
@@ -64,12 +64,12 @@ jobs:
run: |
$baseVersion = $(((Get-Content "version.txt" -Raw).Split('.')))
$versionBuild = $((${{ vars.BUILD_NUMBER }} + 1))
- echo "VersionMajor=$($baseVersion[0])" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionMinor=$($baseVersion[1])" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionPatch=$($baseVersion[2])" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionBuild=$versionBuild" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionPreRelease=${{inputs.releaseTypeTag}}" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionCommitHash=$(("${{ github.sha }}".Substring(0, 7)))" | Set-Content $env:GITHUB_OUTPUT
+ echo 'VersionMajor=$($baseVersion[0])' | Set-Content $env:GITHUB_OUTPUT
+ echo 'VersionMinor=$($baseVersion[1])' | Set-Content $env:GITHUB_OUTPUT
+ echo 'VersionPatch=$($baseVersion[2])' | Set-Content $env:GITHUB_OUTPUT
+ echo 'VersionBuild=$versionBuild' | Set-Content $env:GITHUB_OUTPUT
+ echo 'VersionPreRelease=${{inputs.releaseTypeTag}}' | Set-Content $env:GITHUB_OUTPUT
+ echo 'VersionCommitHash=$(("${{ github.sha }}".Substring(0, 7)))' | Set-Content $env:GITHUB_OUTPUT
- name: Get SemVer
uses: Squirrelies/CI-CD/GetSemVerString@main
From e7ccc95c956c38367ab5bad2b53011dcb3ba0874 Mon Sep 17 00:00:00 2001
From: "Travis J. Gutjahr" <33809229+Squirrelies@users.noreply.github.com>
Date: Fri, 14 Mar 2025 19:24:21 -0500
Subject: [PATCH 07/15] Grr.
---
.github/workflows/ManualRelease.yml | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/.github/workflows/ManualRelease.yml b/.github/workflows/ManualRelease.yml
index 3859ed5..8fdc18b 100644
--- a/.github/workflows/ManualRelease.yml
+++ b/.github/workflows/ManualRelease.yml
@@ -64,12 +64,12 @@ jobs:
run: |
$baseVersion = $(((Get-Content "version.txt" -Raw).Split('.')))
$versionBuild = $((${{ vars.BUILD_NUMBER }} + 1))
- echo 'VersionMajor=$($baseVersion[0])' | Set-Content $env:GITHUB_OUTPUT
- echo 'VersionMinor=$($baseVersion[1])' | Set-Content $env:GITHUB_OUTPUT
- echo 'VersionPatch=$($baseVersion[2])' | Set-Content $env:GITHUB_OUTPUT
- echo 'VersionBuild=$versionBuild' | Set-Content $env:GITHUB_OUTPUT
- echo 'VersionPreRelease=${{inputs.releaseTypeTag}}' | Set-Content $env:GITHUB_OUTPUT
- echo 'VersionCommitHash=$(("${{ github.sha }}".Substring(0, 7)))' | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionMajor=$($baseVersion[0])" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionMinor=$($baseVersion[1])" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionPatch=$($baseVersion[2])" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionBuild=$versionBuild" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionPreRelease=${{inputs.releaseTypeTag}}" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionCommitHash=$(("${{ github.sha }}".Substring(0, 7)))" | Set-Content $env:GITHUB_OUTPUT
- name: Get SemVer
uses: Squirrelies/CI-CD/GetSemVerString@main
@@ -88,6 +88,11 @@ jobs:
echo 'FILEVERSION=${{steps.Get-Version.outputs.VersionMajor}}.${{steps.Get-Version.outputs.VersionMinor}}.${{steps.Get-Version.outputs.VersionPatch}}.${{steps.Get-Version.outputs.VersionBuild}}' >> $env:GITHUB_ENV
echo 'ASSEMBLYVERSION=${{steps.Get-Version.outputs.VersionMajor}}.${{steps.Get-Version.outputs.VersionMinor}}.0.0' >> $env:GITHUB_ENV
+ - name: Ensure we detected the version properly
+ id: assert-version
+ if: ${{ env.ASSEMBLYVERSION == '..0.0' }}
+ run: exit 1
+
- name: Build Native Library
uses: Squirrelies/CI-CD/BuildMSYS2CMakeVCPkgProject@main
id: build-native-library
From fefd35da22952c83a555e8d049d613c28a28e212 Mon Sep 17 00:00:00 2001
From: "Travis J. Gutjahr" <33809229+Squirrelies@users.noreply.github.com>
Date: Fri, 14 Mar 2025 19:28:36 -0500
Subject: [PATCH 08/15] Grr.
---
.github/workflows/ManualRelease.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/ManualRelease.yml b/.github/workflows/ManualRelease.yml
index 8fdc18b..1f002f6 100644
--- a/.github/workflows/ManualRelease.yml
+++ b/.github/workflows/ManualRelease.yml
@@ -63,6 +63,7 @@ jobs:
id: Get-Version
run: |
$baseVersion = $(((Get-Content "version.txt" -Raw).Split('.')))
+ Write-Host $baseVersion
$versionBuild = $((${{ vars.BUILD_NUMBER }} + 1))
echo "VersionMajor=$($baseVersion[0])" | Set-Content $env:GITHUB_OUTPUT
echo "VersionMinor=$($baseVersion[1])" | Set-Content $env:GITHUB_OUTPUT
From eb88562a0e322a0ef808057349b4ff2a8ad3c83d Mon Sep 17 00:00:00 2001
From: "Travis J. Gutjahr" <33809229+Squirrelies@users.noreply.github.com>
Date: Fri, 14 Mar 2025 19:34:27 -0500
Subject: [PATCH 09/15] Grr.
---
.github/workflows/ManualRelease.yml | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/ManualRelease.yml b/.github/workflows/ManualRelease.yml
index 1f002f6..9c99307 100644
--- a/.github/workflows/ManualRelease.yml
+++ b/.github/workflows/ManualRelease.yml
@@ -63,14 +63,13 @@ jobs:
id: Get-Version
run: |
$baseVersion = $(((Get-Content "version.txt" -Raw).Split('.')))
- Write-Host $baseVersion
$versionBuild = $((${{ vars.BUILD_NUMBER }} + 1))
- echo "VersionMajor=$($baseVersion[0])" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionMinor=$($baseVersion[1])" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionPatch=$($baseVersion[2])" | Set-Content $env:GITHUB_OUTPUT
+ echo $("VersionMajor="+$baseVersion[0]) | Set-Content $env:GITHUB_OUTPUT
+ echo $("VersionMinor="+$baseVersion[1]) | Set-Content $env:GITHUB_OUTPUT
+ echo $("VersionPatch="+$baseVersion[2]) | Set-Content $env:GITHUB_OUTPUT
echo "VersionBuild=$versionBuild" | Set-Content $env:GITHUB_OUTPUT
echo "VersionPreRelease=${{inputs.releaseTypeTag}}" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionCommitHash=$(("${{ github.sha }}".Substring(0, 7)))" | Set-Content $env:GITHUB_OUTPUT
+ echo "VersionCommitHash=$(("${{ github.sha }}".substring(0, 7)))" | Set-Content $env:GITHUB_OUTPUT
- name: Get SemVer
uses: Squirrelies/CI-CD/GetSemVerString@main
From 5faf90021ceefd920fab1410bf1a7c4fdf4a71fa Mon Sep 17 00:00:00 2001
From: "Travis J. Gutjahr" <33809229+Squirrelies@users.noreply.github.com>
Date: Fri, 14 Mar 2025 19:42:58 -0500
Subject: [PATCH 10/15] Grr.
---
.github/workflows/ManualRelease.yml | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/.github/workflows/ManualRelease.yml b/.github/workflows/ManualRelease.yml
index 9c99307..0340502 100644
--- a/.github/workflows/ManualRelease.yml
+++ b/.github/workflows/ManualRelease.yml
@@ -62,14 +62,15 @@ jobs:
- name: Read and process version.txt
id: Get-Version
run: |
- $baseVersion = $(((Get-Content "version.txt" -Raw).Split('.')))
- $versionBuild = $((${{ vars.BUILD_NUMBER }} + 1))
- echo $("VersionMajor="+$baseVersion[0]) | Set-Content $env:GITHUB_OUTPUT
- echo $("VersionMinor="+$baseVersion[1]) | Set-Content $env:GITHUB_OUTPUT
- echo $("VersionPatch="+$baseVersion[2]) | Set-Content $env:GITHUB_OUTPUT
- echo "VersionBuild=$versionBuild" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionPreRelease=${{inputs.releaseTypeTag}}" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionCommitHash=$(("${{ github.sha }}".substring(0, 7)))" | Set-Content $env:GITHUB_OUTPUT
+ $baseVersion = (Get-Content "version.txt" -Raw).Split('.')
+ $versionBuild = (${{vars.BUILD_NUMBER}} + 1)
+
+ "VersionMajor=$($baseVersion[0])" >> $env:GITHUB_OUTPUT
+ "VersionMinor=$($baseVersion[1])" >> $env:GITHUB_OUTPUT
+ "VersionPatch=$($baseVersion[2])" >> $env:GITHUB_OUTPUT
+ "VersionBuild=$versionBuild" >> $env:GITHUB_OUTPUT
+ "VersionPreRelease=${{inputs.releaseTypeTag}}" >> $env:GITHUB_OUTPUT
+ "VersionCommitHash=$(("${{github.sha}}".substring(0, 7)))" >> $env:GITHUB_OUTPUT
- name: Get SemVer
uses: Squirrelies/CI-CD/GetSemVerString@main
From f6aa51a277f1a9c20a43138474a4d642b1f4694e Mon Sep 17 00:00:00 2001
From: "Travis J. Gutjahr" <33809229+Squirrelies@users.noreply.github.com>
Date: Fri, 14 Mar 2025 19:45:43 -0500
Subject: [PATCH 11/15] Fixed?
---
.github/workflows/AutomatedRelease.yml | 17 +++++++++--------
.github/workflows/ManualRelease.yml | 11 +++--------
2 files changed, 12 insertions(+), 16 deletions(-)
diff --git a/.github/workflows/AutomatedRelease.yml b/.github/workflows/AutomatedRelease.yml
index 5143572..d2c8ec8 100644
--- a/.github/workflows/AutomatedRelease.yml
+++ b/.github/workflows/AutomatedRelease.yml
@@ -17,7 +17,7 @@ jobs:
BUILD_PLATFORM: [x86, x64]
env:
BUILD_CONFIG: Release
- RELEASE_TYPE_TAG: "-beta" # For the moment, everything is beta.
+ RELEASE_TYPE_TAG: "beta" # For the moment, everything is beta.
RUN_LINTERS: false # These are not ready yet.
RUN_UNIT_TESTS: false # These are not ready yet.
BUILD_PLATFORM: ${{matrix.BUILD_PLATFORM}}
@@ -35,13 +35,14 @@ jobs:
id: Get-Version
run: |
$baseVersion = (Get-Content "version.txt" -Raw).Split('.')
- $versionBuild = $((${{ vars.BUILD_NUMBER }} + 1))
- echo "VersionMajor=$baseVersion[0]" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionMinor=$baseVersion[1]" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionPatch=$baseVersion[2]" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionBuild=$versionBuild" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionPreRelease=${{env.RELEASE_TYPE_TAG}}" | Set-Content $env:GITHUB_OUTPUT
- echo "VersionCommitHash=$(("${{ github.sha }}".substring(0, 7)))" | Set-Content $env:GITHUB_OUTPUT
+ $versionBuild = (${{vars.BUILD_NUMBER}} + 1)
+
+ "VersionMajor=$($baseVersion[0])" >> $env:GITHUB_OUTPUT
+ "VersionMinor=$($baseVersion[1])" >> $env:GITHUB_OUTPUT
+ "VersionPatch=$($baseVersion[2])" >> $env:GITHUB_OUTPUT
+ "VersionBuild=$versionBuild" >> $env:GITHUB_OUTPUT
+ "VersionPreRelease=${{env.RELEASE_TYPE_TAG}}" >> $env:GITHUB_OUTPUT
+ "VersionCommitHash=$(("${{github.sha}}".substring(0, 7)))" >> $env:GITHUB_OUTPUT
- name: Get SemVer
uses: Squirrelies/CI-CD/GetSemVerString@main
diff --git a/.github/workflows/ManualRelease.yml b/.github/workflows/ManualRelease.yml
index 0340502..f53ba05 100644
--- a/.github/workflows/ManualRelease.yml
+++ b/.github/workflows/ManualRelease.yml
@@ -17,9 +17,9 @@ on:
default: "-beta"
type: choice
options:
- - "-alpha"
- - "-beta"
- - "-RC"
+ - "alpha"
+ - "beta"
+ - "RC"
- ""
runLinters:
description: "Run Linters"
@@ -89,11 +89,6 @@ jobs:
echo 'FILEVERSION=${{steps.Get-Version.outputs.VersionMajor}}.${{steps.Get-Version.outputs.VersionMinor}}.${{steps.Get-Version.outputs.VersionPatch}}.${{steps.Get-Version.outputs.VersionBuild}}' >> $env:GITHUB_ENV
echo 'ASSEMBLYVERSION=${{steps.Get-Version.outputs.VersionMajor}}.${{steps.Get-Version.outputs.VersionMinor}}.0.0' >> $env:GITHUB_ENV
- - name: Ensure we detected the version properly
- id: assert-version
- if: ${{ env.ASSEMBLYVERSION == '..0.0' }}
- run: exit 1
-
- name: Build Native Library
uses: Squirrelies/CI-CD/BuildMSYS2CMakeVCPkgProject@main
id: build-native-library
From cc1eb65d501ff60a3ab99632002c2dac0c30e71c Mon Sep 17 00:00:00 2001
From: "Travis J. Gutjahr" <33809229+Squirrelies@users.noreply.github.com>
Date: Fri, 14 Mar 2025 19:46:52 -0500
Subject: [PATCH 12/15] Fixed?
---
.github/workflows/ManualRelease.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/ManualRelease.yml b/.github/workflows/ManualRelease.yml
index f53ba05..b143ce1 100644
--- a/.github/workflows/ManualRelease.yml
+++ b/.github/workflows/ManualRelease.yml
@@ -14,7 +14,7 @@ on:
releaseTypeTag: # Use -alpha, -beta, or -rc for pre-release. An empty string for stable.
description: "Release type tag"
required: true
- default: "-beta"
+ default: "beta"
type: choice
options:
- "alpha"
From e0652845098355e6a77b22f03fa594c4c3d76ee6 Mon Sep 17 00:00:00 2001
From: "Travis J. Gutjahr" <33809229+Squirrelies@users.noreply.github.com>
Date: Fri, 14 Mar 2025 19:59:17 -0500
Subject: [PATCH 13/15] Debugging.
---
.github/workflows/ManualRelease.yml | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/.github/workflows/ManualRelease.yml b/.github/workflows/ManualRelease.yml
index b143ce1..a188625 100644
--- a/.github/workflows/ManualRelease.yml
+++ b/.github/workflows/ManualRelease.yml
@@ -126,6 +126,17 @@ jobs:
run: nuget push **\*.nupkg -Source "https://api.nuget.org/v3/index.json" -ApiKey "${{secrets.NUGET_API_KEY}}" -SkipDuplicate
- name: Update build number variable
+ if: ${{ !cancelled() && inputs.publish == 'true' }} # Only update the build number if the NuGet package was published
env:
GH_TOKEN: ${{ secrets.GH_VARIABLE_RW_TOKEN }}
run: gh variable set BUILD_NUMBER -b${{ steps.Get-Version.outputs.VersionBuild }}
+
+ - name: Upload publish artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: ProcessMemory${{ env.BUILD_PLATFORM == 'x64' && '64' || '32'}}_v${{env.VERSION}}
+ path: |
+ src/ProcessMemory/bin/${{env.BUILD_PLATFORM}}/${{inputs.buildConfig}}/netstandard2.1/ProcessMemory${{ env.BUILD_PLATFORM == 'x64' && '64' || '32'}}.dll
+ src/ProcessMemory/bin/${{env.BUILD_PLATFORM}}/${{inputs.buildConfig}}/netstandard2.1/ProcessMemory${{ env.BUILD_PLATFORM == 'x64' && '64' || '32'}}.pdb
+ src/ProcessMemoryNative/build/ProcessMemory.Native.${{ env.BUILD_PLATFORM == 'x64' && '64' || '32'}}.dll
+ src/ProcessMemoryNative/build/ProcessMemory.Native.${{ env.BUILD_PLATFORM == 'x64' && '64' || '32'}}.pdb
From d7b40d04cdf0d62b40d5a9699ee98ccbddddfcbe Mon Sep 17 00:00:00 2001
From: "Travis J. Gutjahr" <33809229+Squirrelies@users.noreply.github.com>
Date: Fri, 14 Mar 2025 20:07:04 -0500
Subject: [PATCH 14/15] Do not. I am already handling this you saucy creature!
---
src/Directory.Build.props | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 0b124cc..a8f1666 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -18,6 +18,7 @@
README.md
LICENSE
true
+ false
From d668cf27bf7617b580904af141d4eb0cd253b64c Mon Sep 17 00:00:00 2001
From: "Travis J. Gutjahr" <33809229+Squirrelies@users.noreply.github.com>
Date: Fri, 14 Mar 2025 20:12:28 -0500
Subject: [PATCH 15/15] Testing rc version.
---
.github/workflows/ManualRelease.yml | 10 +++++++++-
src/ProcessMemoryNative/src/VersionInfo.rc.in | 2 +-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/ManualRelease.yml b/.github/workflows/ManualRelease.yml
index a188625..151c166 100644
--- a/.github/workflows/ManualRelease.yml
+++ b/.github/workflows/ManualRelease.yml
@@ -92,6 +92,14 @@ jobs:
- name: Build Native Library
uses: Squirrelies/CI-CD/BuildMSYS2CMakeVCPkgProject@main
id: build-native-library
+ env:
+ RC_VERSION: ${{steps.Get-SemVer.outputs.Version}}
+ RC_VERSION_MAJOR: ${{steps.Get-Version.outputs.VersionMajor}}
+ RC_VERSION_MINOR: ${{steps.Get-Version.outputs.VersionMinor}}
+ RC_VERSION_PATCH: ${{steps.Get-Version.outputs.VersionPatch}}
+ RC_VERSION_BUILD: ${{steps.Get-Version.outputs.VersionBuild}}
+ RC_VERSION_PRERELEASE_TAG: ${{steps.Get-Version.outputs.VersionPreRelease}}
+ RC_VERSION_BUILD_HASH: ${{steps.Get-Version.outputs.VersionCommitHash}}
with:
root-path: ./src/ProcessMemoryNative
msys2-msystem: ${{ matrix.BUILD_PLATFORM == 'x64' && 'clang64' || 'mingw32' }}
@@ -100,7 +108,7 @@ jobs:
preset-configuration: ${{inputs.buildConfig}}
preset-configuration-tidy: ${{ inputs.runLinters == true && format('{0}-Tidy', inputs.buildConfig) || ''}}
run-unit-tests: ${{inputs.unitTests}}
- additional-cmake-args: -DARCH=${{matrix.BUILD_PLATFORM}} -DRC_VERSION_MAJOR=${{steps.Get-Version.outputs.VersionMajor}} -DRC_VERSION_MINOR=${{steps.Get-Version.outputs.VersionMinor}} -DRC_VERSION_PATCH=${{steps.Get-Version.outputs.VersionPatch}} -DRC_VERSION_BUILD=${{steps.Get-Version.outputs.VersionBuild}} -DRC_VERSION_PRERELEASE_TAG=${{steps.Get-Version.outputs.VersionPreRelease}} -DRC_VERSION_BUILD_HASH=${{steps.Get-Version.outputs.VersionCommitHash}}
+ additional-cmake-args: -DARCH=${{matrix.BUILD_PLATFORM}} -DRC_VERSION=${{steps.Get-SemVer.outputs.Version}} -DRC_VERSION_MAJOR=${{steps.Get-Version.outputs.VersionMajor}} -DRC_VERSION_MINOR=${{steps.Get-Version.outputs.VersionMinor}} -DRC_VERSION_PATCH=${{steps.Get-Version.outputs.VersionPatch}} -DRC_VERSION_BUILD=${{steps.Get-Version.outputs.VersionBuild}} -DRC_VERSION_PRERELEASE_TAG=${{steps.Get-Version.outputs.VersionPreRelease}} -DRC_VERSION_BUILD_HASH=${{steps.Get-Version.outputs.VersionCommitHash}}
- name: Setup NuGet
uses: NuGet/setup-nuget@v2
diff --git a/src/ProcessMemoryNative/src/VersionInfo.rc.in b/src/ProcessMemoryNative/src/VersionInfo.rc.in
index 85875d6..f74b1eb 100644
--- a/src/ProcessMemoryNative/src/VersionInfo.rc.in
+++ b/src/ProcessMemoryNative/src/VersionInfo.rc.in
@@ -13,7 +13,7 @@
#define VER_FILEVERSION_STR "@RC_VERSION_MAJOR@.@RC_VERSION_MINOR@.@RC_VERSION_PATCH@.@RC_VERSION_BUILD@\0"
#define VER_PRODUCTVERSION @RC_VERSION_MAJOR@,@RC_VERSION_MINOR@,@RC_VERSION_PATCH@,@RC_VERSION_BUILD@
-#define VER_PRODUCTVERSION_STR "@RC_VERSION_MAJOR@.@RC_VERSION_MINOR@.@RC_VERSION_PATCH@ (Build #@RC_VERSION_BUILD@)\0"
+#define VER_PRODUCTVERSION_STR "@RC_VERSION@\0"
#define VER_PRIVATEBUILD 0
#define VER_PRERELEASE 0