Skip to content
Draft
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
51 changes: 51 additions & 0 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Build and Test

on:
push:
branches: [ master, wtg-net10 ]
pull_request:
branches: [ master, wtg-net10 ]
workflow_dispatch:

jobs:
build:
name: Build - ${{ matrix.configuration }}

strategy:
matrix:
configuration: [ Debug ]

runs-on: windows-latest

steps:
- uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
10.0.x

- name: Install dependencies
run: dotnet restore WinformsLegacy.sln

- name: Build
run: dotnet build WinformsLegacy.sln --configuration ${{ matrix.configuration }} --no-restore

- name: Test
if: matrix.configuration == 'Debug'
run: >
dotnet test
src/System.Windows.Forms.Legacy/System.Windows.Forms.Legacy.Tests/System.Windows.Forms.Legacy.Tests.csproj
--configuration Debug
--no-build
--logger trx
--results-directory TestResults

- name: Upload packages
if: matrix.configuration == 'Release'
uses: actions/upload-artifact@v4
with:
name: package
path: Bin/Release/**/*.nupkg
retention-days: 5
64 changes: 64 additions & 0 deletions .github/workflows/create-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Create Release

on:
workflow_dispatch:
inputs:
version:
description: Package version to publish, for example 1.2.3 or 1.2.3-preview.1
required: true
type: string

env:
PACKAGE_PATH: Bin/Release/**/*.nupkg

jobs:
release:
name: Build - Release

runs-on: windows-latest

steps:

- name: Checkout
uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
10.0.x

- name: Validate version
shell: pwsh
run: |
$version = '${{ inputs.version }}'

if ($version -notmatch '^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$') {
throw "The version '$version' is not a valid SemVer 2.0.0 version."
}

- name: Install dependencies
run: dotnet restore WinformsLegacy.sln

# Pacakge is created on build
- name: Build
run: dotnet build WinformsLegacy.sln --configuration Release --no-restore /p:PackageVersion=${{ inputs.version }}

# Upload package as an atrifact to the GitHub action
- name: Upload packages artifact
uses: actions/upload-artifact@v4
with:
name: package
path: ${{ env.PACKAGE_PATH }}
retention-days: 5

# Create a new release and upload the package to the release
- name: Create GitHub Release
uses: softprops/action-gh-release@v1
with:
files: ${{ env.PACKAGE_PATH }}
name: ${{ inputs.version }}
tag_name: ${{ inputs.version }}

- name: Push NuGet Package to NuGet Gallery
run: dotnet nuget push ${{ env.PACKAGE_PATH }} --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
4 changes: 3 additions & 1 deletion Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,9 @@
</ItemGroup>

<PropertyGroup>
<RuntimeFrameworkVersion Condition="'$(MicrosoftNETCoreAppRefPackageVersion)'!='' And $(TargetFramework.StartsWith('$(RedistTargetFrameworkName)')) ">$(MicrosoftNETCoreAppRefPackageVersion)</RuntimeFrameworkVersion>
<RuntimeFrameworkVersion Condition="'$(DisablePinnedRuntimeFrameworkVersion)' == 'true' And $(TargetFramework.StartsWith('$(RedistTargetFrameworkName)'))" />

<RuntimeFrameworkVersion Condition="'$(DisablePinnedRuntimeFrameworkVersion)' != 'true' And '$(MicrosoftNETCoreAppRefPackageVersion)'!='' And $(TargetFramework.StartsWith('$(RedistTargetFrameworkName)')) ">$(MicrosoftNETCoreAppRefPackageVersion)</RuntimeFrameworkVersion>

