Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 14 additions & 12 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,27 +17,29 @@ jobs:
with:
dotnet-version: '9.0.x'

- name: Determine version suffix
- name: Determine version
id: version
shell: pwsh
run: |
[xml]$proj = Get-Content src/GitExtensions.AITools/GitExtensions.AITools.csproj
$prefix = $proj.Project.PropertyGroup[0].VersionPrefix
echo "prefix=$prefix" >> $env:GITHUB_OUTPUT
if ($env:GITHUB_REF -match '^refs/tags/v') {
echo "suffix=" >> $env:GITHUB_OUTPUT
if ($env:GITHUB_REF -match '^refs/tags/v(.+)$') {
$ver = $Matches[1]
echo "package_version=$ver" >> $env:GITHUB_OUTPUT
echo "version_args=-p:Version=$ver" >> $env:GITHUB_OUTPUT
} else {
echo "suffix=ci.${{ github.run_number }}" >> $env:GITHUB_OUTPUT
[xml]$proj = Get-Content src/GitExtensions.AITools/GitExtensions.AITools.csproj
$prefix = $proj.Project.PropertyGroup[0].VersionPrefix
$suffix = "ci.${{ github.run_number }}"
echo "package_version=$prefix-$suffix" >> $env:GITHUB_OUTPUT
echo "version_args=-p:VersionSuffix=$suffix" >> $env:GITHUB_OUTPUT
}

- name: Extract release notes
id: notes
shell: pwsh
run: |
$version = '${{ steps.version.outputs.prefix }}'
$changelog = Get-Content CHANGELOG.md -Raw
# For tag builds, find the [x.y.z] section; otherwise use [Unreleased]
$heading = if ($env:GITHUB_REF -match '^refs/tags/v') { $version } else { 'Unreleased' }
# For tag builds, find the [version] section; otherwise use [Unreleased]
$heading = if ($env:GITHUB_REF -match '^refs/tags/v') { '${{ steps.version.outputs.package_version }}' } else { 'Unreleased' }
if ($changelog -match "(?ms)^## \[$heading\].*?\n(.*?)(?=\n## \[|$)") {
$notes = $Matches[1].Trim()
} else {
Expand All @@ -48,12 +50,12 @@ jobs:
echo "notes=$notes" >> $env:GITHUB_OUTPUT

- name: Build
run: dotnet build -c Release -p:VersionSuffix=${{ steps.version.outputs.suffix }}
run: dotnet build -c Release ${{ steps.version.outputs.version_args }}

- name: Pack
run: >-
dotnet pack -c Release
-p:VersionSuffix=${{ steps.version.outputs.suffix }}
${{ steps.version.outputs.version_args }}
-p:PackageReleaseNotes="${{ steps.notes.outputs.notes }}"
--no-build

Expand Down
8 changes: 7 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/).

## [Unreleased]

## [6.0.0]
## [6.0.1] 2026-03-20

### Fixed

- Fixed discovery by the GitExtensions Plugin Manager

## [6.0.0] 2026-03-20

### Added

Expand Down
2 changes: 1 addition & 1 deletion RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
- [ ] Rename `## [Unreleased]` to `## [x.y.z] - YYYY-MM-DD` in `CHANGELOG.md`
- [ ] Add a fresh `## [Unreleased]` section above the new entry
- [ ] Verify the changelog entry covers all user-facing changes
- [ ] Ensure the nuspec `dependency` version range matches the targeted GE version
- [ ] Verify `GitExtensionsExtensibilityVersion` in the csproj matches the targeted `GitExtensions.Extensibility` NuGet package version (the dependency range `[x.y.0, x.z.0)` is computed automatically)
- [ ] `dotnet build -c Release` — no errors
- [ ] `dotnet pack -c Release` — inspect .nupkg contents look correct
- [ ] Commit: "release: vX.Y.Z"
Expand Down
6 changes: 5 additions & 1 deletion src/GitExtensions.AITools/GitExtensions.AITools.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@
<GitExtensionsDownloadPath Condition="$(GitExtensionsDownloadPath) == ''">..\..\gitextensions.shared</GitExtensionsDownloadPath>
<_PluginMajorVersion>$(VersionPrefix.Split('.')[0])</_PluginMajorVersion>
<_NextMajorVersion>$([MSBuild]::Add($(_PluginMajorVersion), 1))</_NextMajorVersion>
<GitExtensionsExtensibilityVersion>0.4.0</GitExtensionsExtensibilityVersion>
<_ExtMajor>$(GitExtensionsExtensibilityVersion.Split('.')[0])</_ExtMajor>
<_ExtMinor>$(GitExtensionsExtensibilityVersion.Split('.')[1])</_ExtMinor>
<_ExtNextMinor>$([MSBuild]::Add($(_ExtMinor), 1))</_ExtNextMinor>
<GitExtensionsExpectedMajorVersion>$(_PluginMajorVersion)</GitExtensionsExpectedMajorVersion>
<GitExtensionsReferenceVersion Condition="$(GitExtensionsReferenceVersion) == ''">latest</GitExtensionsReferenceVersion>
<GitExtensionsReferenceSource Condition="$(GitExtensionsReferenceSource) == ''">GitHub</GitExtensionsReferenceSource>
Expand Down Expand Up @@ -130,7 +134,7 @@
description=$(Description);
releaseNotes=$(PackageReleaseNotes);
targetDir=$(TargetDir);
geDependencyRange=[$(_PluginMajorVersion).0.0, $(_NextMajorVersion).0.0);
geDependencyRange=[$(_ExtMajor).$(_ExtMinor).0, $(_ExtMajor).$(_ExtNextMinor).0);
</NuspecProperties>
</PropertyGroup>
</Target>
Expand Down
Loading