Skip to content

Commit

Permalink
feat(dotnet): update TargetFramework to net6.0 (#3957)
Browse files Browse the repository at this point in the history
BREAKING CHANGE: The runtime library for .NET & generated .NET bindings will no longer support netcoreapp3.1 after this release. Users are advised to upgrade their apps to use net6.0 or net7.0 instead.

Related: aws/aws-cdk#23926
Related: aws/aws-cdk#23921

Co-authored-by: 🧑🏻‍💻 Romain Marcadier <rmuller@amazon.com>
  • Loading branch information
berviantoleo and RomainMuller authored Feb 17, 2023
1 parent 9346702 commit ae335ed
Show file tree
Hide file tree
Showing 24 changed files with 230 additions and 212 deletions.
9 changes: 9 additions & 0 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -1523,6 +1523,15 @@
"bug"
]
},
{
"login": "berviantoleo",
"name": "Bervianto Leo Pratama",
"avatar_url": "https://avatars.githubusercontent.com/u/15927349?v=4",
"profile": "https://berviantoleo.my.id/",
"contributions": [
"maintenance"
]
},
{
"login": "dastbe",
"name": "David Bell",
Expand Down
74 changes: 50 additions & 24 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -185,74 +185,100 @@ jobs:
test:
permissions:
contents: none
name: Test (${{ matrix.os }} / dotnet ${{ matrix.dotnet }} / go ${{ matrix.go }} / java ${{ matrix.java }} / node ${{ matrix.node }} / python ${{ matrix.python }})
name: Test (${{ matrix.title }})
needs: build
strategy:
fail-fast: false
matrix:
# All currently supported node versions (Maintenance LTS, Active LTS, Current)
dotnet: ['3.1.x']
title: ['baseline']
dotnet: ['6.0.x']
go: ['1.18']
java: ['8']
node:
- '14' # EOL 2023-04-30
- '16' # EOL 2023-09-11
- '18' # EOL 2025-04-30
- '19' # EOL 2023-06-01
node: ['14'] # EOL 2023-04-30
os: [ubuntu-latest]
python: ['3.7']
# Add specific combinations to be tested against "node 14" (to restrict cardinality)
include:
# Test using Windows
- os: windows-latest
dotnet: '3.1.x'
- title: 'Windows'
os: windows-latest
dotnet: '6.0.x'
go: '1.18'
java: '8'
node: '14'
python: '3.7'
# Test using macOS
- os: macos-latest
dotnet: '3.1.x'
- title: 'macOS'
os: macos-latest
dotnet: '6.0.x'
go: '1.18'
java: '8'
node: '14'
python: '3.7'
# Test alternate .NETs
- java: '8'
# Test alternate Nodes
- title: 'Node 16'
java: '8'
dotnet: '6.0.x'
go: '1.18'
node: '16' # EOL 2023-09-11
os: ubuntu-latest
python: '3.7'
- title: 'Node 18'
java: '8'
dotnet: '6.0.x'
go: '1.18'
node: '18' # EOL 2025-04-30
os: ubuntu-latest
python: '3.7'
- title: 'Node 19'
java: '8'
dotnet: '6.0.x'
go: '1.18'
node: '19' # EOL 2023-06-01
os: ubuntu-latest
python: '3.7'
# Test alternate .NETs
- title: '.NET 7.0'
java: '8'
dotnet: '7.0.x'
go: '1.18'
node: '14'
os: ubuntu-latest
python: '3.7'
# Test alternate Gos
- java: '8'
dotnet: '3.1.x'
- title: 'Go 1.19'
java: '8'
dotnet: '6.0.x'
go: '1.19'
node: '14'
os: ubuntu-latest
python: '3.7'
# Test alternate Javas
- java: '11'
dotnet: '3.1.x'
- title: 'Java 11'
java: '11'
dotnet: '6.0.x'
go: '1.18'
node: '14'
os: ubuntu-latest
python: '3.7'
# Test alternate Pythons
- python: '3.8'
dotnet: '3.1.x'
- title: 'Python 3.8'
python: '3.8'
dotnet: '6.0.x'
go: '1.18'
java: '8'
node: '14'
os: ubuntu-latest
- python: '3.9'
dotnet: '3.1.x'
- title: 'Python 3.9'
python: '3.9'
dotnet: '6.0.x'
go: '1.18'
java: '8'
node: '14'
os: ubuntu-latest
- python: '3.10'
dotnet: '3.1.x'
- title: 'Python 3.10'
python: '3.10'
dotnet: '6.0.x'
go: '1.18'
java: '8'
node: '14'
Expand Down
160 changes: 72 additions & 88 deletions .mergify/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,25 @@ queue_rules:
- name: default
conditions:
- status-success~=^jsii/superchain
# The baseline (Ubuntu + Min-supported SDKs and runtimes)
- status-success=Test (baseline)
# One test for each OS
- status-success~=^Test \(ubuntu-.*$
- status-success~=^Test \(macos-.*$
- status-success~=^Test \(windows-.*$
# One test for each supported nodejs version
- status-success~=^Test \(.* node 14 .*$
- status-success~=^Test \(.* node 16 .*$
- status-success~=^Test \(.* node 18 .*$
- status-success~=^Test \(.* node 19 .*$
# One test for each supported dotnet version
- status-success~=^Test \(.* dotnet 3\.1\.x .*$
- status-success~=^Test \(.* dotnet 6\.0\.x .*$
# One test for each supported go version
- status-success~=^Test \(.* go 1.18 .*$
- status-success~=^Test \(.* go 1.19 .*$
# One test for Java 8 and 11
- status-success~=^Test \(.* java 8 .*$
- status-success~=^Test \(.* java 11 .*$
# One test for Python 3.7 through 3.10
- status-success~=^Test \(.* python 3\.7[ )].*$
- status-success~=^Test \(.* python 3\.8[ )].*$
- status-success~=^Test \(.* python 3\.9[ )].*$
- status-success~=^Test \(.* python 3\.10[ )].*$
- status-success=Test (macOS)
- status-success=Test (Windows)
# One test for each alternate nodejs version
- status-success=Test (Node 16)
- status-success=Test (Node 18)
- status-success=Test (Node 19)
# One test for each alternate .NET version
- status-success=Test (.NET 7.0)
# One test for each alternate go version
- status-success=Test (Go 1.19)
# One test for each alternate Java version
- status-success=Test (Java 11)
# One test for each alternate Python version
- status-success=Test (Python 3.8)
- status-success=Test (Python 3.9)
- status-success=Test (Python 3.10)

pull_request_rules:
- name: label core
Expand Down Expand Up @@ -56,29 +52,25 @@ pull_request_rules:
- status-success=Validate PR Title
# Docker image validation
- status-success~=^jsii/superchain
# The baseline (Ubuntu + Min-supported SDKs and runtimes)
- status-success=Test (baseline)
# One test for each OS
- status-success~=^Test \(ubuntu-.*$
- status-success~=^Test \(macos-.*$
- status-success~=^Test \(windows-.*$
# One test for each supported nodejs version
- status-success~=^Test \(.* node 14 .*$
- status-success~=^Test \(.* node 16 .*$
- status-success~=^Test \(.* node 18 .*$
- status-success~=^Test \(.* node 19 .*$
# One test for each supported dotnet version
- status-success~=^Test \(.* dotnet 3\.1\.x .*$
- status-success~=^Test \(.* dotnet 6\.0\.x .*$
# One test for each supported go version
- status-success~=^Test \(.* go 1.18 .*$
- status-success~=^Test \(.* go 1.19 .*$
# One test for Java 8 and 11
- status-success~=^Test \(.* java 8 .*$
- status-success~=^Test \(.* java 11 .*$
# One test for Python 3.7 through 3.10
- status-success~=^Test \(.* python 3\.7[ )].*$
- status-success~=^Test \(.* python 3\.8[ )].*$
- status-success~=^Test \(.* python 3\.9[ )].*$
- status-success~=^Test \(.* python 3\.10[ )].*$
- status-success=Test (macOS)
- status-success=Test (Windows)
# One test for each alternate nodejs version
- status-success=Test (Node 16)
- status-success=Test (Node 18)
- status-success=Test (Node 19)
# One test for each alternate .NET version
- status-success=Test (.NET 7.0)
# One test for each alternate go version
- status-success=Test (Go 1.19)
# One test for each alternate Java version
- status-success=Test (Java 11)
# One test for each alternate Python version
- status-success=Test (Python 3.8)
- status-success=Test (Python 3.9)
- status-success=Test (Python 3.10)

- name: Synchronize that PR to upstream and merge it (squash)
actions:
Expand Down Expand Up @@ -109,29 +101,25 @@ pull_request_rules:
- status-success=Validate PR Title
# Docker image validation
- status-success~=^jsii/superchain
# The baseline (Ubuntu + Min-supported SDKs and runtimes)
- status-success=Test (baseline)
# One test for each OS
- status-success~=^Test \(ubuntu-.*$
- status-success~=^Test \(macos-.*$
- status-success~=^Test \(windows-.*$
# One test for each supported nodejs version
- status-success~=^Test \(.* node 14 .*$
- status-success~=^Test \(.* node 16 .*$
- status-success~=^Test \(.* node 18 .*$
- status-success~=^Test \(.* node 19 .*$
# One test for each supported dotnet version
- status-success~=^Test \(.* dotnet 3\.1\.x .*$
- status-success~=^Test \(.* dotnet 6\.0\.x .*$
# One test for each supported go version
- status-success~=^Test \(.* go 1.18 .*$
- status-success~=^Test \(.* go 1.19 .*$
# One test for Java 8 and 11
- status-success~=^Test \(.* java 8 .*$
- status-success~=^Test \(.* java 11 .*$
# One test for Python 3.7 through 3.10
- status-success~=^Test \(.* python 3\.7[ )].*$
- status-success~=^Test \(.* python 3\.8[ )].*$
- status-success~=^Test \(.* python 3\.9[ )].*$
- status-success~=^Test \(.* python 3\.10[ )].*$
- status-success=Test (macOS)
- status-success=Test (Windows)
# One test for each alternate nodejs version
- status-success=Test (Node 16)
- status-success=Test (Node 18)
- status-success=Test (Node 19)
# One test for each alternate .NET version
- status-success=Test (.NET 7.0)
# One test for each alternate go version
- status-success=Test (Go 1.19)
# One test for each alternate Java version
- status-success=Test (Java 11)
# One test for each alternate Python version
- status-success=Test (Python 3.8)
- status-success=Test (Python 3.9)
- status-success=Test (Python 3.10)

- name: Synchronize that PR to upstream and merge it (no-squash)
actions:
Expand Down Expand Up @@ -162,29 +150,25 @@ pull_request_rules:
- status-success=Validate PR Title
# Docker image validation
- status-success~=^jsii/superchain
# The baseline (Ubuntu + Min-supported SDKs and runtimes)
- status-success=Test (baseline)
# One test for each OS
- status-success~=^Test \(ubuntu-.*$
- status-success~=^Test \(macos-.*$
- status-success~=^Test \(windows-.*$
# One test for each supported nodejs version
- status-success~=^Test \(.* node 14 .*$
- status-success~=^Test \(.* node 16 .*$
- status-success~=^Test \(.* node 18 .*$
- status-success~=^Test \(.* node 19 .*$
# One test for each supported dotnet version
- status-success~=^Test \(.* dotnet 3\.1\.x .*$
- status-success~=^Test \(.* dotnet 6\.0\.x .*$
# One test for each supported go version
- status-success~=^Test \(.* go 1.18 .*$
- status-success~=^Test \(.* go 1.19 .*$
# One test for Java 8 and 11
- status-success~=^Test \(.* java 8 .*$
- status-success~=^Test \(.* java 11 .*$
# One test for Python 3.7 through 3.10
- status-success~=^Test \(.* python 3\.7[ )].*$
- status-success~=^Test \(.* python 3\.8[ )].*$
- status-success~=^Test \(.* python 3\.9[ )].*$
- status-success~=^Test \(.* python 3\.10[ )].*$
- status-success=Test (macOS)
- status-success=Test (Windows)
# One test for each alternate nodejs version
- status-success=Test (Node 16)
- status-success=Test (Node 18)
- status-success=Test (Node 19)
# One test for each alternate .NET version
- status-success=Test (.NET 7.0)
# One test for each alternate go version
- status-success=Test (Go 1.19)
# One test for each alternate Java version
- status-success=Test (Java 11)
# One test for each alternate Python version
- status-success=Test (Python 3.8)
- status-success=Test (Python 3.9)
- status-success=Test (Python 3.10)

- name: Clean branch up
actions:
Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ in your development environment.
- [Yarn `1.19.1`] or later
- An OpenJDK-8 distribution (e.g: [Oracle's OpenJDK8], [Amazon Corretto 8])
+ [`maven >= 3.0.5`](https://maven.apache.org)
- [.NET Core `3.1`] or later
+ *Recommended:* [`mono >= 5`](https://www.mono-project.com)
- [.NET `6.0`] or later
+ *Recommended:* [`mono >= 6`](https://www.mono-project.com)
- [Python `3.7.3`] or later
+ [`pip`](https://pip.pypa.io/en/stable/installing/)
+ [`setuptools >= 38.6.0`](https://pypi.org/project/setuptools/)
Expand All @@ -56,7 +56,7 @@ in your development environment.
[Yarn `1.19.1`]: https://yarnpkg.com/en/docs/install
[Oracle's OpenJDK8]: http://openjdk.java.net/install/
[Amazon Corretto 8]: https://aws.amazon.com/corretto/
[.NET Core `3.1`]: https://www.microsoft.com/net/download
[.NET `6.0`]: https://www.microsoft.com/net/download
[Python `3.7.3`]: https://www.python.org/downloads/release/python-373/
[Go]: https://go.dev/dl/

Expand Down
Loading

0 comments on commit ae335ed

Please sign in to comment.