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
2 changes: 1 addition & 1 deletion .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
]
},
"microsoft.dotnet.helix.jobmonitor": {
"version": "12.0.0-beta.26471.108",
"version": "12.0.0-beta.26528.120",
"commands": [
"dotnet-helix-job-monitor"
]
Expand Down
2 changes: 1 addition & 1 deletion .github/skills/ci-pipeline-monitor/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ CREATE TABLE failures (
github_issue_state TEXT, -- OPEN | CLOSED
github_issue_assigned TEXT,
labels TEXT,
milestone TEXT DEFAULT '11.0.0'
milestone TEXT DEFAULT '12.0.0'
);

CREATE TABLE failure_pipelines (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ console log file.** This is the most important rule for data quality.
- **Stack traces may be unresolved** (`?? at ??:0:0`) — copy verbatim anyway.
Note "(unresolved)" after the stack trace block.
- Use actual test leg names from AzDO (e.g.,
`net11.0-linux-Release-arm64-jitstress2_jitstressregs0x2000-...`),
`netXY.0-linux-Release-arm64-jitstress2_jitstressregs0x2000-...`),
not a summarized form like `coreclr linux arm64 Checked jitstress2`.
- Use fully qualified `automatedTestName` — never shorten.
- Report ALL failed test legs — if a test fails in 3 legs, list all 3.
Expand Down
2 changes: 1 addition & 1 deletion .github/skills/ci-pipeline-monitor/report-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ Work item: <work item name, e.g., HardwareIntrinsics_Arm_ro>

Title: Test Failure: <failures.test_name>
Labels: <area-CodeGen-coreclr>, <os-label>, <arch-label>, <stress-label>, blocking-clean-ci-optional
Milestone: 11.0.0
Milestone: 12.0.0

Body (paste as-is into GitHub issue):
<<<
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
github_issue_state TEXT,
github_issue_assigned TEXT,
labels TEXT,
milestone TEXT DEFAULT '11.0.0',
milestone TEXT DEFAULT '12.0.0',
FOREIGN KEY (source_test_result_id) REFERENCES test_results(id)
);

Expand Down
9 changes: 5 additions & 4 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@

<!-- The TFMs to build and test against. -->
<PropertyGroup>
<NetCoreAppCurrentVersion>11.0</NetCoreAppCurrentVersion>
<NetCoreAppCurrentVersion>12.0</NetCoreAppCurrentVersion>
<NetCoreAppCurrentIdentifier>.NETCoreApp</NetCoreAppCurrentIdentifier>
<NetCoreAppCurrentTargetFrameworkMoniker>$(NetCoreAppCurrentIdentifier),Version=v$(NetCoreAppCurrentVersion)</NetCoreAppCurrentTargetFrameworkMoniker>
<MicrosoftNetCoreAppFrameworkName>Microsoft.NETCore.App</MicrosoftNetCoreAppFrameworkName>
Expand All @@ -80,7 +80,7 @@
<NetCurrent>$(NetCoreAppCurrent)</NetCurrent>

<!-- The previous supported .NET version. -->
<NetCoreAppPrevious />
<NetCoreAppPrevious>net11.0</NetCoreAppPrevious>
<NetCoreAppPrevious Condition="'$(DotNetBuildSourceOnly)' == 'true'">$(NetCoreAppCurrent)</NetCoreAppPrevious>
<!-- TODO: Replace NetCoreAppPrevious with NetPrevious in this repo -->
<NetPrevious>$(NetCoreAppPrevious)</NetPrevious>
Expand All @@ -92,6 +92,7 @@
<NetMinimum>$(NetCoreAppMinimum)</NetMinimum>

<NetCoreAppToolCurrentVersion>11.0</NetCoreAppToolCurrentVersion>
<NetCoreAppToolCurrentVersion Condition="'$(DotNetBuildSourceOnly)' == 'true'">$([MSBuild]::GetTargetFrameworkVersion('$(BundledNETCoreAppTargetFramework)'))</NetCoreAppToolCurrentVersion>
<NetCoreAppToolCurrent>net$(NetCoreAppToolCurrentVersion)</NetCoreAppToolCurrent>
<NetCoreAppCurrentToolTargetFrameworkMoniker>$(NetCoreAppCurrentIdentifier),Version=v$(NetCoreAppToolCurrentVersion)</NetCoreAppCurrentToolTargetFrameworkMoniker>
<!-- TODO: Replace NetCoreAppToolCurrent with BundledNETCoreAppTargetFramework in this repo -->
Expand All @@ -104,8 +105,8 @@
<NetFrameworkToolCurrent Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
<NetFrameworkCurrent Condition="'$(DotNetBuildSourceOnly)' == 'true'" />

