Skip to content

Commit 0715532

Browse files
authored
fix: adjust build for releases (#83)
add files added in the release/3.0 branch, required since GE4.0 Prepare for signing releases.
1 parent 7ae7b42 commit 0715532

File tree

7 files changed

+61
-9
lines changed

7 files changed

+61
-9
lines changed

GitExtensions.PluginManager.sln

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
3535
appveyor.yml = appveyor.yml
3636
Directory.Build.props = Directory.Build.props
3737
Directory.Build.targets = Directory.Build.targets
38+
Directory.Packages.props = Directory.Packages.props
3839
GitExtensions.settings = GitExtensions.settings
39-
Packages.props = Packages.props
4040
README.md = README.md
4141
EndProjectSection
4242
EndProject

appveyor.yml

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# version format
2-
version: 3.1.0.{build}
2+
version: 3.1.1.{build}
33

44
matrix:
55
fast_finish: true
@@ -71,16 +71,51 @@ test_script:
7171
dotnet test -c Release --no-restore --no-build --nologo --verbosity q --test-adapter-path:. --logger:Appveyor --logger:trx /bl:.\artifacts\logs\tests.binlog
7272
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
7373
74+
after_test:
75+
- ps: |
76+
# do not sign artifacts for PR to release branches, publish dev builds instead
77+
if (!$env:APPVEYOR_REPO_BRANCH.StartsWith("release/") -or $env:APPVEYOR_PULL_REQUEST_TITLE) {
78+
Write-Host "[INFO]: Do not sign artifacts from PR to release branch"
79+
Get-ChildItem .\artifacts\GitExtensions.PluginManager*.nupkg | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
80+
Get-ChildItem .\artifacts\GitExtensions.PluginManager*.zip | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
81+
Exit-AppVeyorBuild
82+
return
83+
}
84+
else {
85+
Write-Host "[INFO]: Prepare combined artifact for signing on release branch"
86+
Write-Host "Creating combined build artifact ..."
87+
$nupkg = (Resolve-Path .\artifacts\GitExtensions.PluginManager*.nupkg)[0].Path;
88+
$zip = (Resolve-Path .\artifacts\GitExtensions.PluginManager*.zip)[0].Path;
89+
$combined = ".\GitExtensions.PluginManager.$($env:APPVEYOR_BUILD_VERSION)$($env:version_suffix).combined-unsigned.zip"
90+
Compress-Archive -LiteralPath $nupkg, $zip -CompressionLevel NoCompression -DestinationPath $combined -Force
91+
}
92+
7493
#---------------------------------#
7594
# artifacts configuration #
7695
#---------------------------------#
7796

7897
artifacts:
79-
- path: .\artifacts\GitExtensions.PluginManager.*.zip
80-
- path: .\artifacts\GitExtensions.PluginManager.*.nupkg
98+
- path: .\GitExtensions.PluginManager.*.combined-unsigned.zip
8199
- path: .\artifacts\logs\*.binlog
82100

83101

102+
#---------------------------------#
103+
# artifacts deployment #
104+
#---------------------------------#
105+
106+
deploy:
107+
- provider: Webhook
108+
on:
109+
ARTIFACT_SIGNING_ENABLED: true
110+
url: https://app.signpath.io/API/v1/7c19b2cf-90f7-4d15-9b12-1b615f7c18c4/Integrations/AppVeyor?ProjectKey=gitextensions.pluginmanager&SigningPolicyKey=release-signing
111+
on_build_success: true
112+
on_build_failure: false
113+
on_build_status_changed: false
114+
method: POST
115+
authorization:
116+
secure: IlLI/MbhdzmXF/WB2G84zYsDWePXJqHBWDb1zBPxxXvGgx0WRxzMZxuBsvCOcZvbPTRF+UcGp0d5/HT8xZUEjA==
117+
118+
84119
# on build failure
85120
on_failure:
86121
- ps: |

src/GitExtensions.PluginManager/GitExtensions.PluginManager.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@
2424
<Compile Include="..\PackageManager.UI\Args.cs" Link="Args.cs" />
2525
</ItemGroup>
2626

27+
<ItemGroup>
28+
<None Include="GitExtensions.PluginManager.csproj.user" />
29+
</ItemGroup>
30+
2731
<ItemGroup>
2832
<Reference Include="GitExtensions.Extensibility">
2933
<HintPath>$(GitExtensionsPath)\GitExtensions.Extensibility.dll</HintPath>

src/GitExtensions.PluginManager/GitExtensions.PluginManager.csproj.user

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
<GitExtensionsDownloadPath>..\..\..\gitextensions.shared</GitExtensionsDownloadPath> <!-- path is relative to $(ProjectDir) -->
44
<GitExtensionsReferenceVersion>latest</GitExtensionsReferenceVersion> <!-- 'latest' or 'v3.1' (= tag from GitHub releases) or 'v3.1.0.5877' (= build number from AppVeyor)-->
55
<GitExtensionsReferenceSource>AppVeyor</GitExtensionsReferenceSource> <!-- 'GitHub' or 'AppVeyor' -->
6-
<GitExtensionsPath></GitExtensionsPath> <!-- for local builds (no download) -->
6+
<GitExtensionsPath>$(GitExtensionsDownloadPath)</GitExtensionsPath>
77
</PropertyGroup>
88
</Project>

src/GitExtensions.PluginManager/GitExtensions.PluginManager.nuspec

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<file src="../../LICENSE.md" target="/" />
1717
<file src="bin/$configuration$/net9.0-windows/GitExtensions.PluginManager.dll" target="lib/" />
1818
<file src="bin/$configuration$/net9.0-windows/PackageManager/PackageManager.UI.exe" target="lib/PackageManager/" />
19+
<file src="bin/$configuration$/net9.0-windows/PackageManager.UI.runtimeconfig.json" target="lib/PackageManager/" />
1920
</files>
2021

21-
</package>
22+
</package>

src/GitExtensions.PluginManager/Project.Publish.targets

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,27 @@
1313
-->
1414
<Target Name="_CopyPackageManager">
1515
<PropertyGroup>
16-
<_PackageManagerSourcePath>$([MSBuild]::NormalizePath('$(RepoRoot)', 'src', 'PackageManager.UI', 'bin', '$(Configuration)', '$(TargetFramework)', '$(PackageManagerUIRuntimeIdentifier)', 'publish', 'PackageManager.UI.exe'))</_PackageManagerSourcePath>
17-
<_PackageManagerTargetPath>$(_PackageManagerFolder)\PackageManager.UI.exe</_PackageManagerTargetPath>
16+
<!-- Determine where PackageManager.UI.exe and PackageManager.UI.runtimeconfig.json files are -->
17+
<_PackageManagerSourceDir>$([MSBuild]::NormalizePath('$(RepoRoot)', 'src', 'PackageManager.UI', 'bin', '$(Configuration)', '$(TargetFramework)', '$(PackageManagerUIRuntimeIdentifier)', 'publish'))</_PackageManagerSourceDir>
18+
<_PackageManagerSourcePath>$([MSBuild]::NormalizePath('$(_PackageManagerSourceDir)', 'PackageManager.UI.exe'))</_PackageManagerSourcePath>
19+
<_PackageManagerRuntimeConfigSourcePath>$([MSBuild]::NormalizePath('$(_PackageManagerSourceDir)', '..', 'PackageManager.UI.runtimeconfig.json'))</_PackageManagerRuntimeConfigSourcePath>
20+
21+
<!-- Determine where PackageManager.UI.exe and PackageManager.UI.runtimeconfig.json files need to be copied to -->
22+
<_PackageManagerTargetPath>$(_PackageManagerFolder)/PackageManager.UI.exe</_PackageManagerTargetPath>
23+
<_PackageManagerRuntimeConfigTargetPath>$(_PackageManagerFolder)/PackageManager.UI.runtimeconfig.json</_PackageManagerRuntimeConfigTargetPath>
1824
</PropertyGroup>
1925

2026
<!-- Copying to we can pack it -->
2127
<Copy SourceFiles="$(_PackageManagerSourcePath)"
2228
DestinationFiles="$(TargetDir)$(_PackageManagerTargetPath)" />
29+
<Copy SourceFiles="$(_PackageManagerRuntimeConfigSourcePath)"
30+
DestinationFiles="$(TargetDir)$(_PackageManagerRuntimeConfigTargetPath)" />
2331

2432
<!-- Copying to Git Extensions shared installation so we can test it locally -->
2533
<Copy SourceFiles="$(_PackageManagerSourcePath)"
2634
DestinationFiles="$(GitExtensionsPluginsPath)\$(ProjectName)\$(_PackageManagerTargetPath)" />
35+
<Copy SourceFiles="$(_PackageManagerRuntimeConfigSourcePath)"
36+
DestinationFiles="$(GitExtensionsPluginsPath)\$(ProjectName)\$(_PackageManagerRuntimeConfigTargetPath)" />
2737
</Target>
2838

2939
<!--

test/PackageManager.Tests/ViewModels/Commands/TestCommands.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
using Microsoft.VisualStudio.TestTools.UnitTesting;
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
using Moq;
3+
using Neptuo.Observables.Commands;
24
using PackageManager.Models;
35
using PackageManager.Services;
46
using System.Collections.Generic;

0 commit comments

Comments
 (0)