<!-- If TargetFramework is not net8.x, then reset RuntimeFrameworkVersion -->
<RuntimeFrameworkVersion Condition="!$(TargetFramework.StartsWith('$(RedistTargetFrameworkName)'))" />
Expand Down
1 change: 1 addition & 0 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
<PackageVersion Include="AwesomeAssertions" Version="$(AwesomeAssertionsVersion)" />
<PackageVersion Include="Moq" Version="$(MoqPackageVersion)" />
<PackageVersion Include="Microsoft.DotNet.RemoteExecutor" Version="$(MicrosoftDotNetRemoteExecutorVersion)" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
<PackageVersion Include="Microsoft.DotNet.XUnitV3Extensions" Version="$(MicrosoftDotNetXUnitV3ExtensionsPackageVersion)" />
<PackageVersion Include="Microsoft.VisualStudio.Threading" Version="$(MicrosoftVisualStudioThreadingVersion)" />
<PackageVersion Include="Verify.XunitV3" Version="$(VerifyXunitV3Version)" />
Expand Down
140 changes: 140 additions & 0 deletions WinformsLegacy.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 18
VisualStudioVersion = 18.3.11520.95
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Windows.Forms", "src\System.Windows.Forms\System.Windows.Forms.csproj", "{0D23A41B-2626-4703-9E4A-87C07F69B0B2}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Windows.Forms.Design", "src\System.Windows.Forms.Design\src\System.Windows.Forms.Design.csproj", "{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Windows.Forms.Primitives", "src\System.Windows.Forms.Primitives\src\System.Windows.Forms.Primitives.csproj", "{90B27178-F535-43F7-886E-0AB75203F246}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Windows.Forms.PrivateSourceGenerators", "src\System.Windows.Forms.PrivateSourceGenerators\src\System.Windows.Forms.PrivateSourceGenerators.csproj", "{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Windows.Forms.Legacy.Demo", "src\System.Windows.Forms.Legacy\System.Windows.Forms.Legacy.Demo\System.Windows.Forms.Legacy.Demo.csproj", "{313D5215-7E76-4864-AEBF-0C15819D0B34}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Windows.Forms.Legacy.Tests", "src\System.Windows.Forms.Legacy\System.Windows.Forms.Legacy.Tests\System.Windows.Forms.Legacy.Tests.csproj", "{EAF018D1-D51E-4F67-BC7F-6F7F5702C411}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "winforms", "winforms", "{FFD82D6B-78FA-4D85-A19D-FF0A12FC47F2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|arm64 = Debug|arm64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|arm64 = Release|arm64
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0D23A41B-2626-4703-9E4A-87C07F69B0B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0D23A41B-2626-4703-9E4A-87C07F69B0B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0D23A41B-2626-4703-9E4A-87C07F69B0B2}.Debug|arm64.ActiveCfg = Debug|Any CPU
{0D23A41B-2626-4703-9E4A-87C07F69B0B2}.Debug|arm64.Build.0 = Debug|Any CPU
{0D23A41B-2626-4703-9E4A-87C07F69B0B2}.Debug|x64.ActiveCfg = Debug|Any CPU
{0D23A41B-2626-4703-9E4A-87C07F69B0B2}.Debug|x64.Build.0 = Debug|Any CPU
{0D23A41B-2626-4703-9E4A-87C07F69B0B2}.Debug|x86.ActiveCfg = Debug|Any CPU
{0D23A41B-2626-4703-9E4A-87C07F69B0B2}.Debug|x86.Build.0 = Debug|Any CPU
{0D23A41B-2626-4703-9E4A-87C07F69B0B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0D23A41B-2626-4703-9E4A-87C07F69B0B2}.Release|Any CPU.Build.0 = Release|Any CPU
{0D23A41B-2626-4703-9E4A-87C07F69B0B2}.Release|arm64.ActiveCfg = Release|Any CPU
{0D23A41B-2626-4703-9E4A-87C07F69B0B2}.Release|arm64.Build.0 = Release|Any CPU
{0D23A41B-2626-4703-9E4A-87C07F69B0B2}.Release|x64.ActiveCfg = Release|Any CPU
{0D23A41B-2626-4703-9E4A-87C07F69B0B2}.Release|x64.Build.0 = Release|Any CPU
{0D23A41B-2626-4703-9E4A-87C07F69B0B2}.Release|x86.ActiveCfg = Release|Any CPU
{0D23A41B-2626-4703-9E4A-87C07F69B0B2}.Release|x86.Build.0 = Release|Any CPU
{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B}.Debug|arm64.ActiveCfg = Debug|Any CPU
{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B}.Debug|arm64.Build.0 = Debug|Any CPU
{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B}.Debug|x64.ActiveCfg = Debug|Any CPU
{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B}.Debug|x64.Build.0 = Debug|Any CPU
{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B}.Debug|x86.ActiveCfg = Debug|Any CPU
{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B}.Debug|x86.Build.0 = Debug|Any CPU
{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B}.Release|Any CPU.Build.0 = Release|Any CPU
{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B}.Release|arm64.ActiveCfg = Release|Any CPU
{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B}.Release|arm64.Build.0 = Release|Any CPU
{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B}.Release|x64.ActiveCfg = Release|Any CPU
{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B}.Release|x64.Build.0 = Release|Any CPU
{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B}.Release|x86.ActiveCfg = Release|Any CPU
{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B}.Release|x86.Build.0 = Release|Any CPU
{90B27178-F535-43F7-886E-0AB75203F246}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{90B27178-F535-43F7-886E-0AB75203F246}.Debug|Any CPU.Build.0 = Debug|Any CPU
{90B27178-F535-43F7-886E-0AB75203F246}.Debug|arm64.ActiveCfg = Debug|Any CPU
{90B27178-F535-43F7-886E-0AB75203F246}.Debug|arm64.Build.0 = Debug|Any CPU
{90B27178-F535-43F7-886E-0AB75203F246}.Debug|x64.ActiveCfg = Debug|Any CPU
{90B27178-F535-43F7-886E-0AB75203F246}.Debug|x64.Build.0 = Debug|Any CPU
{90B27178-F535-43F7-886E-0AB75203F246}.Debug|x86.ActiveCfg = Debug|Any CPU
{90B27178-F535-43F7-886E-0AB75203F246}.Debug|x86.Build.0 = Debug|Any CPU
{90B27178-F535-43F7-886E-0AB75203F246}.Release|Any CPU.ActiveCfg = Release|Any CPU
{90B27178-F535-43F7-886E-0AB75203F246}.Release|Any CPU.Build.0 = Release|Any CPU
{90B27178-F535-43F7-886E-0AB75203F246}.Release|arm64.ActiveCfg = Release|Any CPU
{90B27178-F535-43F7-886E-0AB75203F246}.Release|arm64.Build.0 = Release|Any CPU
{90B27178-F535-43F7-886E-0AB75203F246}.Release|x64.ActiveCfg = Release|Any CPU
{90B27178-F535-43F7-886E-0AB75203F246}.Release|x64.Build.0 = Release|Any CPU
{90B27178-F535-43F7-886E-0AB75203F246}.Release|x86.ActiveCfg = Release|Any CPU
{90B27178-F535-43F7-886E-0AB75203F246}.Release|x86.Build.0 = Release|Any CPU
{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478}.Debug|arm64.ActiveCfg = Debug|Any CPU
{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478}.Debug|arm64.Build.0 = Debug|Any CPU
{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478}.Debug|x64.ActiveCfg = Debug|Any CPU
{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478}.Debug|x64.Build.0 = Debug|Any CPU
{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478}.Debug|x86.ActiveCfg = Debug|Any CPU
{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478}.Debug|x86.Build.0 = Debug|Any CPU
{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478}.Release|Any CPU.Build.0 = Release|Any CPU
{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478}.Release|arm64.ActiveCfg = Release|Any CPU
{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478}.Release|arm64.Build.0 = Release|Any CPU
{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478}.Release|x64.ActiveCfg = Release|Any CPU
{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478}.Release|x64.Build.0 = Release|Any CPU
{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478}.Release|x86.ActiveCfg = Release|Any CPU
{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478}.Release|x86.Build.0 = Release|Any CPU
{313D5215-7E76-4864-AEBF-0C15819D0B34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{313D5215-7E76-4864-AEBF-0C15819D0B34}.Debug|Any CPU.Build.0 = Debug|Any CPU
{313D5215-7E76-4864-AEBF-0C15819D0B34}.Debug|arm64.ActiveCfg = Debug|Any CPU
{313D5215-7E76-4864-AEBF-0C15819D0B34}.Debug|arm64.Build.0 = Debug|Any CPU
{313D5215-7E76-4864-AEBF-0C15819D0B34}.Debug|x64.ActiveCfg = Debug|Any CPU
{313D5215-7E76-4864-AEBF-0C15819D0B34}.Debug|x64.Build.0 = Debug|Any CPU
{313D5215-7E76-4864-AEBF-0C15819D0B34}.Debug|x86.ActiveCfg = Debug|Any CPU
{313D5215-7E76-4864-AEBF-0C15819D0B34}.Debug|x86.Build.0 = Debug|Any CPU
{313D5215-7E76-4864-AEBF-0C15819D0B34}.Release|Any CPU.ActiveCfg = Release|Any CPU
{313D5215-7E76-4864-AEBF-0C15819D0B34}.Release|Any CPU.Build.0 = Release|Any CPU
{313D5215-7E76-4864-AEBF-0C15819D0B34}.Release|arm64.ActiveCfg = Release|Any CPU
{313D5215-7E76-4864-AEBF-0C15819D0B34}.Release|arm64.Build.0 = Release|Any CPU
{313D5215-7E76-4864-AEBF-0C15819D0B34}.Release|x64.ActiveCfg = Release|Any CPU
{313D5215-7E76-4864-AEBF-0C15819D0B34}.Release|x64.Build.0 = Release|Any CPU
{313D5215-7E76-4864-AEBF-0C15819D0B34}.Release|x86.ActiveCfg = Release|Any CPU
{313D5215-7E76-4864-AEBF-0C15819D0B34}.Release|x86.Build.0 = Release|Any CPU
{EAF018D1-D51E-4F67-BC7F-6F7F5702C411}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EAF018D1-D51E-4F67-BC7F-6F7F5702C411}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EAF018D1-D51E-4F67-BC7F-6F7F5702C411}.Debug|arm64.ActiveCfg = Debug|Any CPU
{EAF018D1-D51E-4F67-BC7F-6F7F5702C411}.Debug|arm64.Build.0 = Debug|Any CPU
{EAF018D1-D51E-4F67-BC7F-6F7F5702C411}.Debug|x64.ActiveCfg = Debug|Any CPU
{EAF018D1-D51E-4F67-BC7F-6F7F5702C411}.Debug|x64.Build.0 = Debug|Any CPU
{EAF018D1-D51E-4F67-BC7F-6F7F5702C411}.Debug|x86.ActiveCfg = Debug|Any CPU
{EAF018D1-D51E-4F67-BC7F-6F7F5702C411}.Debug|x86.Build.0 = Debug|Any CPU
{EAF018D1-D51E-4F67-BC7F-6F7F5702C411}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EAF018D1-D51E-4F67-BC7F-6F7F5702C411}.Release|Any CPU.Build.0 = Release|Any CPU
{EAF018D1-D51E-4F67-BC7F-6F7F5702C411}.Release|arm64.ActiveCfg = Release|Any CPU
{EAF018D1-D51E-4F67-BC7F-6F7F5702C411}.Release|arm64.Build.0 = Release|Any CPU
{EAF018D1-D51E-4F67-BC7F-6F7F5702C411}.Release|x64.ActiveCfg = Release|Any CPU
{EAF018D1-D51E-4F67-BC7F-6F7F5702C411}.Release|x64.Build.0 = Release|Any CPU
{EAF018D1-D51E-4F67-BC7F-6F7F5702C411}.Release|x86.ActiveCfg = Release|Any CPU
{EAF018D1-D51E-4F67-BC7F-6F7F5702C411}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{0D23A41B-2626-4703-9E4A-87C07F69B0B2} = {FFD82D6B-78FA-4D85-A19D-FF0A12FC47F2}
{61D06BBD-B0CF-4CE1-9139-1CC4B82F0F9B} = {FFD82D6B-78FA-4D85-A19D-FF0A12FC47F2}
{90B27178-F535-43F7-886E-0AB75203F246} = {FFD82D6B-78FA-4D85-A19D-FF0A12FC47F2}
{3BB220A9-7BC9-4D45-9DC7-B5A1D659B478} = {FFD82D6B-78FA-4D85-A19D-FF0A12FC47F2}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7B1B0433-F612-4E5A-BE7E-FCF5B9F6E136}
EndGlobalSection
EndGlobal
4 changes: 2 additions & 2 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="Version.Details.props" Condition="Exists('Version.Details.props')" />
<PropertyGroup>
<MajorVersion>10</MajorVersion>
<MajorVersion>0</MajorVersion>
<MinorVersion>0</MinorVersion>
<PatchVersion>6</PatchVersion>
<PatchVersion>25</PatchVersion>
<!-- version in our package name #.#.#-below.#####.## -->
<PreReleaseVersionLabel>servicing</PreReleaseVersionLabel>
<PreReleaseVersionIteration></PreReleaseVersionIteration>
Expand Down
Loading
Loading