<ApiCompatNetCoreAppBaselineVersion>10.0.0</ApiCompatNetCoreAppBaselineVersion>
<ApiCompatNetCoreAppBaselineTFM>net10.0</ApiCompatNetCoreAppBaselineTFM>
<ApiCompatNetCoreAppBaselineVersion>11.0.0-rc.1.26425.128</ApiCompatNetCoreAppBaselineVersion>
<ApiCompatNetCoreAppBaselineTFM>net11.0</ApiCompatNetCoreAppBaselineTFM>
</PropertyGroup>

<PropertyGroup Label="CalculateConfiguration">
Expand Down
10 changes: 5 additions & 5 deletions docs/coding-guidelines/adding-api-guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ the implementation without compat concerns in future releases.

### Determine target framework

`net11.0` is the target framework version currently under development and the new apis
should be added to `net11.0`. [More Information on TargetFrameworks](https://learn.microsoft.com/dotnet/standard/frameworks)
`net12.0` is the target framework version currently under development and the new apis
should be added to `net12.0`. [More Information on TargetFrameworks](https://learn.microsoft.com/dotnet/standard/frameworks)

## Making the changes in repo

Expand Down Expand Up @@ -77,7 +77,7 @@ These syntaxes pull the code snippet identified by the specified region from the

### Documentation placement in platform-specific libraries

When a library targets platform-specific frameworks (e.g. `net11.0-windows`, `net11.0-linux`),
When a library targets platform-specific frameworks (e.g. `netXY.0-windows`, `netXY.0-linux`),
only **one** platform's compiler-generated doc XML is selected as the source of truth and shipped
to all customers in the IntelliSense package. This means that if XML doc comments for a public API
appear only in a platform-specific partial file, they might be missing from the shipped docs on other
Expand Down Expand Up @@ -108,8 +108,8 @@ produces the following diagnostics:
| PLATDOC004 | Documentation for a public API differs from the canonical (platform-agnostic) build. |

PLATDOC001–003 are heuristic rules that guide source organization. PLATDOC004 is an authoritative
check: when a project also targets a platform-agnostic TFM (e.g. `net11.0` alongside
`net11.0-windows`), the build passes the canonical TFM's compiler-generated doc XML to the
check: when a project also targets a platform-agnostic TFM (e.g. `netXY.0` alongside
`netXY.0-windows`), the build passes the canonical TFM's compiler-generated doc XML to the
analyzer, which compares each public API's documentation against it. Any mismatch indicates that
docs were placed on platform-specific source and will be inconsistent across platforms.

Expand Down
4 changes: 2 additions & 2 deletions docs/coding-guidelines/project-guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Below is a list of all the various options we pivot the project builds on:
## Individual build properties
The following are the properties associated with each build pivot

- `$(BuildTargetFramework) -> Any .NETCoreApp or .NETFramework TFM, e.g. net11.0`
- `$(BuildTargetFramework) -> Any .NETCoreApp or .NETFramework TFM, e.g. netXY.0`
- `$(TargetOS) -> windows | linux | osx | freebsd | ... | [defaults to running OS when empty]`
- `$(Configuration) -> Debug | Release | [defaults to Debug when empty]`
- `$(TargetArchitecture) - x86 | x64 | arm | arm64 | [defaults to x64 when empty]`
Expand Down Expand Up @@ -59,7 +59,7 @@ A cross-targeting project which targets specific platform with `$(NetCoreAppCurr
A full or individual project build is centered around BuildTargetFramework, TargetOS, Configuration and TargetArchitecture.

1. `$(BuildTargetFramework), $(TargetOS), $(Configuration), $(TargetArchitecture)` can individually be passed in to change the default values.
2. If nothing is passed to the build then we will default value of these properties from the environment. Example: `net11.0-[TargetOS Running On]-Debug-x64`.
2. If nothing is passed to the build then we will default value of these properties from the environment. Example: `netXY.0-[TargetOS Running On]-Debug-x64`.
3. When building an individual project (either from the CLI or an IDE), all target frameworks are built.

Any of the mentioned properties can be set via `/p:<Property>=<Value>` at the command line. When building using any of the wrapper scripts around it (i.e. build.cmd) a number of these properties have aliases which make them easier to pass (run build.cmd/sh -? for the aliases).
Expand Down
6 changes: 3 additions & 3 deletions docs/project/dogfooding.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ azure-feed://dnceng/public/dotnet11@Local

1. Acquire the latest development .NET SDK by downloading and extracting a zip/tarball or using an installer from the [latest builds table in dotnet/sdk](https://github.com/dotnet/sdk#installing-the-sdk) (for example, https://aka.ms/dotnet/11.0/daily/dotnet-sdk-win-x64.zip).

2. If you are using a local copy of the dotnet CLI, take care that when you type `dotnet` you do not inadvertently pick up a different copy that you may have in your path. On Windows, for example, if you use a Command Prompt, a global copy may be in the path, so use the fully qualified path to your local `dotnet` (e.g. `C:\dotnet\dotnet.exe`). If you receive an error "error NETSDK1045: The current .NET SDK does not support targeting .NET 11.0." then you may be executing an older `dotnet`.
2. If you are using a local copy of the dotnet CLI, take care that when you type `dotnet` you do not inadvertently pick up a different copy that you may have in your path. On Windows, for example, if you use a Command Prompt, a global copy may be in the path, so use the fully qualified path to your local `dotnet` (e.g. `C:\dotnet\dotnet.exe`). If you receive an error "error NETSDK1045: The current .NET SDK does not support targeting .NET 12.0." then you may be executing an older `dotnet`.

After setting up dotnet you can verify you are using the current preview version by executing `dotnet --info`. Here is an example output:
```
Expand All @@ -58,15 +58,15 @@ global.json file:
Not found

Host:
Version: 11.0.0-alpha.1.24556.3
Version: 12.0.0-alpha.1.24556.3
Architecture: x64
Commit: 47d9c43ab1

.NET SDKs installed:
11.0.100-alpha.1.24556.7 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
Microsoft.NETCore.App 11.0.0-alpha.1.24556.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 12.0.0-alpha.1.24556.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

Download .NET:
https://aka.ms/dotnet-download
Expand Down
8 changes: 4 additions & 4 deletions docs/workflow/building/coreclr/cross-building.md
Original file line number Diff line number Diff line change
Expand Up @@ -260,8 +260,8 @@ Libraries tests need the test host (`artifacts/bin/testhost/...`) plus the per-l

```bash
# Pack and upload the test host.
tar -czf testhost_net11.0-freebsd-Debug-arm64.tar.gz artifacts/bin/testhost/net11.0-freebsd-Debug-arm64
scp testhost_net11.0-freebsd-Debug-arm64.tar.gz $TargetMachine:/tmp
tar -czf testhost_net12.0-freebsd-Debug-arm64.tar.gz artifacts/bin/testhost/net12.0-freebsd-Debug-arm64
scp testhost_net12.0-freebsd-Debug-arm64.tar.gz $TargetMachine:/tmp

# Copy a specific test's archive (paths and names vary; this example uses System.Text.RegularExpressions).
scp artifacts/helix/tests/freebsd.AnyCPU.Debug/System.Text.RegularExpressions.Unit.Tests.zip $TargetMachine:/tmp
Expand All @@ -273,12 +273,12 @@ On the target machine:
ssh $TargetMachine

mkdir testhost
tar -xzf /tmp/testhost_net11.0-freebsd-Debug-arm64.tar.gz -C testhost
tar -xzf /tmp/testhost_net12.0-freebsd-Debug-arm64.tar.gz -C testhost

mkdir regex-tests && cd $_
unzip /tmp/System.Text.RegularExpressions.Unit.Tests.zip

./RunTests.sh --runtime-path ~/testhost/artifacts/bin/testhost/net11.0-freebsd-Debug-arm64
./RunTests.sh --runtime-path ~/testhost/artifacts/bin/testhost/net12.0-freebsd-Debug-arm64
```

#### Notes
Expand Down
2 changes: 1 addition & 1 deletion docs/workflow/building/coreclr/nativeaot.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ The paths to major components can be overridden using `IlcToolsPath`, `IlcSdkPat
Run `build[.cmd|.sh] -c Release` from the repo root to build the NativeAOT toolchain packages. The build will place the toolchain packages at `artifacts\packages\Release\Shipping`. To publish your project using these packages:

* Add the package directory to your `nuget.config` file. For example, add `<add key="local" value="C:\runtime\artifacts\packages\Release\Shipping" />`
* Run `dotnet add package Microsoft.DotNet.ILCompiler -v 11.0.0-dev` to add the local package reference to your project.
* Run `dotnet add package Microsoft.DotNet.ILCompiler -v 12.0.0-dev` to add the local package reference to your project.
* Run `dotnet publish --packages pkg -r [win-x64|linux-x64|osx-64] -c [Debug|Release]` to publish your project. `--packages pkg` option restores the package into a local directory that is easy to cleanup once you are done. It avoids polluting the global nuget cache with your locally built dev package.

## High Level Overview
Expand Down
4 changes: 2 additions & 2 deletions docs/workflow/building/coreclr/wasm.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ You can also run the runtime directly in Node.js:
In script below please replace `/path/to/runtime/` by a **absolute unix path** to the actual runtime repo (even on Windows).

```bash
cp ./artifacts/bin/microsoft.netcore.app.runtime.browser-wasm/Debug/runtimes/browser-wasm/lib/net11.0/*.dll ./artifacts/bin/coreclr/browser.wasm.Debug/IL
cp ./artifacts/bin/microsoft.netcore.app.runtime.browser-wasm/Debug/runtimes/browser-wasm/lib/net12.0/*.dll ./artifacts/bin/coreclr/browser.wasm.Debug/IL
cp helloworld.dll ./artifacts/bin/coreclr/browser.wasm.Debug/IL
cd ./artifacts/bin/coreclr/browser.wasm.Debug/
node --experimental-wasm-exnref ./corerun.js -c /path/to/runtime/artifacts/bin/coreclr/browser.wasm.Debug/IL /path/to/runtime/artifacts/bin/coreclr/browser.wasm.Debug/IL/helloworld.dll
Expand All @@ -79,7 +79,7 @@ node --experimental-wasm-exnref ./corerun.js -c /path/to/runtime/artifacts/bin/c
You can also run the corehost directly in Node.js:

```bash
cp ./artifacts/bin/microsoft.netcore.app.runtime.browser-wasm/Debug/runtimes/browser-wasm/lib/net11.0/*.dll ./artifacts/bin/coreclr/browser.wasm.Debug/corehost
cp ./artifacts/bin/microsoft.netcore.app.runtime.browser-wasm/Debug/runtimes/browser-wasm/lib/net12.0/*.dll ./artifacts/bin/coreclr/browser.wasm.Debug/corehost
cp helloworld.dll ./artifacts/bin/coreclr/browser.wasm.Debug/corehost
cd ./artifacts/bin/coreclr/browser.wasm.Debug/corehost
node --experimental-wasm-exnref ./main.mjs
Expand Down
2 changes: 1 addition & 1 deletion docs/workflow/building/libraries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ The libraries build has two logical components, the native build which produces

The build settings (BuildTargetFramework, TargetOS, Configuration, Architecture) are generally defaulted based on where you are building (i.e. which OS or which architecture) but we have a few shortcuts for the individual properties that can be passed to the build scripts:

- `-framework|-f` identifies the target framework for the build. Possible values include `net11.0` (currently the latest .NET version) or `net481` (the latest .NET Framework version). (msbuild property `BuildTargetFramework`)
- `-framework|-f` identifies the target framework for the build. Possible values include `net12.0` (currently the latest .NET version) or `net481` (the latest .NET Framework version). (msbuild property `BuildTargetFramework`)
- `-os` identifies the OS for the build. It defaults to the OS you are running on but possible values include `windows`, `unix`, `linux`, or `osx`. (msbuild property `TargetOS`)
- `-configuration|-c Debug|Release` controls the optimization level the compilers use for the build. It defaults to `Debug`. (msbuild property `Configuration`)
- `-arch` identifies the architecture for the build. It defaults to `x64` but possible values include `x64`, `x86`, `arm`, or `arm64`. (msbuild property `TargetArchitecture`)
Expand Down
50 changes: 25 additions & 25 deletions docs/workflow/building/libraries/cross-building.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,30 +46,30 @@ To build native runtime libraries for arm:

$ ROOTFS_DIR=`pwd`/.tools/rootfs/arm ./build.sh libs.native --cross --arch arm --librariesConfiguration Release

Build artifacts can be found in `artifacts/bin/native/net11.0-<TargetOS>-<BuildArch>-<BuildType>/`:

$ ls artifacts/bin/native/net11.0-Linux-Release-arm/*
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Globalization.Native.a
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Globalization.Native.so
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Globalization.Native.so.dbg
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.IO.Compression.Native.a
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.IO.Compression.Native.so
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.IO.Compression.Native.so.dbg
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.IO.Ports.Native.a
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.IO.Ports.Native.so
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.IO.Ports.Native.so.dbg
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Native.a
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Native.so
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Native.so.dbg
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Net.Security.Native.a
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Net.Security.Native.so
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Net.Security.Native.so.dbg
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Security.Cryptography.Native.OpenSsl.a
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Security.Cryptography.Native.OpenSsl.so
artifacts/bin/native/net11.0-Linux-Release-arm/libSystem.Security.Cryptography.Native.OpenSsl.so.dbg

$ file artifacts/bin/native/net11.0-linux-release-arm/libSystem.Native.so
artifacts/bin/native/net11.0-linux-release-arm/libSystem.Native.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=5f6f6f9c4012dffed133624867adf32ac2af130d, stripped
Build artifacts can be found in `artifacts/bin/native/net12.0-<TargetOS>-<BuildArch>-<BuildType>/`:

$ ls artifacts/bin/native/net12.0-Linux-Release-arm/*
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.Globalization.Native.a
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.Globalization.Native.so
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.Globalization.Native.so.dbg
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.IO.Compression.Native.a
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.IO.Compression.Native.so
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.IO.Compression.Native.so.dbg
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.IO.Ports.Native.a
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.IO.Ports.Native.so
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.IO.Ports.Native.so.dbg
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.Native.a
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.Native.so
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.Native.so.dbg
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.Net.Security.Native.a
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.Net.Security.Native.so
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.Net.Security.Native.so.dbg
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.Security.Cryptography.Native.OpenSsl.a
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.Security.Cryptography.Native.OpenSsl.so
artifacts/bin/native/net12.0-Linux-Release-arm/libSystem.Security.Cryptography.Native.OpenSsl.so.dbg

$ file artifacts/bin/native/net12.0-linux-release-arm/libSystem.Native.so
artifacts/bin/native/net12.0-linux-release-arm/libSystem.Native.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=5f6f6f9c4012dffed133624867adf32ac2af130d, stripped


Compile managed runtime libraries on Linux
Expand All @@ -88,7 +88,7 @@ Note that by default ILLinker trimming is enabled and libraries built above for

$ ./build.sh libs.sfx --arch arm --librariesConfiguration Release /p:ILLinkTrimAssembly=false

Build artifacts can be found in `artifacts/bin/microsoft.netcore.app.runtime.<TargetOS>-<BuildArch>/<BuildType>/runtimes/<TargetOS>-<BuildArch>/lib/net11.0/`. For more details on the build configurations see [project-guidelines](/docs/coding-guidelines/project-guidelines.md).
Build artifacts can be found in `artifacts/bin/microsoft.netcore.app.runtime.<TargetOS>-<BuildArch>/<BuildType>/runtimes/<TargetOS>-<BuildArch>/lib/net12.0/`. For more details on the build configurations see [project-guidelines](/docs/coding-guidelines/project-guidelines.md).

Both native and managed runtime libraries can be built at the same time with:

Expand Down
Loading
Loading