Skip to content

Commit 1575ad0

Browse files
authored
Upgrade to target net10.0 (IronLanguages#1988)
* Upgrade to target net10.0 * Enable CI tests for net10.0 * Fix test_reachtype * Fix test_cliclass * Fix test_int * Fix test_methodbinder1 * Fix deleting environment variables * Enable passing socket test on macOS/net10
1 parent 1bc6ed6 commit 1575ad0

27 files changed

Lines changed: 159 additions & 51 deletions

File tree

.editorconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ dotnet_diagnostic.CA2211.severity = none # CA2211: Non-constant fields sh
9595
dotnet_diagnostic.CA2219.severity = suggestion # CA2219: Do not raise exceptions in finally clauses
9696
dotnet_diagnostic.CA2229.severity = suggestion # CA2229: Implement serialization constructors
9797
dotnet_diagnostic.CA2249.severity = suggestion # CA2249: Consider using 'string.Contains' instead of 'string.IndexOf'
98+
dotnet_diagnostic.CA2263.severity = none # CA2263: Prefer generic overload when type is known
9899
dotnet_diagnostic.CA3075.severity = suggestion # CA3075: Insecure DTD processing in XML
99100
dotnet_diagnostic.CA5350.severity = suggestion # CA5350: Do Not Use Weak Cryptographic Algorithms
100101
dotnet_diagnostic.CA5351.severity = suggestion # CA5351: Do Not Use Broken Cryptographic Algorithms

.github/workflows/main.yml

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,22 @@ jobs:
2121
submodules: true
2222

2323
# Setup .NET
24-
- name: Setup .NET 6.0
24+
- name: Setup .NET 10.0
2525
uses: actions/setup-dotnet@v4
2626
with:
27-
dotnet-version: '6.0.x'
27+
dotnet-version: '10.0.x'
28+
- name: Setup .NET 9.0
29+
uses: actions/setup-dotnet@v4
30+
with:
31+
dotnet-version: '9.0.x'
2832
- name: Setup .NET 8.0
2933
uses: actions/setup-dotnet@v4
3034
with:
3135
dotnet-version: '8.0.x'
32-
- name: Setup .NET 9.0
36+
- name: Setup .NET 6.0
3337
uses: actions/setup-dotnet@v4
3438
with:
35-
dotnet-version: '9.0.x'
39+
dotnet-version: '6.0.x'
3640

3741
# CI debug information
3842
- name: Version Information
@@ -61,7 +65,7 @@ jobs:
6165
fail-fast: false
6266
matrix:
6367
os: [windows-latest, ubuntu-22.04, macos-14]
64-
framework: ['net462', 'net6.0', 'net8.0']
68+
framework: ['net462', 'net6.0', 'net8.0', 'net10.0']
6569

6670
steps:
6771
# Prerequisites
@@ -70,18 +74,22 @@ jobs:
7074
submodules: true
7175

7276
# Setup .NET
73-
- name: Setup .NET 6.0
77+
- name: Setup .NET 10.0
7478
uses: actions/setup-dotnet@v4
7579
with:
76-
dotnet-version: '6.0.x'
80+
dotnet-version: '10.0.x'
81+
- name: Setup .NET 9.0
82+
uses: actions/setup-dotnet@v4
83+
with:
84+
dotnet-version: '9.0.x'
7785
- name: Setup .NET 8.0
7886
uses: actions/setup-dotnet@v4
7987
with:
8088
dotnet-version: '8.0.x'
81-
- name: Setup .NET 9.0
89+
- name: Setup .NET 6.0
8290
uses: actions/setup-dotnet@v4
8391
with:
84-
dotnet-version: '9.0.x'
92+
dotnet-version: '6.0.x'
8593

8694
# Build & Test
8795
- name: Build

.vsts-ci.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,18 @@ jobs:
120120
osName: Windows
121121
imageName: windows-latest
122122
framework: net8.0
123+
linux_net10_0:
124+
osName: Linux
125+
imageName: ubuntu-22.04
126+
framework: net10.0
127+
macos_net10_0:
128+
osName: macOS
129+
imageName: macOS-14
130+
framework: net10.0
131+
windows_net10_0:
132+
osName: Windows
133+
imageName: windows-latest
134+
framework: net10.0
123135

124136
displayName: Test
125137
timeoutInMinutes: 180

IronPython.sln

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{17737ACB
4141
eng\net8.0.props = eng\net8.0.props
4242
eng\net9.0-windows.props = eng\net9.0-windows.props
4343
eng\net9.0.props = eng\net9.0.props
44+
eng\net10.0-windows.props = eng\net10.0-windows.props
45+
eng\net10.0.props = eng\net10.0.props
4446
eng\netstandard2.0.props = eng\netstandard2.0.props
4547
eng\Tasks.Targets = eng\Tasks.Targets
4648
EndProjectSection

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,4 +152,4 @@ See the [building document](https://github.com/IronLanguages/ironpython3/wiki/Bu
152152

153153
## Supported Platforms
154154

155-
IronPython 3 targets .NET Framework 4.6.2, .NET Standard 2.0, .NET 6.0 and .NET 8.0. The support for .NET and .NET Core follow the lifecycle defined on [.NET and .NET Core Support Policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-core).
155+
IronPython 3 targets .NET Framework 4.6.2, .NET Standard 2.0, .NET 6.0, .NET 8.0, and .NET 10.0. The support for .NET and .NET Core follow the lifecycle defined on [.NET and .NET Core Support Policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-core).

eng/net10.0-windows.props

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<Project>
2+
<PropertyGroup>
3+
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
4+
<IntermediateOutputPath Condition=" '$(TargetFramework)' == 'net10.0-windows' ">$(BaseIntermediateOutputPath)$(Configuration)\net10.0</IntermediateOutputPath>
5+
<OutputPath Condition=" '$(TargetFramework)' == 'net10.0-windows' ">$(BaseOutputPath)\net10.0</OutputPath>
6+
</PropertyGroup>
7+
8+
<Import Project="net10.0.props" />
9+
</Project>

eng/net10.0.props

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup>
4+
<IsFullFramework>false</IsFullFramework>
5+
</PropertyGroup>
6+
7+
<PropertyGroup>
8+
<Features>$(Features);FEATURE_APARTMENTSTATE</Features>
9+
<Features>$(Features);FEATURE_ASSEMBLY_GETFORWARDEDTYPES</Features>
10+
<Features>$(Features);FEATURE_ASSEMBLY_RESOLVE</Features>
11+
<Features>$(Features);FEATURE_ASSEMBLYBUILDER_DEFINEDYNAMICASSEMBLY</Features>
12+
<Features>$(Features);FEATURE_CODEDOM</Features>
13+
<Features>$(Features);FEATURE_COM</Features>
14+
<Features>$(Features);FEATURE_CONFIGURATION</Features>
15+
<Features>$(Features);FEATURE_CTYPES</Features>
16+
<Features>$(Features);FEATURE_CUSTOM_TYPE_DESCRIPTOR</Features>
17+
<Features>$(Features);FEATURE_EXCEPTION_STATE</Features>
18+
<Features>$(Features);FEATURE_FILESYSTEM</Features>
19+
<Features>$(Features);FEATURE_FULL_CRYPTO</Features>
20+
<Features>$(Features);FEATURE_FULL_NET</Features>
21+
<Features>$(Features);FEATURE_LCG</Features>
22+
<Features>$(Features);FEATURE_LOADWITHPARTIALNAME</Features>
23+
<Features>$(Features);FEATURE_METADATA_READER</Features>
24+
<Features>$(Features);FEATURE_MMAP</Features>
25+
<Features>$(Features);FEATURE_NATIVE</Features>
26+
<Features>$(Features);FEATURE_OSPLATFORMATTRIBUTE</Features>
27+
<Features>$(Features);FEATURE_PIPES</Features>
28+
<Features>$(Features);FEATURE_PROCESS</Features>
29+
<Features>$(Features);FEATURE_REFEMIT</Features>
30+
<Features>$(Features);FEATURE_REGISTRY</Features>
31+
<Features>$(Features);FEATURE_RUNTIMEINFORMATION</Features>
32+
<Features>$(Features);FEATURE_SECURITY_RULES</Features>
33+
<Features>$(Features);FEATURE_STACK_TRACE</Features>
34+
<Features>$(Features);FEATURE_SYNC_SOCKETS</Features>
35+
<Features>$(Features);FEATURE_THREAD</Features>
36+
<Features>$(Features);FEATURE_XMLDOC</Features>
37+
</PropertyGroup>
38+
</Project>

eng/package/nuget/IronPython.nuspec

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ This package contains the IronPython interpreter engine.</description>
3333
<dependency id="DynamicLanguageRuntime" version="1.3.5" />
3434
<dependency id="Mono.Unix" version="7.1.0-final.1.21458.1" />
3535
</group>
36+
<group targetFramework="net10.0">
37+
<dependency id="DynamicLanguageRuntime" version="1.3.5" />
38+
<dependency id="Mono.Unix" version="7.1.0-final.1.21458.1" />
39+
</group>
3640
</dependencies>
3741
</metadata>
3842
<files>

make.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Param(
44
[Parameter(Position=1)]
55
[String] $target = "build",
66
[String] $configuration = "Release",
7-
[String[]] $frameworks=@('net462','net6.0','net8.0'),
7+
[String[]] $frameworks=@('net462','net6.0','net8.0','net10.0'),
88
[String] $platform = $null, # auto-detect
99
[switch] $runIgnored,
1010
[int] $jobs = [System.Environment]::ProcessorCount

src/core/IronPython.Modules/IronPython.Modules.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net462;netstandard2.0;net6.0;net8.0</TargetFrameworks>
4+
<TargetFrameworks>net462;netstandard2.0;net6.0;net8.0;net10.0</TargetFrameworks>
55
<BaseAddress>885063680</BaseAddress>
66
<GenerateDocumentationFile>true</GenerateDocumentationFile>
77
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>

0 commit comments

Comments
 (0)