diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json new file mode 100644 index 000000000..26b81283a --- /dev/null +++ b/.config/dotnet-tools.json @@ -0,0 +1,12 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "microsoft.dotnet.darc": { + "version": "1.1.0-beta.22561.2", + "commands": [ + "darc" + ] + } + } +} diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index d70c808d3..30953897c 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -2,7 +2,7 @@ // https://github.com/microsoft/vscode-dev-containers/tree/v0.238.0/containers/dotnet { "name": "Source-Build w/ Built Tarball", - "image": "mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-33-20210222183538-031e7d2", + "image": "mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36", // A completely built .NET source-tarball is >64 GB "hostRequirements": { "storage": "128gb" diff --git a/.devcontainer/source-build-tarball/devcontainer.json b/.devcontainer/source-build-tarball/devcontainer.json index c3887d557..4fa2238bf 100644 --- a/.devcontainer/source-build-tarball/devcontainer.json +++ b/.devcontainer/source-build-tarball/devcontainer.json @@ -2,7 +2,7 @@ // https://github.com/microsoft/vscode-dev-containers/tree/v0.238.0/containers/dotnet { "name": "Source-Build w/ Tarball", - "image": "mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-33-20210222183538-031e7d2", + "image": "mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36", // A completely built .NET source tarball is >64 GB "hostRequirements": { "storage": "128gb" diff --git a/.devcontainer/source-build/devcontainer.json b/.devcontainer/source-build/devcontainer.json index dd197dffb..e38bc27f0 100644 --- a/.devcontainer/source-build/devcontainer.json +++ b/.devcontainer/source-build/devcontainer.json @@ -1,5 +1,5 @@ // Use this devcontainer if you don't need the full context of a source-build tarball { "name": "Source-Build", - "image": "mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-33-20210222183538-031e7d2" + "image": "mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36" } \ No newline at end of file diff --git a/.vsts-ci.yml b/.vsts-ci.yml index abfd68fda..78fc837c2 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -25,17 +25,6 @@ variables: - name: _PublishUsingPipelines value: true -# Default to running tests in PRs and public CI, but not in official builds -- name: _WindowsTestArg - value: '-test' -- name: _NonWindowsTestArg - value: '--test' -- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - name: _WindowsTestArg - value: '' - - name: _NonWindowsTestArg - value: '' - - name: _InternalRuntimeDownloadArgs value: '' @@ -47,286 +36,312 @@ variables: /p:dotnetbuilds-internal-container-read-token-base64=$(dotnetbuilds-internal-container-read-token-base64) stages: -- stage: build +- stage: Build jobs: + # This job is for build retry configuration. - job: Publish_Build_Configuration pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: - name: NetCore-Svc-Public - demands: ImageOverride -equals windows.vs2019.amd64.open + name: NetCore-Public + demands: ImageOverride -equals windows.vs2022preview.amd64.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: - name: NetCore1ESPool-Svc-Internal - demands: ImageOverride -equals windows.vs2019.amd64 + name: NetCore1ESPool-Internal + demands: ImageOverride -equals windows.vs2022preview.amd64 steps: - - publish: $(Build.SourcesDirectory)\eng\BuildConfiguration - artifact: BuildConfiguration + - publish: $(Build.SourcesDirectory)\eng\buildConfiguration + artifact: buildConfiguration displayName: Publish Build Config - - template: /eng/build.yml - parameters: - agentOs: Windows_NT - pool: - ${{ if eq(variables['System.TeamProject'], 'public') }}: - name: NetCore-Svc-Public - demands: ImageOverride -equals windows.vs2019.amd64.open - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - name: NetCore1ESPool-Svc-Internal - demands: ImageOverride -equals windows.vs2019.amd64 - timeoutInMinutes: 180 - strategy: - matrix: - # Public-only builds - ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}: - Build_Release_x64: - _BuildConfig: Debug - _BuildArchitecture: x64 - _DOTNET_CLI_UI_LANGUAGE: '' - _AdditionalBuildParameters: '/p:PublishInternalAsset=true' - _TestArg: $(_WindowsTestArg) - # Internal-only builds - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - Build_Release_x64: - _BuildConfig: Release - _BuildArchitecture: x64 - _DOTNET_CLI_UI_LANGUAGE: '' - _AdditionalBuildParameters: '/p:PublishInternalAsset=true' - _TestArg: $(_WindowsTestArg) - Build_Release_x86: - _BuildConfig: Release - _BuildArchitecture: x86 - _DOTNET_CLI_UI_LANGUAGE: '' - _AdditionalBuildParameters: '' - _TestArg: $(_WindowsTestArg) - Build_Release_arm64: - _BuildConfig: Release - _BuildArchitecture: arm64 - _DOTNET_CLI_UI_LANGUAGE: '' - _AdditionalBuildParameters: '' - # Never run tests on arm64 - _TestArg: '' + + ## PR-only jobs + + - ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}: + + ## Windows - - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - template: /eng/build.yml parameters: agentOs: Windows_NT - pool: - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - name: NetCore1ESPool-Svc-Internal - demands: ImageOverride -equals windows.vs2019.amd64 - timeoutInMinutes: 180 - strategy: - matrix: - Build_Release_x64: - _BuildConfig: Release - _BuildArchitecture: x64 - _DOTNET_CLI_UI_LANGUAGE: '' - _AdditionalBuildParameters: '/p:PublishInternalAsset=true' - # Never run tests on PGO bits - _TestArg: '' - Build_Release_x86: - _BuildConfig: Release - _BuildArchitecture: x86 - _DOTNET_CLI_UI_LANGUAGE: '' - _AdditionalBuildParameters: '' - _TestArg: '' - Build_Release_arm64: - _BuildConfig: Release - _BuildArchitecture: arm64 - _DOTNET_CLI_UI_LANGUAGE: '' - _AdditionalBuildParameters: '' - # Never run tests on arm64 - _TestArg: '' - pgoInstrument: true + jobName: Build_Debug_x64 + buildConfiguration: Debug + buildArchitecture: x64 + additionalBuildParameters: '/p:PublishInternalAsset=true' + runTests: true - - template: /eng/build.yml - parameters: - agentOs: Linux - pool: - ${{ if eq(variables['System.TeamProject'], 'public') }}: - name: NetCore-Svc-Public - demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - name: NetCore1ESPool-Svc-Internal - demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 - timeoutInMinutes: 180 - strategy: - matrix: - ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}: - Build_Ubuntu_18_04_Debug_x64: - _BuildConfig: Debug - _DockerParameter: '--docker ubuntu.18.04' - _LinuxPortable: '--linux-portable' - _RuntimeIdentifier: '' - _BuildArchitecture: 'x64' - _TestArg: $(_NonWindowsTestArg) - Build_Fedora_36_Debug_x64: - _BuildConfig: Debug - _DockerParameter: '--docker fedora.36' - _LinuxPortable: '--linux-portable' - _RuntimeIdentifier: '' - _BuildArchitecture: 'x64' - _TestArg: $(_NonWindowsTestArg) - Build_CentOS_7_Debug_x64: - _BuildConfig: Debug - _DockerParameter: '--docker centos' - _LinuxPortable: '' - _RuntimeIdentifier: '' - _BuildArchitecture: 'x64' - _TestArg: $(_NonWindowsTestArg) - Build_Debian_Stretch_Debug_x64: - _BuildConfig: Debug - _DockerParameter: '--docker debian' - _LinuxPortable: '' - _RuntimeIdentifier: '' - _BuildArchitecture: 'x64' - _AdditionalBuildParameters: '/p:BuildSdkDeb=true' - _TestArg: $(_NonWindowsTestArg) - Build_Arm64_Debug: - _BuildConfig: Debug - _DockerParameter: '' - _LinuxPortable: '--linux-portable' - _RuntimeIdentifier: '--runtime-id linux-arm64' - _BuildArchitecture: 'arm64' - # Never run tests on arm64 - _TestArg: '' - Build_Linux_musl_Debug_x64: - _BuildConfig: Debug - _DockerParameter: '--docker alpine.3.15' - _LinuxPortable: '' - _RuntimeIdentifier: '--runtime-id linux-musl-x64' - _BuildArchitecture: 'x64' - # Pass in HostOSName when running on alpine - _AdditionalBuildParameters: '/p:HostOSName="linux-musl"' - _TestArg: $(_NonWindowsTestArg) - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - Build_Arm_Release: - _BuildConfig: Release - _DockerParameter: '' - _LinuxPortable: '--linux-portable' - _RuntimeIdentifier: '--runtime-id linux-arm' - _BuildArchitecture: 'arm' - # Never run tests on arm - _TestArg: '' - Build_Arm64_Release: - _BuildConfig: Release - _DockerParameter: '' - _LinuxPortable: '--linux-portable' - _RuntimeIdentifier: '--runtime-id linux-arm64' - _BuildArchitecture: 'arm64' - # Never run tests on arm64 - _TestArg: '' - Build_Linux_musl_Release_arm: - _BuildConfig: Release - # linux-musl-arm cross gen depends on glibc 2.27 (this OS has it) - _DockerParameter: '--docker ubuntu.18.04' - _LinuxPortable: '' - _RuntimeIdentifier: '--runtime-id linux-musl-arm' - _BuildArchitecture: 'arm' - _AdditionalBuildParameters: '/p:OSName="linux-musl"' - # Never run tests on arm - _TestArg: '' - Build_Linux_musl_Release_arm64: - _BuildConfig: Release - _DockerParameter: '' - _LinuxPortable: '' - _RuntimeIdentifier: '--runtime-id linux-musl-arm64' - _BuildArchitecture: 'arm64' - _AdditionalBuildParameters: '/p:OSName="linux-musl"' - # Never run tests on arm64 - _TestArg: '' - Build_Linux_musl_Release_x64: - _BuildConfig: Release - _DockerParameter: '--docker alpine.3.15' - _LinuxPortable: '' - _RuntimeIdentifier: '--runtime-id linux-musl-x64' - _BuildArchitecture: 'x64' - # Pass in HostOSName when running on alpine - _AdditionalBuildParameters: '/p:HostOSName="linux-musl"' - Build_Linux_Portable_Deb_Release_x64: - _BuildConfig: Release - _DockerParameter: '--docker ubuntu.18.04' - _LinuxPortable: '--linux-portable' - _RuntimeIdentifier: '' - _BuildArchitecture: 'x64' - # Do not publish zips and tarballs. The linux-x64 binaries are - # already published by Build_LinuxPortable_Release_x64 - _AdditionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:BuildSdkDeb=true' - _TestArg: $(_NonWindowsTestArg) - Build_Linux_Portable_Rpm_Release_x64: - _BuildConfig: Release - _DockerParameter: '--docker centos' - _LinuxPortable: '--linux-portable' - _RuntimeIdentifier: '' - _BuildArchitecture: 'x64' - # Do not publish zips and tarballs. The linux-x64 binaries are - # already published by Build_LinuxPortable_Release_x64 - _AdditionalBuildParameters: '/p:PublishBinariesAndBadge=false' - _TestArg: $(_NonWindowsTestArg) - Build_Linux_Portable_Rpm_Release_Arm64: - _BuildConfig: Release - _DockerParameter: '--docker centos' - _LinuxPortable: '--linux-portable' - _RuntimeIdentifier: '--runtime-id linux-arm64' - _BuildArchitecture: 'arm64' - # Do not publish zips and tarballs. The linux-x64 binaries are - # already published by Build_LinuxPortable_Release_x64 - _AdditionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:CLIBUILD_SKIP_TESTS=true' - # Never run tests on arm64 - _TestArg: '' - Build_LinuxPortable_Release_x64: - _BuildConfig: Release - _DockerParameter: '' - _LinuxPortable: '--linux-portable' - _RuntimeIdentifier: '' - _BuildArchitecture: 'x64' - _TestArg: $(_NonWindowsTestArg) + ## Linux - - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - template: /eng/build.yml parameters: agentOs: Linux - pool: - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - name: NetCore1ESPool-Svc-Internal - demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 - timeoutInMinutes: 180 - strategy: - matrix: - Build_LinuxPortable_Release_x64: - _BuildConfig: Release - _DockerParameter: '' - _LinuxPortable: '--linux-portable' - _RuntimeIdentifier: '' - _BuildArchitecture: 'x64' - _TestArg: '' - Build_Release_arm64: - _BuildConfig: Release - _BuildArchitecture: arm64 - _DOTNET_CLI_UI_LANGUAGE: '' - _AdditionalBuildParameters: '' - # Never run tests on arm64 - _TestArg: '' - pgoInstrument: true + jobName: Build_Ubuntu_22_04_Debug_x64 + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04' + buildConfiguration: Debug + buildArchitecture: x64 + linuxPortable: true + runTests: true + - template: /eng/build.yml + parameters: + agentOs: Linux + jobName: Build_Fedora_36_Debug_x64 + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36' + buildConfiguration: Debug + buildArchitecture: x64 + linuxPortable: true + runTests: true + - template: /eng/build.yml + parameters: + agentOs: Linux + jobName: Build_CentOS_7_Debug_x64 + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7' + buildConfiguration: Debug + buildArchitecture: x64 + linuxPortable: false + runTests: true + - template: /eng/build.yml + parameters: + agentOs: Linux + jobName: Build_Debian_Stretch_Debug_x64 + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:debian-stretch' + buildConfiguration: Debug + buildArchitecture: x64 + additionalBuildParameters: '/p:BuildSdkDeb=true' + linuxPortable: false + runTests: true + - template: /eng/build.yml + parameters: + agentOs: Linux + jobName: Build_Arm64_Debug + buildConfiguration: Debug + buildArchitecture: arm64 + runtimeIdentifier: 'linux-arm64' + linuxPortable: true + # Never run tests on arm64 + runTests: false + - template: /eng/build.yml + parameters: + agentOs: Linux + jobName: Build_Linux_musl_Debug_x64 + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.15-WithNode' + buildConfiguration: Debug + buildArchitecture: x64 + runtimeIdentifier: 'linux-musl-x64' + # Pass in HostOSName when running on alpine + additionalBuildParameters: '/p:HostOSName="linux-musl"' + linuxPortable: false + runTests: true + - template: /eng/build.yml + parameters: + agentOs: Linux + jobName: Build_LinuxPortable_Release_x64 + buildConfiguration: Release + buildArchitecture: x64 + linuxPortable: true + runTests: true - - template: /eng/build.yml - parameters: - agentOs: Darwin - pool: - vmImage: 'macOS-latest' - timeoutInMinutes: 180 - strategy: - matrix: - Build_Release_x64: - _BuildConfig: Release - _RuntimeIdentifier: '' - _BuildArchitecture: 'x64' - _TestArg: $(_NonWindowsTestArg) - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - Build_Release_arm64: - _BuildConfig: Release - _RuntimeIdentifier: '--runtime-id osx-arm64' - _BuildArchitecture: 'arm64' - # Never run tests on arm64 - _TestArg: '' + # MacOS + + - template: /eng/build.yml + parameters: + agentOs: Darwin + jobName: Build_Release_x64 + buildConfiguration: Release + buildArchitecture: x64 + runTests: true + + ## Official/PGO instrumentation Builds + + - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: + + ## Windows + + - template: /eng/build.yml + parameters: + agentOs: Windows_NT + jobName: Build_Release_x64 + buildConfiguration: Release + buildArchitecture: x64 + additionalBuildParameters: '/p:PublishInternalAsset=true' + runTests: false + - template: /eng/build.yml + parameters: + agentOs: Windows_NT + jobName: Build_Release_x86 + buildConfiguration: Release + buildArchitecture: x86 + runTests: false + - template: /eng/build.yml + parameters: + agentOs: Windows_NT + jobName: Build_Release_arm64 + buildConfiguration: Release + buildArchitecture: arm64 + runTests: false + + ## Linux + + - template: /eng/build.yml + parameters: + agentOs: Linux + jobName: Build_Arm_Release + buildConfiguration: Release + buildArchitecture: arm + runtimeIdentifier: 'linux-arm' + linuxPortable: true + runTests: false + - template: /eng/build.yml + parameters: + agentOs: Linux + jobName: Build_Arm64_Release + buildConfiguration: Release + buildArchitecture: arm64 + runtimeIdentifier: 'linux-arm64' + linuxPortable: true + runTests: false + - template: /eng/build.yml + parameters: + agentOs: Linux + jobName: Build_Linux_musl_Release_arm + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross' + buildConfiguration: Release + buildArchitecture: arm + runtimeIdentifier: 'linux-musl-arm' + additionalBuildParameters: '/p:OSName="linux-musl"' + linuxPortable: false + runTests: false + - template: /eng/build.yml + parameters: + agentOs: Linux + jobName: Build_Linux_musl_Release_arm64 + buildConfiguration: Release + buildArchitecture: arm64 + runtimeIdentifier: 'linux-musl-arm64' + additionalBuildParameters: '/p:OSName="linux-musl"' + linuxPortable: false + runTests: false + - template: /eng/build.yml + parameters: + agentOs: Linux + jobName: Build_Linux_musl_Release_x64 + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.15-WithNode' + buildConfiguration: Release + buildArchitecture: x64 + runtimeIdentifier: 'linux-musl-x64' + # Pass in HostOSName when running on alpine + additionalBuildParameters: '/p:HostOSName="linux-musl"' + linuxPortable: false + runTests: false + - template: /eng/build.yml + parameters: + agentOs: Linux + jobName: Build_Linux_Portable_Deb_Release_x64 + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-debpkg' + buildConfiguration: Release + buildArchitecture: x64 + # Do not publish zips and tarballs. The linux-x64 binaries are + # already published by Build_LinuxPortable_Release_x64 + additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:BuildSdkDeb=true' + linuxPortable: true + runTests: false + - template: /eng/build.yml + parameters: + agentOs: Linux + jobName: Build_Linux_Portable_Rpm_Release_x64 + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-rpmpkg' + buildConfiguration: Release + buildArchitecture: x64 + # Do not publish zips and tarballs. The linux-x64 binaries are + # already published by Build_LinuxPortable_Release_x64 + additionalBuildParameters: '/p:PublishBinariesAndBadge=false' + linuxPortable: true + runTests: false + - template: /eng/build.yml + parameters: + agentOs: Linux + jobName: Build_Linux_Portable_Rpm_Release_Arm64 + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-rpmpkg' + buildConfiguration: Release + buildArchitecture: arm64 + runtimeIdentifier: 'linux-arm64' + # Do not publish zips and tarballs. The linux-x64 binaries are + # already published by Build_LinuxPortable_Release_x64 + additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:CLIBUILD_SKIP_TESTS=true' + linuxPortable: true + runTests: false + - template: /eng/build.yml + parameters: + agentOs: Linux + jobName: Build_LinuxPortable_Release_x64 + buildConfiguration: Release + buildArchitecture: x64 + linuxPortable: true + runTests: false + + # MacOS + + - template: /eng/build.yml + parameters: + agentOs: Darwin + jobName: Build_Release_x64 + buildConfiguration: Release + buildArchitecture: x64 + runTests: false + - template: /eng/build.yml + parameters: + agentOs: Darwin + jobName: Build_Release_arm64 + runtimeIdentifier: 'osx-arm64' + buildConfiguration: Release + buildArchitecture: arm64 + runTests: false + + ## Windows PGO Instrumentation builds + + - template: /eng/build.yml + parameters: + agentOs: Windows_NT + pgoInstrument: true + jobName: Build_Release_x64 + buildConfiguration: Release + buildArchitecture: x64 + additionalBuildParameters: '/p:PublishInternalAsset=true' + runTests: false + - template: /eng/build.yml + parameters: + agentOs: Windows_NT + pgoInstrument: true + jobName: Build_Release_x86 + buildConfiguration: Release + buildArchitecture: x86 + runTests: false + - template: /eng/build.yml + parameters: + agentOs: Windows_NT + pgoInstrument: true + jobName: Build_Release_arm64 + buildConfiguration: Release + buildArchitecture: arm64 + runTests: false + + ## Linux PGO Instrumentation builds + + - template: /eng/build.yml + parameters: + agentOs: Linux + pgoInstrument: true + jobName: Build_LinuxPortable_Release_x64 + buildConfiguration: Release + buildArchitecture: x64 + linuxPortable: true + runTests: false + + - template: /eng/build.yml + parameters: + agentOs: Linux + pgoInstrument: true + jobName: Build_Release_arm64 + buildConfiguration: Release + buildArchitecture: arm64 + linuxPortable: true + runTests: false - template: /eng/common/templates/jobs/source-build.yml @@ -337,53 +352,16 @@ stages: parameters: dependsOn: Source_Build_Create_Tarball - # https://github.com/dotnet/core-sdk/issues/248 - # - template: /eng/build.yml - # parameters: - # agentOs: FreeBSD - # queue: - # name: dnceng-freebsd-internal - # timeoutInMinutes: 180 - # matrix: - # Build_Release: - # _BuildConfig: Release - # _BuildArchitecture: 'x64' - # _AdditionalBuildParameters: '/p:DisableSourceLink=true /p:DISABLE_CROSSGEN=true' - - - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: +- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: + - stage: Publish + dependsOn: + - Build + jobs: - template: /eng/common/templates/job/publish-build-assets.yml parameters: - dependsOn: - - Windows_NT - - Linux - - Darwin - - Source_Build_Managed - - Source_Build_Create_Tarball publishUsingPipelines: true + publishAssetsImmediately: true pool: ${{ if eq(variables['System.TeamProject'], 'internal') }}: - name: NetCore1ESPool-Svc-Internal - demands: ImageOverride -equals windows.vs2017.amd64 - - -- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - template: eng\common\templates\post-build\post-build.yml - parameters: - publishingInfraVersion: 3 - enableSymbolValidation: false - enableSigningValidation: false - enableNugetValidation: false - enableSourceLinkValidation: false - publishInstallersAndChecksums: true - SDLValidationParameters: - enable: false - params: ' -SourceToolsList @("policheck","credscan") - -TsaInstanceURL $(_TsaInstanceURL) - -TsaProjectName $(_TsaProjectName) - -TsaNotificationEmail $(_TsaNotificationEmail) - -TsaCodebaseAdmin $(_TsaCodebaseAdmin) - -TsaBugAreaPath $(_TsaBugAreaPath) - -TsaIterationPath $(_TsaIterationPath) - -TsaRepositoryName "dotnet-installer" - -TsaCodebaseName "dotnet-installer" - -TsaPublish $True' + name: NetCore1ESPool-Internal + demands: ImageOverride -equals windows.vs2022.amd64 diff --git a/CODEOWNERS b/CODEOWNERS index 671ebdfe5..22fd91a94 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,8 +1,7 @@ # Users referenced in this file will automatically be requested as reviewers for PRs that modify the given paths. # See https://help.github.com/articles/about-code-owners/ -# Snaps - /.devcontainer/ @dotnet/source-build-internal /src/snaps/ @rbhanda /src/SourceBuild/ @dotnet/source-build-internal +/src/VirtualMonoRepo/ @dotnet/product-construction diff --git a/Directory.Build.props b/Directory.Build.props index b87eeccca..2b9d318a6 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -9,7 +9,7 @@ $([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant()) - $(BuildArchitecture) + $(BuildArchitecture) $(BuildArchitecture) $(BuildArchitecture) x64 diff --git a/Native.sln b/Native.sln index 7ce79b609..29bd74903 100644 --- a/Native.sln +++ b/Native.sln @@ -12,9 +12,11 @@ Global Debug|x86 = Debug|x86 Debug|x64 = Debug|x64 Debug|arm64 = Debug|arm64 + Debug|arm = Debug|arm Release|x86 = Release|x86 Release|x64 = Release|x64 Release|arm64 = Release|arm64 + Release|arm = Release|arm EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {688E2883-C5A9-4D66-A207-772C9160989C}.Debug|x86.ActiveCfg = Debug|x86 @@ -23,12 +25,16 @@ Global {688E2883-C5A9-4D66-A207-772C9160989C}.Debug|x64.Build.0 = Debug|x64 {688E2883-C5A9-4D66-A207-772C9160989C}.Debug|arm64.ActiveCfg = Debug|arm64 {688E2883-C5A9-4D66-A207-772C9160989C}.Debug|arm64.Build.0 = Debug|arm64 + {688E2883-C5A9-4D66-A207-772C9160989C}.Debug|arm.ActiveCfg = Debug|arm + {688E2883-C5A9-4D66-A207-772C9160989C}.Debug|arm.Build.0 = Debug|arm {688E2883-C5A9-4D66-A207-772C9160989C}.Release|x86.ActiveCfg = Release|x86 {688E2883-C5A9-4D66-A207-772C9160989C}.Release|x86.Build.0 = Release|x86 {688E2883-C5A9-4D66-A207-772C9160989C}.Release|x64.ActiveCfg = Release|x64 {688E2883-C5A9-4D66-A207-772C9160989C}.Release|x64.Build.0 = Release|x64 {688E2883-C5A9-4D66-A207-772C9160989C}.Release|arm64.ActiveCfg = Release|arm64 {688E2883-C5A9-4D66-A207-772C9160989C}.Release|arm64.Build.0 = Release|arm64 + {688E2883-C5A9-4D66-A207-772C9160989C}.Release|arm.ActiveCfg = Release|arm + {688E2883-C5A9-4D66-A207-772C9160989C}.Release|arm.Build.0 = Release|arm EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/NuGet.config b/NuGet.config index dbd29f96e..4842389f5 100644 --- a/NuGet.config +++ b/NuGet.config @@ -5,6 +5,11 @@ + + + + + @@ -17,6 +22,8 @@ + + diff --git a/README.md b/README.md index 686aa0dd7..ab1b77259 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ The dependencies for building .NET from source can be found [here](https://githu ./prep.sh ``` - On arm64, please use `./prep.sh --bootstrap` instead. This issue is being tracked [here](https://github.com/dotnet/source-build/issues/2758). + On arm64, please use `./prep.sh --bootstrap` instead. 3. Build the .NET SDK @@ -104,7 +104,7 @@ The dependencies for building .NET from source can be found [here](https://githu Visibility|All legs| |:------|:------| -|Public|[![Status](https://dev.azure.com/dnceng/public/_apis/build/status/176)](https://dev.azure.com/dnceng/public/_build?definitionId=176)| +|Public|[![Status](https://dev.azure.com/dnceng-public/public/_apis/build/status/20)](https://dev.azure.com/dnceng/public/_build?definitionId=20)| |Microsoft Internal|[![Status](https://dev.azure.com/dnceng/internal/_apis/build/status/286)](https://dev.azure.com/dnceng/internal/_build?definitionId=286)| ## Installers and Binaries @@ -115,9 +115,19 @@ You can download the .NET Core SDK as either an installer (MSI, PKG) or a zip (z want to install the latest released versions, check out the [preceding section](#looking-for-released-versions-of-the-net-core-tooling). With development builds, internal NuGet feeds are necessary for some scenarios (for example, to acquire the runtime pack for self-contained apps). You can use the following NuGet.config to configure these feeds. See the following document [Configuring NuGet behavior](https://docs.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior) for more information on where to modify your NuGet.config to apply the changes. +**For .NET 8 builds** + +```xml + + + + + +``` + **For .NET 7 builds** -``` +```xml @@ -125,46 +135,25 @@ With development builds, internal NuGet feeds are necessary for some scenarios ( ``` -**For .NET 6 builds** - -``` - - - - - -``` - -**For .NET 6 Optional workloads** -_The below feed is needed for 6.0 releases before RC1_ - -We strongly recommend using `--skip-manifest-update` with `dotnet workload install` as otherwise you could pick up a random build of various workloads as we'll automatically update to the newest one available on the feed. - -``` - - - - - -``` Please do not directly edit the table below. Use https://github.com/dotnet/installer/tree/main/tools/sdk-readme-table-generator to help you generate it. Make sure to run the table generator test and make any changes to the generator along with your changes to the table. Daily servicing builds have been removed as all servicing is done in private repos to avoid disclosure of critical security fixes. All public servicing builds can be downloaded at http://aka.ms/dotnet-download. ### Table +*Note* the 7.0.100 build will be finished internally. Below is the last public version available from that branch but is not fully updated with the final runtime. -| Platform | main
(7.0.x Runtime) | Release/7.0.1xx-preview7
(7.0.x Runtime) | Release/6.0.4XX
(6.0.x Runtime) | +| Platform | main
(8.0.x Runtime) | Release/7.0.2xx
(7.0.x Runtime) | Release/7.0.1xx
(7.0.x Runtime) | | :--------- | :----------: | :----------: | :----------: | -| **Windows x64** | [![][win-x64-badge-main]][win-x64-version-main]
[Installer][win-x64-installer-main] - [Checksum][win-x64-installer-checksum-main]
[zip][win-x64-zip-main] - [Checksum][win-x64-zip-checksum-main] | [![][win-x64-badge-7.0.1XX-preview7]][win-x64-version-7.0.1XX-preview7]
[Installer][win-x64-installer-7.0.1XX-preview7] - [Checksum][win-x64-installer-checksum-7.0.1XX-preview7]
[zip][win-x64-zip-7.0.1XX-preview7] - [Checksum][win-x64-zip-checksum-7.0.1XX-preview7] | [![][win-x64-badge-6.0.4XX]][win-x64-version-6.0.4XX]
[Installer][win-x64-installer-6.0.4XX] - [Checksum][win-x64-installer-checksum-6.0.4XX]
[zip][win-x64-zip-6.0.4XX] - [Checksum][win-x64-zip-checksum-6.0.4XX] | -| **Windows x86** | [![][win-x86-badge-main]][win-x86-version-main]
[Installer][win-x86-installer-main] - [Checksum][win-x86-installer-checksum-main]
[zip][win-x86-zip-main] - [Checksum][win-x86-zip-checksum-main] | [![][win-x86-badge-7.0.1XX-preview7]][win-x86-version-7.0.1XX-preview7]
[Installer][win-x86-installer-7.0.1XX-preview7] - [Checksum][win-x86-installer-checksum-7.0.1XX-preview7]
[zip][win-x86-zip-7.0.1XX-preview7] - [Checksum][win-x86-zip-checksum-7.0.1XX-preview7] | [![][win-x86-badge-6.0.4XX]][win-x86-version-6.0.4XX]
[Installer][win-x86-installer-6.0.4XX] - [Checksum][win-x86-installer-checksum-6.0.4XX]
[zip][win-x86-zip-6.0.4XX] - [Checksum][win-x86-zip-checksum-6.0.4XX] | +| **Windows x64** | [![][win-x64-badge-main]][win-x64-version-main]
[Installer][win-x64-installer-main] - [Checksum][win-x64-installer-checksum-main]
[zip][win-x64-zip-main] - [Checksum][win-x64-zip-checksum-main] | [![][win-x64-badge-7.0.2XX]][win-x64-version-7.0.2XX]
[Installer][win-x64-installer-7.0.2XX] - [Checksum][win-x64-installer-checksum-7.0.2XX]
[zip][win-x64-zip-7.0.2XX] - [Checksum][win-x64-zip-checksum-7.0.2XX] | [![][win-x64-badge-7.0.1XX]][win-x64-version-7.0.1XX]
[Installer][win-x64-installer-7.0.1XX] - [Checksum][win-x64-installer-checksum-7.0.1XX]
[zip][win-x64-zip-7.0.1XX] - [Checksum][win-x64-zip-checksum-7.0.1XX] | +| **Windows x86** | [![][win-x86-badge-main]][win-x86-version-main]
[Installer][win-x86-installer-main] - [Checksum][win-x86-installer-checksum-main]
[zip][win-x86-zip-main] - [Checksum][win-x86-zip-checksum-main] | [![][win-x86-badge-7.0.2XX]][win-x86-version-7.0.2XX]
[Installer][win-x86-installer-7.0.2XX] - [Checksum][win-x86-installer-checksum-7.0.2XX]
[zip][win-x86-zip-7.0.2XX] - [Checksum][win-x86-zip-checksum-7.0.2XX] | [![][win-x86-badge-7.0.1XX]][win-x86-version-7.0.1XX]
[Installer][win-x86-installer-7.0.1XX] - [Checksum][win-x86-installer-checksum-7.0.1XX]
[zip][win-x86-zip-7.0.1XX] - [Checksum][win-x86-zip-checksum-7.0.1XX] | | **Windows arm** | **N/A** | **N/A** | **N/A** | -| **Windows arm64** | [![][win-arm64-badge-main]][win-arm64-version-main]
[Installer][win-arm64-installer-main] - [Checksum][win-arm64-installer-checksum-main]
[zip][win-arm64-zip-main] | [![][win-arm64-badge-7.0.1XX-preview7]][win-arm64-version-7.0.1XX-preview7]
[Installer][win-arm64-installer-7.0.1XX-preview7] - [Checksum][win-arm64-installer-checksum-7.0.1XX-preview7]
[zip][win-arm64-zip-7.0.1XX-preview7] | [![][win-arm64-badge-6.0.4XX]][win-arm64-version-6.0.4XX]
[Installer][win-arm64-installer-6.0.4XX] - [Checksum][win-arm64-installer-checksum-6.0.4XX]
[zip][win-arm64-zip-6.0.4XX] | -| **macOS x64** | [![][osx-x64-badge-main]][osx-x64-version-main]
[Installer][osx-x64-installer-main] - [Checksum][osx-x64-installer-checksum-main]
[tar.gz][osx-x64-targz-main] - [Checksum][osx-x64-targz-checksum-main] | [![][osx-x64-badge-7.0.1XX-preview7]][osx-x64-version-7.0.1XX-preview7]
[Installer][osx-x64-installer-7.0.1XX-preview7] - [Checksum][osx-x64-installer-checksum-7.0.1XX-preview7]
[tar.gz][osx-x64-targz-7.0.1XX-preview7] - [Checksum][osx-x64-targz-checksum-7.0.1XX-preview7] | [![][osx-x64-badge-6.0.4XX]][osx-x64-version-6.0.4XX]
[Installer][osx-x64-installer-6.0.4XX] - [Checksum][osx-x64-installer-checksum-6.0.4XX]
[tar.gz][osx-x64-targz-6.0.4XX] - [Checksum][osx-x64-targz-checksum-6.0.4XX] | -| **macOS arm64** | [![][osx-arm64-badge-main]][osx-arm64-version-main]
[Installer][osx-arm64-installer-main] - [Checksum][osx-arm64-installer-checksum-main]
[tar.gz][osx-arm64-targz-main] - [Checksum][osx-arm64-targz-checksum-main] | [![][osx-arm64-badge-7.0.1XX-preview7]][osx-arm64-version-7.0.1XX-preview7]
[Installer][osx-arm64-installer-7.0.1XX-preview7] - [Checksum][osx-arm64-installer-checksum-7.0.1XX-preview7]
[tar.gz][osx-arm64-targz-7.0.1XX-preview7] - [Checksum][osx-arm64-targz-checksum-7.0.1XX-preview7] | [![][osx-arm64-badge-6.0.4XX]][osx-arm64-version-6.0.4XX]
[Installer][osx-arm64-installer-6.0.4XX] - [Checksum][osx-arm64-installer-checksum-6.0.4XX]
[tar.gz][osx-arm64-targz-6.0.4XX] - [Checksum][osx-arm64-targz-checksum-6.0.4XX] | -| **Linux x64** | [![][linux-badge-main]][linux-version-main]
[DEB Installer][linux-DEB-installer-main] - [Checksum][linux-DEB-installer-checksum-main]
[RPM Installer][linux-RPM-installer-main] - [Checksum][linux-RPM-installer-checksum-main]
_see installer note below_1
[tar.gz][linux-targz-main] - [Checksum][linux-targz-checksum-main] | [![][linux-badge-7.0.1XX-preview7]][linux-version-7.0.1XX-preview7]
[DEB Installer][linux-DEB-installer-7.0.1XX-preview7] - [Checksum][linux-DEB-installer-checksum-7.0.1XX-preview7]
[RPM Installer][linux-RPM-installer-7.0.1XX-preview7] - [Checksum][linux-RPM-installer-checksum-7.0.1XX-preview7]
_see installer note below_1
[tar.gz][linux-targz-7.0.1XX-preview7] - [Checksum][linux-targz-checksum-7.0.1XX-preview7] | [![][linux-badge-6.0.4XX]][linux-version-6.0.4XX]
[DEB Installer][linux-DEB-installer-6.0.4XX] - [Checksum][linux-DEB-installer-checksum-6.0.4XX]
[RPM Installer][linux-RPM-installer-6.0.4XX] - [Checksum][linux-RPM-installer-checksum-6.0.4XX]
_see installer note below_1
[tar.gz][linux-targz-6.0.4XX] - [Checksum][linux-targz-checksum-6.0.4XX] | -| **Linux arm** | [![][linux-arm-badge-main]][linux-arm-version-main]
[tar.gz][linux-arm-targz-main] - [Checksum][linux-arm-targz-checksum-main] | [![][linux-arm-badge-7.0.1XX-preview7]][linux-arm-version-7.0.1XX-preview7]
[tar.gz][linux-arm-targz-7.0.1XX-preview7] - [Checksum][linux-arm-targz-checksum-7.0.1XX-preview7] | [![][linux-arm-badge-6.0.4XX]][linux-arm-version-6.0.4XX]
[tar.gz][linux-arm-targz-6.0.4XX] - [Checksum][linux-arm-targz-checksum-6.0.4XX] | -| **Linux arm64** | [![][linux-arm64-badge-main]][linux-arm64-version-main]
[tar.gz][linux-arm64-targz-main] - [Checksum][linux-arm64-targz-checksum-main] | [![][linux-arm64-badge-7.0.1XX-preview7]][linux-arm64-version-7.0.1XX-preview7]
[tar.gz][linux-arm64-targz-7.0.1XX-preview7] - [Checksum][linux-arm64-targz-checksum-7.0.1XX-preview7] | [![][linux-arm64-badge-6.0.4XX]][linux-arm64-version-6.0.4XX]
[tar.gz][linux-arm64-targz-6.0.4XX] - [Checksum][linux-arm64-targz-checksum-6.0.4XX] | -| **Linux-musl-x64** | [![][linux-musl-x64-badge-main]][linux-musl-x64-version-main]
[tar.gz][linux-musl-x64-targz-main] - [Checksum][linux-musl-x64-targz-checksum-main] | [![][linux-musl-x64-badge-7.0.1XX-preview7]][linux-musl-x64-version-7.0.1XX-preview7]
[tar.gz][linux-musl-x64-targz-7.0.1XX-preview7] - [Checksum][linux-musl-x64-targz-checksum-7.0.1XX-preview7] | [![][linux-musl-x64-badge-6.0.4XX]][linux-musl-x64-version-6.0.4XX]
[tar.gz][linux-musl-x64-targz-6.0.4XX] - [Checksum][linux-musl-x64-targz-checksum-6.0.4XX] | -| **Linux-musl-arm** | [![][linux-musl-arm-badge-main]][linux-musl-arm-version-main]
[tar.gz][linux-musl-arm-targz-main] - [Checksum][linux-musl-arm-targz-checksum-main] | [![][linux-musl-arm-badge-7.0.1XX-preview7]][linux-musl-arm-version-7.0.1XX-preview7]
[tar.gz][linux-musl-arm-targz-7.0.1XX-preview7] - [Checksum][linux-musl-arm-targz-checksum-7.0.1XX-preview7] | [![][linux-musl-arm-badge-6.0.4XX]][linux-musl-arm-version-6.0.4XX]
[tar.gz][linux-musl-arm-targz-6.0.4XX] - [Checksum][linux-musl-arm-targz-checksum-6.0.4XX] | -| **Linux-musl-arm64** | [![][linux-musl-arm64-badge-main]][linux-musl-arm64-version-main]
[tar.gz][linux-musl-arm64-targz-main] - [Checksum][linux-musl-arm64-targz-checksum-main] | [![][linux-musl-arm64-badge-7.0.1XX-preview7]][linux-musl-arm64-version-7.0.1XX-preview7]
[tar.gz][linux-musl-arm64-targz-7.0.1XX-preview7] - [Checksum][linux-musl-arm64-targz-checksum-7.0.1XX-preview7] | [![][linux-musl-arm64-badge-6.0.4XX]][linux-musl-arm64-version-6.0.4XX]
[tar.gz][linux-musl-arm64-targz-6.0.4XX] - [Checksum][linux-musl-arm64-targz-checksum-6.0.4XX] | +| **Windows arm64** | [![][win-arm64-badge-main]][win-arm64-version-main]
[Installer][win-arm64-installer-main] - [Checksum][win-arm64-installer-checksum-main]
[zip][win-arm64-zip-main] | [![][win-arm64-badge-7.0.2XX]][win-arm64-version-7.0.2XX]
[Installer][win-arm64-installer-7.0.2XX] - [Checksum][win-arm64-installer-checksum-7.0.2XX]
[zip][win-arm64-zip-7.0.2XX] | [![][win-arm64-badge-7.0.1XX]][win-arm64-version-7.0.1XX]
[Installer][win-arm64-installer-7.0.1XX] - [Checksum][win-arm64-installer-checksum-7.0.1XX]
[zip][win-arm64-zip-7.0.1XX] | +| **macOS x64** | [![][osx-x64-badge-main]][osx-x64-version-main]
[Installer][osx-x64-installer-main] - [Checksum][osx-x64-installer-checksum-main]
[tar.gz][osx-x64-targz-main] - [Checksum][osx-x64-targz-checksum-main] | [![][osx-x64-badge-7.0.2XX]][osx-x64-version-7.0.2XX]
[Installer][osx-x64-installer-7.0.2XX] - [Checksum][osx-x64-installer-checksum-7.0.2XX]
[tar.gz][osx-x64-targz-7.0.2XX] - [Checksum][osx-x64-targz-checksum-7.0.2XX] | [![][osx-x64-badge-7.0.1XX]][osx-x64-version-7.0.1XX]
[Installer][osx-x64-installer-7.0.1XX] - [Checksum][osx-x64-installer-checksum-7.0.1XX]
[tar.gz][osx-x64-targz-7.0.1XX] - [Checksum][osx-x64-targz-checksum-7.0.1XX] | +| **macOS arm64** | [![][osx-arm64-badge-main]][osx-arm64-version-main]
[Installer][osx-arm64-installer-main] - [Checksum][osx-arm64-installer-checksum-main]
[tar.gz][osx-arm64-targz-main] - [Checksum][osx-arm64-targz-checksum-main] | [![][osx-arm64-badge-7.0.2XX]][osx-arm64-version-7.0.2XX]
[Installer][osx-arm64-installer-7.0.2XX] - [Checksum][osx-arm64-installer-checksum-7.0.2XX]
[tar.gz][osx-arm64-targz-7.0.2XX] - [Checksum][osx-arm64-targz-checksum-7.0.2XX] | [![][osx-arm64-badge-7.0.1XX]][osx-arm64-version-7.0.1XX]
[Installer][osx-arm64-installer-7.0.1XX] - [Checksum][osx-arm64-installer-checksum-7.0.1XX]
[tar.gz][osx-arm64-targz-7.0.1XX] - [Checksum][osx-arm64-targz-checksum-7.0.1XX] | +| **Linux x64** | [![][linux-badge-main]][linux-version-main]
[DEB Installer][linux-DEB-installer-main] - [Checksum][linux-DEB-installer-checksum-main]
[RPM Installer][linux-RPM-installer-main] - [Checksum][linux-RPM-installer-checksum-main]
_see installer note below_1
[tar.gz][linux-targz-main] - [Checksum][linux-targz-checksum-main] | [![][linux-badge-7.0.2XX]][linux-version-7.0.2XX]
[DEB Installer][linux-DEB-installer-7.0.2XX] - [Checksum][linux-DEB-installer-checksum-7.0.2XX]
[RPM Installer][linux-RPM-installer-7.0.2XX] - [Checksum][linux-RPM-installer-checksum-7.0.2XX]
_see installer note below_1
[tar.gz][linux-targz-7.0.2XX] - [Checksum][linux-targz-checksum-7.0.2XX] | [![][linux-badge-7.0.1XX]][linux-version-7.0.1XX]
[DEB Installer][linux-DEB-installer-7.0.1XX] - [Checksum][linux-DEB-installer-checksum-7.0.1XX]
[RPM Installer][linux-RPM-installer-7.0.1XX] - [Checksum][linux-RPM-installer-checksum-7.0.1XX]
_see installer note below_1
[tar.gz][linux-targz-7.0.1XX] - [Checksum][linux-targz-checksum-7.0.1XX] | +| **Linux arm** | [![][linux-arm-badge-main]][linux-arm-version-main]
[tar.gz][linux-arm-targz-main] - [Checksum][linux-arm-targz-checksum-main] | [![][linux-arm-badge-7.0.2XX]][linux-arm-version-7.0.2XX]
[tar.gz][linux-arm-targz-7.0.2XX] - [Checksum][linux-arm-targz-checksum-7.0.2XX] | [![][linux-arm-badge-7.0.1XX]][linux-arm-version-7.0.1XX]
[tar.gz][linux-arm-targz-7.0.1XX] - [Checksum][linux-arm-targz-checksum-7.0.1XX] | +| **Linux arm64** | [![][linux-arm64-badge-main]][linux-arm64-version-main]
[tar.gz][linux-arm64-targz-main] - [Checksum][linux-arm64-targz-checksum-main] | [![][linux-arm64-badge-7.0.2XX]][linux-arm64-version-7.0.2XX]
[tar.gz][linux-arm64-targz-7.0.2XX] - [Checksum][linux-arm64-targz-checksum-7.0.2XX] | [![][linux-arm64-badge-7.0.1XX]][linux-arm64-version-7.0.1XX]
[tar.gz][linux-arm64-targz-7.0.1XX] - [Checksum][linux-arm64-targz-checksum-7.0.1XX] | +| **Linux-musl-x64** | [![][linux-musl-x64-badge-main]][linux-musl-x64-version-main]
[tar.gz][linux-musl-x64-targz-main] - [Checksum][linux-musl-x64-targz-checksum-main] | [![][linux-musl-x64-badge-7.0.2XX]][linux-musl-x64-version-7.0.2XX]
[tar.gz][linux-musl-x64-targz-7.0.2XX] - [Checksum][linux-musl-x64-targz-checksum-7.0.2XX] | [![][linux-musl-x64-badge-7.0.1XX]][linux-musl-x64-version-7.0.1XX]
[tar.gz][linux-musl-x64-targz-7.0.1XX] - [Checksum][linux-musl-x64-targz-checksum-7.0.1XX] | +| **Linux-musl-arm** | [![][linux-musl-arm-badge-main]][linux-musl-arm-version-main]
[tar.gz][linux-musl-arm-targz-main] - [Checksum][linux-musl-arm-targz-checksum-main] | [![][linux-musl-arm-badge-7.0.2XX]][linux-musl-arm-version-7.0.2XX]
[tar.gz][linux-musl-arm-targz-7.0.2XX] - [Checksum][linux-musl-arm-targz-checksum-7.0.2XX] | [![][linux-musl-arm-badge-7.0.1XX]][linux-musl-arm-version-7.0.1XX]
[tar.gz][linux-musl-arm-targz-7.0.1XX] - [Checksum][linux-musl-arm-targz-checksum-7.0.1XX] | +| **Linux-musl-arm64** | [![][linux-musl-arm64-badge-main]][linux-musl-arm64-version-main]
[tar.gz][linux-musl-arm64-targz-main] - [Checksum][linux-musl-arm64-targz-checksum-main] | [![][linux-musl-arm64-badge-7.0.2XX]][linux-musl-arm64-version-7.0.2XX]
[tar.gz][linux-musl-arm64-targz-7.0.2XX] - [Checksum][linux-musl-arm64-targz-checksum-7.0.2XX] | [![][linux-musl-arm64-badge-7.0.1XX]][linux-musl-arm64-version-7.0.1XX]
[tar.gz][linux-musl-arm64-targz-7.0.1XX] - [Checksum][linux-musl-arm64-targz-checksum-7.0.1XX] | | **RHEL 6** | **N/A** | **N/A** | **N/A** | Reference notes: @@ -174,245 +163,246 @@ Reference notes: .NET Core SDK 2.x downloads can be found here: [.NET Core SDK 2.x Installers and Binaries](Downloads2.x.md) -[win-x64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/win_x64_Release_version_badge.svg -[win-x64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-win-x64.txt -[win-x64-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x64.exe -[win-x64-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x64.exe.sha -[win-x64-zip-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x64.zip -[win-x64-zip-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x64.zip.sha +[win-x64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/win_x64_Release_version_badge.svg +[win-x64-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-win-x64.txt +[win-x64-installer-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-x64.exe +[win-x64-installer-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-x64.exe.sha +[win-x64-zip-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-x64.zip +[win-x64-zip-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-x64.zip.sha -[win-x64-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/win_x64_Release_version_badge.svg -[win-x64-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-win-x64.txt -[win-x64-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x64.exe -[win-x64-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x64.exe.sha -[win-x64-zip-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x64.zip -[win-x64-zip-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x64.zip.sha +[win-x64-badge-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/win_x64_Release_version_badge.svg +[win-x64-version-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/productCommit-win-x64.txt +[win-x64-installer-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-x64.exe +[win-x64-installer-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-x64.exe.sha +[win-x64-zip-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-x64.zip +[win-x64-zip-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-x64.zip.sha -[win-x64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/win_x64_Release_version_badge.svg -[win-x64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-win-x64.txt -[win-x64-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x64.exe -[win-x64-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x64.exe.sha -[win-x64-zip-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x64.zip -[win-x64-zip-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x64.zip.sha +[win-x64-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/win_x64_Release_version_badge.svg +[win-x64-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-win-x64.txt +[win-x64-installer-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x64.exe +[win-x64-installer-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x64.exe.sha +[win-x64-zip-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x64.zip +[win-x64-zip-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x64.zip.sha -[win-x86-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/win_x86_Release_version_badge.svg -[win-x86-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-win-x86.txt -[win-x86-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.exe -[win-x86-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.exe.sha -[win-x86-zip-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.zip -[win-x86-zip-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.zip.sha +[win-x86-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/win_x86_Release_version_badge.svg +[win-x86-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-win-x86.txt +[win-x86-installer-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-x86.exe +[win-x86-installer-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-x86.exe.sha +[win-x86-zip-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-x86.zip +[win-x86-zip-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-x86.zip.sha -[win-x86-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/win_x86_Release_version_badge.svg -[win-x86-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-win-x86.txt -[win-x86-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x86.exe -[win-x86-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x86.exe.sha -[win-x86-zip-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x86.zip -[win-x86-zip-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x86.zip.sha +[win-x86-badge-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/win_x86_Release_version_badge.svg +[win-x86-version-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/productCommit-win-x86.txt +[win-x86-installer-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-x86.exe +[win-x86-installer-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-x86.exe.sha +[win-x86-zip-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-x86.zip +[win-x86-zip-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-x86.zip.sha -[win-x86-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/win_x86_Release_version_badge.svg -[win-x86-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-win-x86.txt -[win-x86-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x86.exe -[win-x86-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x86.exe.sha -[win-x86-zip-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x86.zip -[win-x86-zip-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x86.zip.sha +[win-x86-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/win_x86_Release_version_badge.svg +[win-x86-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-win-x86.txt +[win-x86-installer-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.exe +[win-x86-installer-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.exe.sha +[win-x86-zip-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.zip +[win-x86-zip-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.zip.sha -[osx-x64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/osx_x64_Release_version_badge.svg -[osx-x64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-osx-x64.txt -[osx-x64-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.pkg -[osx-x64-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.pkg.sha -[osx-x64-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.tar.gz -[osx-x64-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha +[osx-x64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/osx_x64_Release_version_badge.svg +[osx-x64-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-osx-x64.txt +[osx-x64-installer-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-osx-x64.pkg +[osx-x64-installer-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-osx-x64.pkg.sha +[osx-x64-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-osx-x64.tar.gz +[osx-x64-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha -[osx-x64-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/osx_x64_Release_version_badge.svg -[osx-x64-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-osx-x64.txt -[osx-x64-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-x64.pkg -[osx-x64-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-x64.pkg.sha -[osx-x64-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-x64.tar.gz -[osx-x64-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha +[osx-x64-badge-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/osx_x64_Release_version_badge.svg +[osx-x64-version-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/productCommit-osx-x64.txt +[osx-x64-installer-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-osx-x64.pkg +[osx-x64-installer-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-osx-x64.pkg.sha +[osx-x64-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-osx-x64.tar.gz +[osx-x64-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha -[osx-x64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/osx_x64_Release_version_badge.svg -[osx-x64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-osx-x64.txt -[osx-x64-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-x64.pkg -[osx-x64-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-x64.pkg.sha -[osx-x64-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-x64.tar.gz -[osx-x64-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha +[osx-x64-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/osx_x64_Release_version_badge.svg +[osx-x64-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-osx-x64.txt +[osx-x64-installer-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.pkg +[osx-x64-installer-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.pkg.sha +[osx-x64-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.tar.gz +[osx-x64-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha -[osx-arm64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/osx_arm64_Release_version_badge.svg -[osx-arm64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-osx-arm64.txt -[osx-arm64-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.pkg -[osx-arm64-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.pkg.sha -[osx-arm64-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.tar.gz -[osx-arm64-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha +[osx-arm64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/osx_arm64_Release_version_badge.svg +[osx-arm64-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-osx-arm64.txt +[osx-arm64-installer-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-osx-arm64.pkg +[osx-arm64-installer-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-osx-arm64.pkg.sha +[osx-arm64-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-osx-arm64.tar.gz +[osx-arm64-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha -[osx-arm64-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/osx_arm64_Release_version_badge.svg -[osx-arm64-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-osx-arm64.txt -[osx-arm64-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-arm64.pkg -[osx-arm64-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-arm64.pkg.sha -[osx-arm64-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-arm64.tar.gz -[osx-arm64-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha +[osx-arm64-badge-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/osx_arm64_Release_version_badge.svg +[osx-arm64-version-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/productCommit-osx-arm64.txt +[osx-arm64-installer-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-osx-arm64.pkg +[osx-arm64-installer-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-osx-arm64.pkg.sha +[osx-arm64-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-osx-arm64.tar.gz +[osx-arm64-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha -[osx-arm64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/osx_arm64_Release_version_badge.svg -[osx-arm64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-osx-arm64.txt -[osx-arm64-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-arm64.pkg -[osx-arm64-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-arm64.pkg.sha -[osx-arm64-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-arm64.tar.gz -[osx-arm64-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha +[osx-arm64-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/osx_arm64_Release_version_badge.svg +[osx-arm64-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-osx-arm64.txt +[osx-arm64-installer-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.pkg +[osx-arm64-installer-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.pkg.sha +[osx-arm64-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.tar.gz +[osx-arm64-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha -[linux-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/linux_x64_Release_version_badge.svg -[linux-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-x64.txt -[linux-DEB-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.deb -[linux-DEB-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.deb.sha -[linux-RPM-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.rpm -[linux-RPM-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.rpm.sha -[linux-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz -[linux-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz.sha +[linux-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_x64_Release_version_badge.svg +[linux-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-linux-x64.txt +[linux-DEB-installer-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-x64.deb +[linux-DEB-installer-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-x64.deb.sha +[linux-RPM-installer-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-x64.rpm +[linux-RPM-installer-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-x64.rpm.sha +[linux-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz +[linux-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz.sha -[linux-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/linux_x64_Release_version_badge.svg -[linux-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-linux-x64.txt -[linux-DEB-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-x64.deb -[linux-DEB-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-x64.deb.sha -[linux-RPM-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-x64.rpm -[linux-RPM-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-x64.rpm.sha -[linux-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-x64.tar.gz -[linux-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-x64.tar.gz.sha +[linux-badge-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/linux_x64_Release_version_badge.svg +[linux-version-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/productCommit-linux-x64.txt +[linux-DEB-installer-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-x64.deb +[linux-DEB-installer-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-x64.deb.sha +[linux-RPM-installer-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-x64.rpm +[linux-RPM-installer-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-x64.rpm.sha +[linux-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-x64.tar.gz +[linux-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-x64.tar.gz.sha -[linux-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/linux_x64_Release_version_badge.svg -[linux-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-linux-x64.txt -[linux-DEB-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-x64.deb -[linux-DEB-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-x64.deb.sha -[linux-RPM-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-x64.rpm -[linux-RPM-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-x64.rpm.sha -[linux-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-x64.tar.gz -[linux-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-x64.tar.gz.sha +[linux-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/linux_x64_Release_version_badge.svg +[linux-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-x64.txt +[linux-DEB-installer-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.deb +[linux-DEB-installer-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.deb.sha +[linux-RPM-installer-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.rpm +[linux-RPM-installer-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.rpm.sha +[linux-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz +[linux-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz.sha -[linux-arm-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/linux_arm_Release_version_badge.svg -[linux-arm-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-arm.txt -[linux-arm-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz -[linux-arm-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz.sha +[linux-arm-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_arm_Release_version_badge.svg +[linux-arm-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-linux-arm.txt +[linux-arm-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz +[linux-arm-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz.sha -[linux-arm-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/linux_arm_Release_version_badge.svg -[linux-arm-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-linux-arm.txt -[linux-arm-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-arm.tar.gz -[linux-arm-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-arm.tar.gz.sha +[linux-arm-badge-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/linux_arm_Release_version_badge.svg +[linux-arm-version-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/productCommit-linux-arm.txt +[linux-arm-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-arm.tar.gz +[linux-arm-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-arm.tar.gz.sha -[linux-arm-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/linux_arm_Release_version_badge.svg -[linux-arm-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-linux-arm.txt -[linux-arm-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-arm.tar.gz -[linux-arm-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-arm.tar.gz.sha +[linux-arm-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/linux_arm_Release_version_badge.svg +[linux-arm-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-arm.txt +[linux-arm-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz +[linux-arm-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz.sha -[linux-arm64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/linux_arm64_Release_version_badge.svg -[linux-arm64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-arm64.txt -[linux-arm64-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz -[linux-arm64-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz.sha +[linux-arm64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_arm64_Release_version_badge.svg +[linux-arm64-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-linux-arm64.txt +[linux-arm64-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz +[linux-arm64-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz.sha -[linux-arm64-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/linux_arm64_Release_version_badge.svg -[linux-arm64-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-linux-arm64.txt -[linux-arm64-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-arm64.tar.gz -[linux-arm64-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-arm64.tar.gz.sha +[linux-arm64-badge-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/linux_arm64_Release_version_badge.svg +[linux-arm64-version-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/productCommit-linux-arm64.txt +[linux-arm64-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-arm64.tar.gz +[linux-arm64-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-arm64.tar.gz.sha -[linux-arm64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/linux_arm64_Release_version_badge.svg -[linux-arm64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-linux-arm64.txt -[linux-arm64-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-arm64.tar.gz -[linux-arm64-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-arm64.tar.gz.sha +[linux-arm64-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/linux_arm64_Release_version_badge.svg +[linux-arm64-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-arm64.txt +[linux-arm64-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz +[linux-arm64-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz.sha -[rhel-6-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/rhel.6_x64_Release_version_badge.svg -[rhel-6-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-rhel.6-x64.txt -[rhel-6-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz -[rhel-6-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha +[rhel-6-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/rhel.6_x64_Release_version_badge.svg +[rhel-6-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-rhel.6-x64.txt +[rhel-6-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz +[rhel-6-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha -[rhel-6-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/rhel.6_x64_Release_version_badge.svg -[rhel-6-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-rhel.6-x64.txt -[rhel-6-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-rhel.6-x64.tar.gz -[rhel-6-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha +[rhel-6-badge-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/rhel.6_x64_Release_version_badge.svg +[rhel-6-version-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/productCommit-rhel.6-x64.txt +[rhel-6-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-rhel.6-x64.tar.gz +[rhel-6-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha -[rhel-6-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/rhel.6_x64_Release_version_badge.svg -[rhel-6-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-rhel.6-x64.txt -[rhel-6-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-rhel.6-x64.tar.gz -[rhel-6-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha +[rhel-6-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/rhel.6_x64_Release_version_badge.svg +[rhel-6-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-rhel.6-x64.txt +[rhel-6-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz +[rhel-6-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha -[linux-musl-x64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/linux_musl_x64_Release_version_badge.svg -[linux-musl-x64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-musl-x64.txt -[linux-musl-x64-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz -[linux-musl-x64-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha +[linux-musl-x64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_musl_x64_Release_version_badge.svg +[linux-musl-x64-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-linux-musl-x64.txt +[linux-musl-x64-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz +[linux-musl-x64-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha -[linux-musl-x64-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/linux_musl_x64_Release_version_badge.svg -[linux-musl-x64-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-linux-musl-x64.txt -[linux-musl-x64-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-musl-x64.tar.gz -[linux-musl-x64-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha +[linux-musl-x64-badge-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/linux_musl_x64_Release_version_badge.svg +[linux-musl-x64-version-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/productCommit-linux-musl-x64.txt +[linux-musl-x64-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-musl-x64.tar.gz +[linux-musl-x64-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha -[linux-musl-x64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/linux_musl_x64_Release_version_badge.svg -[linux-musl-x64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-linux-musl-x64.txt -[linux-musl-x64-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-musl-x64.tar.gz -[linux-musl-x64-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha +[linux-musl-x64-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/linux_musl_x64_Release_version_badge.svg +[linux-musl-x64-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-musl-x64.txt +[linux-musl-x64-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz +[linux-musl-x64-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha -[linux-musl-arm-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/linux_musl_arm_Release_version_badge.svg -[linux-musl-arm-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-musl-arm.txt -[linux-musl-arm-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz -[linux-musl-arm-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha +[linux-musl-arm-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_musl_arm_Release_version_badge.svg +[linux-musl-arm-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-linux-musl-arm.txt +[linux-musl-arm-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz +[linux-musl-arm-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha -[linux-musl-arm-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/linux_musl_arm_Release_version_badge.svg -[linux-musl-arm-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-linux-musl-arm.txt -[linux-musl-arm-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-musl-arm.tar.gz -[linux-musl-arm-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha +[linux-musl-arm-badge-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/linux_musl_arm_Release_version_badge.svg +[linux-musl-arm-version-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/productCommit-linux-musl-arm.txt +[linux-musl-arm-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-musl-arm.tar.gz +[linux-musl-arm-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha -[linux-musl-arm-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/linux_musl_arm_Release_version_badge.svg -[linux-musl-arm-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-linux-musl-arm.txt -[linux-musl-arm-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-musl-arm.tar.gz -[linux-musl-arm-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha +[linux-musl-arm-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/linux_musl_arm_Release_version_badge.svg +[linux-musl-arm-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-musl-arm.txt +[linux-musl-arm-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz +[linux-musl-arm-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha -[linux-musl-arm64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/linux_musl_arm64_Release_version_badge.svg -[linux-musl-arm64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-musl-arm64.txt -[linux-musl-arm64-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz -[linux-musl-arm64-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha +[linux-musl-arm64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/linux_musl_arm64_Release_version_badge.svg +[linux-musl-arm64-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-linux-musl-arm64.txt +[linux-musl-arm64-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz +[linux-musl-arm64-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha -[linux-musl-arm64-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/linux_musl_arm64_Release_version_badge.svg -[linux-musl-arm64-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-linux-musl-arm64.txt -[linux-musl-arm64-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-musl-arm64.tar.gz -[linux-musl-arm64-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha +[linux-musl-arm64-badge-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/linux_musl_arm64_Release_version_badge.svg +[linux-musl-arm64-version-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/productCommit-linux-musl-arm64.txt +[linux-musl-arm64-targz-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz +[linux-musl-arm64-targz-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha -[linux-musl-arm64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/linux_musl_arm64_Release_version_badge.svg -[linux-musl-arm64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-linux-musl-arm64.txt -[linux-musl-arm64-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz -[linux-musl-arm64-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha +[linux-musl-arm64-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/linux_musl_arm64_Release_version_badge.svg +[linux-musl-arm64-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-musl-arm64.txt +[linux-musl-arm64-targz-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz +[linux-musl-arm64-targz-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha -[win-arm-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/win_arm_Release_version_badge.svg -[win-arm-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-win-arm.txt -[win-arm-zip-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm.zip -[win-arm-zip-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm.zip.sha +[win-arm-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/win_arm_Release_version_badge.svg +[win-arm-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-win-arm.txt +[win-arm-zip-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-arm.zip +[win-arm-zip-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-arm.zip.sha -[win-arm-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/win_arm_Release_version_badge.svg -[win-arm-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-win-arm.txt -[win-arm-zip-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-arm.zip -[win-arm-zip-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-arm.zip.sha +[win-arm-badge-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/win_arm_Release_version_badge.svg +[win-arm-version-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/productCommit-win-arm.txt +[win-arm-zip-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-arm.zip +[win-arm-zip-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-arm.zip.sha -[win-arm-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/win_arm_Release_version_badge.svg -[win-arm-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-win-arm.txt -[win-arm-zip-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-arm.zip -[win-arm-zip-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-arm.zip.sha +[win-arm-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/win_arm_Release_version_badge.svg +[win-arm-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-win-arm.txt +[win-arm-zip-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm.zip +[win-arm-zip-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm.zip.sha -[win-arm64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/win_arm64_Release_version_badge.svg -[win-arm64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-win-arm64.txt -[win-arm64-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.exe -[win-arm64-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.exe.sha -[win-arm64-zip-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.zip -[win-arm64-zip-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.zip.sha +[win-arm64-badge-main]: https://aka.ms/dotnet/8.0.1xx/daily/win_arm64_Release_version_badge.svg +[win-arm64-version-main]: https://aka.ms/dotnet/8.0.1xx/daily/productCommit-win-arm64.txt +[win-arm64-installer-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-arm64.exe +[win-arm64-installer-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-arm64.exe.sha +[win-arm64-zip-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-arm64.zip +[win-arm64-zip-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-arm64.zip.sha -[win-arm64-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/win_arm64_Release_version_badge.svg -[win-arm64-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-win-arm64.txt -[win-arm64-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-arm64.exe -[win-arm64-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-arm64.exe.sha -[win-arm64-zip-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-arm64.zip -[win-arm64-zip-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-arm64.zip.sha +[win-arm64-badge-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/win_arm64_Release_version_badge.svg +[win-arm64-version-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/productCommit-win-arm64.txt +[win-arm64-installer-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-arm64.exe +[win-arm64-installer-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-arm64.exe.sha +[win-arm64-zip-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-arm64.zip +[win-arm64-zip-checksum-7.0.2XX]: https://aka.ms/dotnet/7.0.2xx/daily/dotnet-sdk-win-arm64.zip.sha -[win-arm64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/win_arm64_Release_version_badge.svg -[win-arm64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-win-arm64.txt -[win-arm64-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-arm64.exe -[win-arm64-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-arm64.exe.sha -[win-arm64-zip-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-arm64.zip -[win-arm64-zip-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-arm64.zip.sha +[win-arm64-badge-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/win_arm64_Release_version_badge.svg +[win-arm64-version-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-win-arm64.txt +[win-arm64-installer-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.exe +[win-arm64-installer-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.exe.sha +[win-arm64-zip-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.zip +[win-arm64-zip-checksum-7.0.1XX]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.zip.sha [sdk-shas-2.2.1XX]: https://github.com/dotnet/versions/tree/master/build-info/dotnet/product/cli/release/2.2#built-repositories + Looking for dotnet-install sources? ----------------------------------- @@ -421,7 +411,7 @@ Sources for dotnet-install.sh and dotnet-install.ps1 are in the [install-scripts Questions & Comments -------------------- -For all feedback, use the Issues on the [.NET CLI](https://github.com/dotnet/cli) repository. +For all feedback, use the Issues on the [.NET SDK](https://github.com/dotnet/sdk) repository. License ------- diff --git a/TestAssets/TestProjects/UseCswinrt/consolecswinrt.csproj b/TestAssets/TestProjects/UseCswinrt/consolecswinrt.csproj index 1ae6518fc..35e8e88e2 100644 --- a/TestAssets/TestProjects/UseCswinrt/consolecswinrt.csproj +++ b/TestAssets/TestProjects/UseCswinrt/consolecswinrt.csproj @@ -1,7 +1,7 @@ Exe - net7.0 + net8.0 Windows diff --git a/build.sh b/build.sh index 7ff647c40..d65f55854 100755 --- a/build.sh +++ b/build.sh @@ -29,11 +29,6 @@ args= while [[ $# > 0 ]]; do lowerI="$(echo $1 | awk '{print tolower($0)}')" case $lowerI in - --docker) - export BUILD_IN_DOCKER=1 - export DOCKER_IMAGENAME=$2 - shift - ;; --noprettyprint) export DOTNET_CORESDK_NOPRETTYPRINT=1 ;; @@ -44,14 +39,4 @@ while [[ $# > 0 ]]; do shift done -dockerbuild() -{ - BUILD_COMMAND=$DIR/run-build.sh $DIR/eng/dockerrun.sh --non-interactive "$@" -} - -# Check if we need to build in docker -if [ ! -z "$BUILD_IN_DOCKER" ]; then - dockerbuild $args -else - $DIR/run-build.sh $args -fi +$DIR/run-build.sh $args diff --git a/eng/Build.props b/eng/Build.props index 4df683bab..ed33d0bbf 100644 --- a/eng/Build.props +++ b/eng/Build.props @@ -1,12 +1,30 @@ - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 7f980082c..d964c0132 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,46 +1,46 @@ - + https://github.com/dotnet/windowsdesktop - ae2bcebe032a50af14ac0b05efcaa8477b049834 + 9162860562ca3b6a02d2d5683c12a668058727d8 - + https://github.com/dotnet/windowsdesktop - ae2bcebe032a50af14ac0b05efcaa8477b049834 + 9162860562ca3b6a02d2d5683c12a668058727d8 - + https://github.com/dotnet/windowsdesktop - ae2bcebe032a50af14ac0b05efcaa8477b049834 + 9162860562ca3b6a02d2d5683c12a668058727d8 - + https://github.com/dotnet/windowsdesktop - ae2bcebe032a50af14ac0b05efcaa8477b049834 + 9162860562ca3b6a02d2d5683c12a668058727d8 - + https://github.com/dotnet/runtime - 5147f6fc78520db322118cc8287651cb54a506df + dd7fdb723d91c2c6cb7efc3d95f9d95ee86d48c8 - + https://github.com/dotnet/runtime - 5147f6fc78520db322118cc8287651cb54a506df + dd7fdb723d91c2c6cb7efc3d95f9d95ee86d48c8 - + https://github.com/dotnet/runtime - 5147f6fc78520db322118cc8287651cb54a506df + dd7fdb723d91c2c6cb7efc3d95f9d95ee86d48c8 - + https://github.com/dotnet/runtime - 5147f6fc78520db322118cc8287651cb54a506df + dd7fdb723d91c2c6cb7efc3d95f9d95ee86d48c8 - + https://github.com/dotnet/runtime - 5147f6fc78520db322118cc8287651cb54a506df + dd7fdb723d91c2c6cb7efc3d95f9d95ee86d48c8 - + https://github.com/dotnet/runtime - 5147f6fc78520db322118cc8287651cb54a506df + dd7fdb723d91c2c6cb7efc3d95f9d95ee86d48c8 @@ -48,38 +48,38 @@ https://github.com/dotnet/core-setup 7d57652f33493fa022125b7f63aad0d70c52d810 - + https://github.com/dotnet/runtime - 5147f6fc78520db322118cc8287651cb54a506df + dd7fdb723d91c2c6cb7efc3d95f9d95ee86d48c8 - + https://github.com/dotnet/aspnetcore - 2651d9202b0bf5fdd081930cd7a4438ced351410 + 1bee0afeedab9d6d9d1cf23e65daa7ea5fcc6d47 - + https://github.com/dotnet/aspnetcore - 2651d9202b0bf5fdd081930cd7a4438ced351410 + 1bee0afeedab9d6d9d1cf23e65daa7ea5fcc6d47 - + https://github.com/dotnet/aspnetcore - 2651d9202b0bf5fdd081930cd7a4438ced351410 - + 1bee0afeedab9d6d9d1cf23e65daa7ea5fcc6d47 + - + https://github.com/dotnet/aspnetcore - 2651d9202b0bf5fdd081930cd7a4438ced351410 + 1bee0afeedab9d6d9d1cf23e65daa7ea5fcc6d47 - + https://github.com/dotnet/aspnetcore - 2651d9202b0bf5fdd081930cd7a4438ced351410 + 1bee0afeedab9d6d9d1cf23e65daa7ea5fcc6d47 - + https://github.com/dotnet/aspnetcore - 2651d9202b0bf5fdd081930cd7a4438ced351410 + 1bee0afeedab9d6d9d1cf23e65daa7ea5fcc6d47 - + https://github.com/dotnet/aspnetcore - 2651d9202b0bf5fdd081930cd7a4438ced351410 + 1bee0afeedab9d6d9d1cf23e65daa7ea5fcc6d47 https://github.com/dotnet/test-templates @@ -98,87 +98,91 @@ bb3695688177f5f80eeb3c0498168612e31549d5 - - https://github.com/dotnet/sdk - 1015b43c834666023cfbd7fd933016dd2ef80745 + + https://github.com/dotnet/test-templates + bb3695688177f5f80eeb3c0498168612e31549d5 - + https://github.com/dotnet/sdk - 1015b43c834666023cfbd7fd933016dd2ef80745 + 6dabdf4e2f6cbe5f97faf7ee6dc2c29bd89a67ba - + https://github.com/dotnet/sdk - 1015b43c834666023cfbd7fd933016dd2ef80745 + 6dabdf4e2f6cbe5f97faf7ee6dc2c29bd89a67ba + + + https://github.com/dotnet/sdk + 6dabdf4e2f6cbe5f97faf7ee6dc2c29bd89a67ba - + https://github.com/dotnet/sdk - 1015b43c834666023cfbd7fd933016dd2ef80745 + 6dabdf4e2f6cbe5f97faf7ee6dc2c29bd89a67ba - + https://github.com/dotnet/winforms - 993983be2ce14ca67f7ff09b8b04e9b8391b3339 + 8f1be5d8453763501aea20070bb6cabf97a49b34 - + https://github.com/dotnet/wpf - a956caa0747c27f0b0776d845fafe0b05b2c7337 + 959913ec4f81cc388928fad0c95840bf3ee4962b - + https://github.com/dotnet/fsharp - f07ccb1bc4325861cb4306733f59b23f6d4344f7 + 126877797a797eeb17ddfb8d18904c18eca8aa5d - + https://github.com/dotnet/fsharp - f07ccb1bc4325861cb4306733f59b23f6d4344f7 + 126877797a797eeb17ddfb8d18904c18eca8aa5d - + https://github.com/microsoft/vstest - 576a7cc1b259976393cf576a6a9c5df967bb2b7d - + b61973970a544ea30d03ac35b6f5535adb64fd4c + - + https://github.com/dotnet/linker - 219e84c88def8276179f66282b2f7cb5f1d0d126 + 9c993bf401377209cd7b4e84b60deab5e4f421a2 linker - + https://github.com/dotnet/roslyn - 6a0bbe19399f7da58f006b25c282c1cd5c5a96eb + 09bf1ae4c8671b48bbf4e28f2a2d926de037d068 - + https://github.com/dotnet/msbuild - 20ce296d6b3f4e63a511321c7e1a2f69a4ee63ef - + 15b127d2445d6b68429f1c31d9ff98fe4e1e728c + - + https://github.com/nuget/nuget.client - 1a082949ae5b6da7ca2cce047396c53ae1afdde7 + ea921bf1871b2799d9c130aad860db33e6577975 https://github.com/Microsoft/ApplicationInsights-dotnet 53b80940842204f78708a538628288ff5d741a1d - + https://github.com/dotnet/emsdk - 77c2667993976295017e2759f075550bcf606fc1 + 96351a7e97093d88eb097b4a489f949ebf8a901b - + https://github.com/dotnet/emsdk - 77c2667993976295017e2759f075550bcf606fc1 + 96351a7e97093d88eb097b4a489f949ebf8a901b https://github.com/dotnet/deployment-tools c3ad00ae84489071080a606f6a8e43c9a91a5cc2 - + https://github.com/dotnet/source-build-externals - c47ba6c19d50081f90008da8bc61b3ac20348f20 + 4d37f75b11b8613594fcb38bd9b965a75877c49f @@ -188,32 +192,44 @@ - + https://github.com/dotnet/arcade - 3f3c360819c5c092d0e4505a67dfe59a33fba557 + 80b6be47e1425ea90c5febffac119250043a0c92 - + https://github.com/dotnet/arcade - 3f3c360819c5c092d0e4505a67dfe59a33fba557 + 80b6be47e1425ea90c5febffac119250043a0c92 - + https://github.com/dotnet/arcade - 3f3c360819c5c092d0e4505a67dfe59a33fba557 + 80b6be47e1425ea90c5febffac119250043a0c92 - + + https://github.com/dotnet/arcade-services + e1c11c90d26581339cca9684399250101cbbc3bb + + + https://github.com/dotnet/arcade-services + e1c11c90d26581339cca9684399250101cbbc3bb + + + https://github.com/dotnet/runtime + 06aceb7015f3bd2ff019ef5920d2354eb2ea2c92 + + https://github.com/dotnet/source-build-reference-packages - 8366acfc3e0660ceef6bddbe7794044e5d503521 - + 4957077bf92bf720b0619fdf706be132e3b42a07 + - + https://github.com/dotnet/sourcelink - e57efa1ed395dd6975b33052719facb24f03ee0b + d047202874ad79d72c75b6354c0f8a9a12d1b054 - + https://github.com/dotnet/xliff-tasks - 740189d758fb3bbdc118c5b6171ef1a7351a8c44 + 366ad9b9f7af7d0eddbd36d1e13d8fcff0ac99db diff --git a/eng/Versions.props b/eng/Versions.props index ef9ce22a8..672c051f9 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -5,14 +5,13 @@ true
- 7 + 8 0 - 2 + 1 00 $(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature) - preview - - + alpha + 1 $(VersionMajor).$(VersionMinor) $(MajorMinorVersion).$(VersionSDKMinor) @@ -27,15 +26,19 @@ - 7.0.0-beta.22558.4 + 8.0.0-beta.22554.2 + + + + 1.1.0-beta.22561.2 - 7.0.0-rtm.22476.8 + 8.0.0-alpha.1.22531.9 - 7.0.0-rtm.22476.6 + 8.0.0-alpha.1.22551.2 @@ -43,6 +46,7 @@ 1.1.0-rc.22558.1 1.1.0-rc.22558.1 1.1.0-rc.22558.1 + 1.1.0-rc.22558.1 @@ -50,46 +54,46 @@ - 7.0.0-rtm.22504.29 - 7.0.0-rtm.22504.29 - 7.0.0-rtm.22504.29 - 7.0.0-rtm.22504.29 - 7.0.0-rtm.22504.29 - 7.0.0-rtm.22504.29 - 7.0.0-rtm.22504.29 + 8.0.0-alpha.1.22558.5 + 8.0.0-alpha.1.22558.5 + 8.0.0-alpha.1.22558.5 + 8.0.0-alpha.1.22558.5 + 8.0.0-alpha.1.22558.5 + 8.0.0-alpha.1.22558.5 + 8.0.0-alpha.1.22558.5 0.2.0 - 7.0.100-rtm.22506.24 - 7.0.100-rtm.22506.24 - 7.0.100-rtm.22506.24 + 8.0.100 + 8.0.100-alpha.1.22563.2 + 8.0.100-alpha.1.22563.2 $(MicrosoftNETSdkPackageVersion) $(MicrosoftNETSdkPackageVersion) $(MicrosoftNETSdkPackageVersion) - 7.0.0-rtm.22505.15 + 8.0.0-alpha.1.22559.2 - 7.0.0-rtm.22505.15 - 7.0.0-rtm.22505.15 - 7.0.0-rtm.22505.15 - 7.0.0-rtm.22505.15 - 7.0.0-rtm.22505.15 - 7.0.0-rtm.22505.15 + 8.0.0-alpha.1.22559.2 + 8.0.0-alpha.1.22559.2 + 8.0.0-alpha.1.22559.2 + 8.0.0-alpha.1.22559.2 + 8.0.0-alpha.1.22559.2 + 8.0.0-alpha.1.22559.2 2.1.0 - 7.0.0-rtm.22478.5 - 7.0.0-rtm.22478.5 - 7.0.0-rtm.22478.5 - 7.0.0-rtm.22478.5 + 8.0.0-alpha.1.22552.1 + 8.0.0-alpha.1.22552.1 + 8.0.0-alpha.1.22552.1 + 8.0.0-alpha.1.22552.1 @@ -107,12 +111,16 @@ 5.0.403 6.0.302 + 7.0.100-rc.1.22429.2 5.0.13 6.0.1 + 7.0.0-rc.1.22427.2 5.0.17-servicing.22215.4 5.0.17-servicing.22218.2 6.0.7-servicing.22322.3 6.0.7-servicing.22322.2 + 7.0.0-rc.1.22426.4 + 7.0.0-rc.1.22427.1 $(MicrosoftNETCoreAppRuntimePackageVersion) @@ -122,20 +130,27 @@ 1.0.0-v3.14.0.5722 + + $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) + $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) + $(NUnit3DotNetNewTemplatePackageVersion) + $(MicrosoftDotNetCommonItemTemplatesPackageVersion) + $(MicrosoftDotNetCommonItemTemplatesPackageVersion) + $(MicrosoftAspNetCoreAppRuntimePackageVersion) - $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) - $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) + 7.0.0-rc.1.22426.4 + 7.0.0-rc.1.22427.1 $(NUnit3DotNetNewTemplatePackageVersion) - $(MicrosoftDotNetCommonItemTemplatesPackageVersion) - $(MicrosoftDotNetCommonItemTemplatesPackageVersion) - $(MicrosoftAspNetCoreAppRuntimePackageVersion) + 7.0.100-rc.1.22429.2 + 7.0.100-rc.1.22429.2 + 7.0.0-rc.1.22427.2 $(MicrosoftWinFormsProjectTemplates60PackageVersion) $(MicrosoftWPFProjectTemplates60PackageVersion) $(NUnit3DotNetNewTemplatePackageVersion) $(MicrosoftDotNetCommonItemTemplates60PackageVersion) $(MicrosoftDotNetCommonItemTemplates60PackageVersion) - 6.0.9 + 6.0.10 $(MicrosoftWinFormsProjectTemplates50PackageVersion) $(MicrosoftWPFProjectTemplates50PackageVersion) @@ -150,7 +165,7 @@ 3.1.27 $(MicrosoftDotNetCommonItemTemplates31PackageVersion) $(MicrosoftDotNetTestProjectTemplates50PackageVersion) - 3.1.29 + 3.1.30 3.2.1 4.8.0-rc2.19462.10 @@ -171,7 +186,8 @@ 2.2.0-beta.19072.10 2.0.0 - 17.4.0-release-20220926-01 + 17.5.0-preview-20221111-01 + 7.0.0-rc.1.22426.10 @@ -205,9 +221,9 @@ 12.3.1006-rc.1 15.4.1006-rc.1 $(MicrosoftNETCoreAppRefPackageVersion) - 7.0.0-rtm.22476.2 - 7.0.0-rtm.22476.2 - $(MicrosoftNETWorkloadEmscriptennet7Manifest70100Version) + 8.0.0-alpha.1.22558.2 + 8.0.0-alpha.1.22558.2 + $(MicrosoftNETWorkloadEmscriptennet7Manifest80100Version) diff --git a/eng/build.yml b/eng/build.yml index 35c829867..a76933ee1 100644 --- a/eng/build.yml +++ b/eng/build.yml @@ -1,72 +1,153 @@ parameters: # Agent OS identifier and used as job name - agentOs: '' +- name: agentOs + type: string - # Agent pool - pool: {} + # Job name +- name: jobName + type: string - # Additional variables - variables: {} - - # Build strategy - matrix - strategy: {} +# Container to run the build in, if any +- name: container + type: string + default: '' # Job timeout - timeoutInMinutes: 180 +- name: timeoutInMinutes + type: number + default: 180 - # Publish using pipelines - enablePublishUsingPipelines: true +# Build configuration (Debug, Release) +- name: buildConfiguration + type: string + values: + - Debug + - Release -phases: +# Build architecture +- name: buildArchitecture + type: string + values: + - arm + - arm64 + - x64 + - x86 + +# Linux portable. If true, passes portable switch to build +- name: linuxPortable + type: boolean + default: false + +# Runtime Identifier +- name: runtimeIdentifier + type: string + default: '' + +# UI lang +- name: dotnetCLIUILanguage + type: string + default: '' + +# Additional parameters +- name: additionalBuildParameters + type: string + default: '' + +# Run tests +- name: runTests + type: boolean + default: true + +# PGO instrumentation jobs +- name: pgoInstrument + type: boolean + default: false + +jobs: - template: /eng/common/templates/job/job.yml parameters: + # Set up the name of the job. ${{ if parameters.pgoInstrument }}: - name: PGO_${{ parameters.agentOs }} + name: PGO_${{ parameters.agentOs }}_${{ parameters.jobName }} ${{ if not(parameters.pgoInstrument) }}: - name: ${{ parameters.agentOs }} - timeoutInMinutes: ${{ parameters.timeoutInMinutes }} + name: ${{ parameters.agentOs }}_${{ parameters.jobName }} + + ## Set up the pool/machine info to be used based on the Agent OS ${{ if eq(parameters.agentOs, 'Windows_NT') }}: enableMicrobuild: true + pool: + ${{ if eq(variables['System.TeamProject'], 'public') }}: + name: NetCore-Public + demands: ImageOverride -equals windows.vs2019.amd64.open + ${{ if eq(variables['System.TeamProject'], 'internal') }}: + name: NetCore1ESPool-Internal + demands: ImageOverride -equals windows.vs2019.amd64 + ${{ if eq(parameters.agentOs, 'Linux') }}: + pool: + ${{ if eq(variables['System.TeamProject'], 'public') }}: + name: NetCore-Public + demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open + ${{ if eq(variables['System.TeamProject'], 'internal') }}: + name: NetCore1ESPool-Internal + demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 + container: ${{ parameters.container }} + ${{ if eq(parameters.agentOs, 'Darwin') }}: + pool: + vmImage: 'macOS-latest' + + timeoutInMinutes: ${{ parameters.timeoutInMinutes }} enablePublishBuildAssets: true - # Don't use built-in arcade logic for publishing artifacts and test results, as we manually do this and give better names - #enablePublishBuildArtifacts: true - #enablePublishTestResults: true - enablePublishUsingPipelines: ${{parameters.enablePublishUsingPipelines}} + enablePublishUsingPipelines: true enableTelemetry: true helixRepo: dotnet/installer - pool: ${{ parameters.pool }} - ${{ if ne(parameters.strategy, '') }}: - strategy: ${{ parameters.strategy }} workspace: clean: all +# Test parameters variables: + - ${{ if eq(parameters.agentOs, 'Windows_NT') }}: + - _PackArg: '-pack' + - ${{ if parameters.runTests }}: + - _TestArg: '-test' + - ${{ else }}: + - _TestArg: '' + - ${{ if ne(parameters.agentOs, 'Windows_NT') }}: + - _PackArg: '--pack' + - ${{ if parameters.runTests }}: + - _TestArg: '--test' + - ${{ else }}: + - _TestArg: '' + + - ${{ if parameters.pgoInstrument }}: + - _PgoInstrument: '/p:PgoInstrument=true' + - _PackArg: '' + - ${{ else }}: - _PgoInstrument: '' - - ${{ if eq(parameters.agentOs, 'Windows_NT') }}: - - _PackArg: '-pack' - - ${{ if ne(parameters.agentOs, 'Windows_NT') }}: - - _PackArg: '--pack' - - ${{ if parameters.pgoInstrument }}: - - _PgoInstrument: '/p:PgoInstrument=true' - - _PackArg: '' - - _AgentOSName: ${{ parameters.agentOs }} - - _TeamName: Roslyn-Project-System - - _SignType: test - - _BuildArgs: '/p:DotNetSignType=$(_SignType) $(_PgoInstrument)' + - ${{ if parameters.linuxPortable }}: + - _LinuxPortable: '--linux-portable' + - ${{ else }}: + - _LinuxPortable: '' - - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - group: DotNet-Symbol-Server-PATs - - group: DotNet-HelixApi-Access - - group: DotNet-Blob-Feed - - _DotNetPublishToBlobFeed: true - - _PushToVSFeed: true - - _SignType: real - - _BuildArgs: /p:OfficialBuildId=$(BUILD.BUILDNUMBER) - /p:DotNetSignType=$(_SignType) - /p:TeamName=$(_TeamName) - /p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines) - $(_PgoInstrument) + - ${{ if ne(parameters.runtimeIdentifier, '') }}: + - _RuntimeIdentifier: '--runtime-id ${{ parameters.runtimeIdentifier }}' + - ${{ else }}: + - _RuntimeIdentifier: '' + + - _AgentOSName: ${{ parameters.agentOs }} + - _TeamName: Roslyn-Project-System + - _SignType: test + - _BuildArgs: '/p:DotNetSignType=$(_SignType) $(_PgoInstrument)' + + - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: + - group: DotNet-HelixApi-Access + - _PushToVSFeed: true + - _SignType: real + - _BuildArgs: /p:OfficialBuildId=$(BUILD.BUILDNUMBER) + /p:DotNetSignType=$(_SignType) + /p:TeamName=$(_TeamName) + /p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines) + $(_PgoInstrument) steps: - checkout: self @@ -83,14 +164,14 @@ phases: - script: build.cmd $(_TestArg) $(_PackArg) -publish -ci -sign - -Configuration $(_BuildConfig) - -Architecture $(_BuildArchitecture) + -Configuration ${{ parameters.buildConfiguration }} + -Architecture ${{ parameters.buildArchitecture }} $(_BuildArgs) - $(_AdditionalBuildParameters) + ${{ parameters.additionalBuildParameters }} $(_InternalRuntimeDownloadArgs) displayName: Build env: - DOTNET_CLI_UI_LANGUAGE: $(_DOTNET_CLI_UI_LANGUAGE) + DOTNET_CLI_UI_LANGUAGE: ${{ parameters.dotnetCLIUILanguage }} - ${{ if ne(parameters.agentOs, 'Windows_NT') }}: - ${{ if ne(variables['System.TeamProject'], 'public') }}: @@ -106,13 +187,12 @@ phases: $(_TestArg) $(_PackArg) --publish --ci --noprettyprint - --configuration $(_BuildConfig) - $(_DockerParameter) - --architecture $(_BuildArchitecture) + --configuration ${{ parameters.buildConfiguration }} + --architecture ${{ parameters.buildArchitecture }} $(_LinuxPortable) $(_RuntimeIdentifier) $(_BuildArgs) - $(_AdditionalBuildParameters) + ${{ parameters.additionalBuildParameters }} $(_InternalRuntimeDownloadArgs) displayName: Build @@ -121,11 +201,11 @@ phases: $(_TestArg) --pack --publish --ci --noprettyprint - --configuration $(_BuildConfig) - --architecture $(_BuildArchitecture) + --configuration ${{ parameters.buildConfiguration }} + --architecture ${{ parameters.buildArchitecture }} $(_RuntimeIdentifier) $(_BuildArgs) - $(_AdditionalBuildParameters) + ${{ parameters.additionalBuildParameters }} $(_InternalRuntimeDownloadArgs) displayName: Build @@ -133,10 +213,10 @@ phases: displayName: Publish Test Results inputs: testRunner: XUnit - testResultsFiles: 'artifacts/TestResults/$(_BuildConfig)/*.xml' + testResultsFiles: 'artifacts/TestResults/${{ parameters.buildConfiguration }}/*.xml' testRunTitle: '$(_AgentOSName)_$(Agent.JobName)' platform: '$(BuildPlatform)' - configuration: '$(_BuildConfig)' + configuration: '${{ parameters.buildConfiguration }}' condition: ne(variables['_TestArg'], '') - task: CopyFiles@2 @@ -144,8 +224,8 @@ phases: inputs: SourceFolder: '$(Build.SourcesDirectory)/artifacts' Contents: | - log/$(_BuildConfig)/**/* - TestResults/$(_BuildConfig)/**/* + log/${{ parameters.buildConfiguration }}/**/* + TestResults/${{ parameters.buildConfiguration }}/**/* TargetFolder: '$(Build.ArtifactStagingDirectory)' continueOnError: true condition: always() diff --git a/eng/common/build.ps1 b/eng/common/build.ps1 index e0420a642..33a6f2d0e 100644 --- a/eng/common/build.ps1 +++ b/eng/common/build.ps1 @@ -67,8 +67,8 @@ function Print-Usage() { Write-Host " -prepareMachine Prepare machine for CI run, clean up processes after build" Write-Host " -warnAsError Sets warnaserror msbuild parameter ('true' or 'false')" Write-Host " -msbuildEngine Msbuild engine to use to run build ('dotnet', 'vs', or unspecified)." - Write-Host " -nativeToolsOnMachine Sets the native tools on machine environment variable (indicating that the script should use native tools on machine)" Write-Host " -excludePrereleaseVS Set to exclude build engines in prerelease versions of Visual Studio" + Write-Host " -nativeToolsOnMachine Sets the native tools on machine environment variable (indicating that the script should use native tools on machine)" Write-Host "" Write-Host "Command line arguments not listed above are passed thru to msbuild." diff --git a/eng/common/cross/arm/tizen-fetch.sh b/eng/common/cross/arm/tizen-fetch.sh index eabd06c4a..0adb0f11e 100644 --- a/eng/common/cross/arm/tizen-fetch.sh +++ b/eng/common/cross/arm/tizen-fetch.sh @@ -51,7 +51,7 @@ if [ ! -d $TMPDIR ]; then mkdir -p $TMPDIR fi -TIZEN_URL=http://download.tizen.org/snapshots/tizen +TIZEN_URL=http://download.tizen.org/snapshots/TIZEN/Tizen BUILD_XML=build.xml REPOMD_XML=repomd.xml PRIMARY_XML=primary.xml @@ -155,7 +155,7 @@ fetch_tizen_pkgs() } Inform "Initialize arm base" -fetch_tizen_pkgs_init standard base +fetch_tizen_pkgs_init standard Tizen-Base Inform "fetch common packages" fetch_tizen_pkgs armv7hl gcc gcc-devel-static glibc glibc-devel libicu libicu-devel libatomic linux-glibc-devel keyutils keyutils-devel libkeyutils Inform "fetch coreclr packages" @@ -164,7 +164,7 @@ Inform "fetch corefx packages" fetch_tizen_pkgs armv7hl libcom_err libcom_err-devel zlib zlib-devel libopenssl11 libopenssl1.1-devel krb5 krb5-devel Inform "Initialize standard unified" -fetch_tizen_pkgs_init standard unified +fetch_tizen_pkgs_init standard Tizen-Unified Inform "fetch corefx packages" fetch_tizen_pkgs armv7hl gssdp gssdp-devel tizen-release diff --git a/eng/common/cross/arm64/tizen-fetch.sh b/eng/common/cross/arm64/tizen-fetch.sh index 16d1301f2..785bd8548 100644 --- a/eng/common/cross/arm64/tizen-fetch.sh +++ b/eng/common/cross/arm64/tizen-fetch.sh @@ -51,7 +51,7 @@ if [ ! -d $TMPDIR ]; then mkdir -p $TMPDIR fi -TIZEN_URL=http://download.tizen.org/snapshots/tizen/ +TIZEN_URL=http://download.tizen.org/snapshots/TIZEN/Tizen BUILD_XML=build.xml REPOMD_XML=repomd.xml PRIMARY_XML=primary.xml @@ -154,8 +154,8 @@ fetch_tizen_pkgs() done } -Inform "Initialize arm base" -fetch_tizen_pkgs_init standard base +Inform "Initialize arm64 base" +fetch_tizen_pkgs_init standard Tizen-Base Inform "fetch common packages" fetch_tizen_pkgs aarch64 gcc glibc glibc-devel libicu libicu-devel libatomic linux-glibc-devel keyutils keyutils-devel libkeyutils Inform "fetch coreclr packages" @@ -164,7 +164,7 @@ Inform "fetch corefx packages" fetch_tizen_pkgs aarch64 libcom_err libcom_err-devel zlib zlib-devel libopenssl11 libopenssl1.1-devel krb5 krb5-devel Inform "Initialize standard unified" -fetch_tizen_pkgs_init standard unified +fetch_tizen_pkgs_init standard Tizen-Unified Inform "fetch corefx packages" fetch_tizen_pkgs aarch64 gssdp gssdp-devel tizen-release diff --git a/eng/common/cross/armel/tizen-fetch.sh b/eng/common/cross/armel/tizen-fetch.sh index 64f0187e5..3d8f177a3 100755 --- a/eng/common/cross/armel/tizen-fetch.sh +++ b/eng/common/cross/armel/tizen-fetch.sh @@ -51,7 +51,7 @@ if [ ! -d $TMPDIR ]; then mkdir -p $TMPDIR fi -TIZEN_URL=http://download.tizen.org/snapshots/tizen +TIZEN_URL=http://download.tizen.org/snapshots/TIZEN/Tizen BUILD_XML=build.xml REPOMD_XML=repomd.xml PRIMARY_XML=primary.xml @@ -154,8 +154,8 @@ fetch_tizen_pkgs() done } -Inform "Initialize arm base" -fetch_tizen_pkgs_init standard base +Inform "Initialize armel base" +fetch_tizen_pkgs_init standard Tizen-Base Inform "fetch common packages" fetch_tizen_pkgs armv7l gcc gcc-devel-static glibc glibc-devel libicu libicu-devel libatomic linux-glibc-devel keyutils keyutils-devel libkeyutils Inform "fetch coreclr packages" @@ -164,7 +164,7 @@ Inform "fetch corefx packages" fetch_tizen_pkgs armv7l libcom_err libcom_err-devel zlib zlib-devel libopenssl11 libopenssl1.1-devel krb5 krb5-devel Inform "Initialize standard unified" -fetch_tizen_pkgs_init standard unified +fetch_tizen_pkgs_init standard Tizen-Unified Inform "fetch corefx packages" fetch_tizen_pkgs armv7l gssdp gssdp-devel tizen-release diff --git a/eng/common/cross/armel/tizen/tizen-dotnet.ks b/eng/common/cross/armel/tizen/tizen-dotnet.ks deleted file mode 100644 index 506d455bd..000000000 --- a/eng/common/cross/armel/tizen/tizen-dotnet.ks +++ /dev/null @@ -1,50 +0,0 @@ -lang en_US.UTF-8 -keyboard us -timezone --utc Asia/Seoul - -part / --fstype="ext4" --size=3500 --ondisk=mmcblk0 --label rootfs --fsoptions=defaults,noatime - -rootpw tizen -desktop --autologinuser=root -user --name root --groups audio,video --password 'tizen' - -repo --name=standard --baseurl=http://download.tizen.org/releases/milestone/tizen/unified/latest/repos/standard/packages/ --ssl_verify=no -repo --name=base --baseurl=http://download.tizen.org/releases/milestone/tizen/base/latest/repos/standard/packages/ --ssl_verify=no - -%packages -tar -gzip - -sed -grep -gawk -perl - -binutils -findutils -util-linux -lttng-ust -userspace-rcu -procps-ng -tzdata -ca-certificates - - -### Core FX -libicu -libunwind -iputils -zlib -krb5 -libcurl -libopenssl - -%end - -%post - -### Update /tmp privilege -chmod 777 /tmp -#################################### - -%end diff --git a/eng/common/cross/build-android-rootfs.sh b/eng/common/cross/build-android-rootfs.sh index 42516bbee..f163fb9da 100755 --- a/eng/common/cross/build-android-rootfs.sh +++ b/eng/common/cross/build-android-rootfs.sh @@ -107,12 +107,12 @@ __AndroidPackages+=" liblzma" __AndroidPackages+=" krb5" __AndroidPackages+=" openssl" -for path in $(wget -qO- http://termux.net/dists/stable/main/binary-$__AndroidArch/Packages |\ +for path in $(wget -qO- https://packages.termux.dev/termux-main-21/dists/stable/main/binary-$__AndroidArch/Packages |\ grep -A15 "Package: \(${__AndroidPackages// /\\|}\)" | grep -v "static\|tool" | grep Filename); do if [[ "$path" != "Filename:" ]]; then echo "Working on: $path" - wget -qO- http://termux.net/$path | dpkg -x - "$__TmpDir" + wget -qO- https://packages.termux.dev/termux-main-21/$path | dpkg -x - "$__TmpDir" fi done diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh index 5680980fa..eddb4c380 100755 --- a/eng/common/cross/build-rootfs.sh +++ b/eng/common/cross/build-rootfs.sh @@ -391,9 +391,9 @@ elif [[ "$__CodeName" == "illumos" ]]; then --with-gnu-ld --disable-nls --disable-libgomp --disable-libquadmath --disable-libssp --disable-libvtv --disable-libcilkrts --disable-libada --disable-libsanitizer \ --disable-libquadmath-support --disable-shared --enable-tls make -j "$JOBS" && make install && cd .. - BaseUrl=https://pkgsrc.joyent.com + BaseUrl=https://pkgsrc.smartos.org if [[ "$__UseMirror" == 1 ]]; then - BaseUrl=http://pkgsrc.smartos.skylime.net + BaseUrl=https://pkgsrc.smartos.skylime.net fi BaseUrl="$BaseUrl/packages/SmartOS/trunk/${__illumosArch}/All" echo "Downloading manifest" @@ -402,7 +402,8 @@ elif [[ "$__CodeName" == "illumos" ]]; then read -ra array <<<"$__IllumosPackages" for package in "${array[@]}"; do echo "Installing '$package'" - package="$(grep ">$package-[0-9]" All | sed -En 's/.*href="(.*)\.tgz".*/\1/p')" + # find last occurrence of package in listing and extract its name + package="$(sed -En '/.*href="('"$package"'-[0-9].*).tgz".*/h;$!d;g;s//\1/p' All)" echo "Resolved name '$package'" wget "$BaseUrl"/"$package".tgz ar -x "$package".tgz diff --git a/eng/common/generate-locproject.ps1 b/eng/common/generate-locproject.ps1 index bab18543d..dbf2ab4ee 100644 --- a/eng/common/generate-locproject.ps1 +++ b/eng/common/generate-locproject.ps1 @@ -91,6 +91,7 @@ $locJson = @{ ) }, @{ + LanguageSet = $LanguageSet CloneLanguageSet = "WiX_CloneLanguages" LssFiles = @( "wxl_loc.lss" ) LocItems = @( @@ -110,7 +111,6 @@ $locJson = @{ SourceFile = $sourceFile CopyOption = "LangIDOnPath" OutputPath = $outputPath - Languages = "cs-CZ;de-DE;es-ES;fr-FR;it-IT;ja-JP;ko-KR;pl-PL;pt-BR;ru-RU;tr-TR;zh-CN;zh-TW" } } } diff --git a/eng/common/sdl/NuGet.config b/eng/common/sdl/NuGet.config index 0c5451c11..3849bdb3c 100644 --- a/eng/common/sdl/NuGet.config +++ b/eng/common/sdl/NuGet.config @@ -7,6 +7,11 @@ + + + + + diff --git a/eng/common/sdl/sdl.ps1 b/eng/common/sdl/sdl.ps1 index ac196e164..648c5068d 100644 --- a/eng/common/sdl/sdl.ps1 +++ b/eng/common/sdl/sdl.ps1 @@ -1,6 +1,7 @@ function Install-Gdn { param( + [Parameter(Mandatory=$true)] [string]$Path, # If omitted, install the latest version of Guardian, otherwise install that specific version. diff --git a/eng/common/templates/job/execute-sdl.yml b/eng/common/templates/job/execute-sdl.yml index aaeb83b4d..7aabaa180 100644 --- a/eng/common/templates/job/execute-sdl.yml +++ b/eng/common/templates/job/execute-sdl.yml @@ -34,7 +34,7 @@ jobs: - job: Run_SDL dependsOn: ${{ parameters.dependsOn }} displayName: Run SDL tool - condition: eq( ${{ parameters.enable }}, 'true') + condition: and(succeededOrFailed(), eq( ${{ parameters.enable }}, 'true')) variables: - group: DotNet-VSTS-Bot - name: AzDOProjectName @@ -46,6 +46,7 @@ jobs: - template: /eng/common/templates/variables/sdl-variables.yml - name: GuardianVersion value: ${{ coalesce(parameters.overrideGuardianVersion, '$(DefaultGuardianVersion)') }} + - template: /eng/common/templates/variables/pool-providers.yml pool: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: @@ -53,13 +54,15 @@ jobs: demands: Cmd # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: - name: NetCore1ESPool-Svc-Internal + name: $(DncEngInternalBuildPool) demands: ImageOverride -equals windows.vs2019.amd64 steps: - checkout: self clean: true - - template: /eng/common/templates/post-build/setup-maestro-vars.yml + # If the template caller didn't provide an AzDO parameter, set them all up as Maestro vars. + - ${{ if not(and(parameters.AzDOProjectName, parameters.AzDOPipelineId, parameters.AzDOBuildId)) }}: + - template: /eng/common/templates/post-build/setup-maestro-vars.yml - ${{ if ne(parameters.downloadArtifacts, 'false')}}: - ${{ if ne(parameters.artifactNames, '') }}: diff --git a/eng/common/templates/job/job.yml b/eng/common/templates/job/job.yml index e3ba93980..9f55d3f46 100644 --- a/eng/common/templates/job/job.yml +++ b/eng/common/templates/job/job.yml @@ -25,6 +25,7 @@ parameters: enablePublishTestResults: false enablePublishUsingPipelines: false disableComponentGovernance: false + componentGovernanceIgnoreDirectories: '' mergeTestResults: false testRunTitle: '' testResultsFormat: '' @@ -140,11 +141,14 @@ jobs: languages: ${{ coalesce(parameters.richCodeNavigationLanguage, 'csharp') }} environment: ${{ coalesce(parameters.richCodeNavigationEnvironment, 'production') }} richNavLogOutputDirectory: $(Build.SourcesDirectory)/artifacts/bin + uploadRichNavArtifacts: ${{ coalesce(parameters.richCodeNavigationUploadArtifacts, false) }} continueOnError: true - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), ne(parameters.disableComponentGovernance, 'true')) }}: - task: ComponentGovernanceComponentDetection@0 continueOnError: true + inputs: + ignoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} - ${{ if eq(parameters.enableMicrobuild, 'true') }}: - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: @@ -183,24 +187,6 @@ jobs: displayName: Publish logs continueOnError: true condition: always() - - ${{ if or(eq(parameters.artifacts.publish.manifests, 'true'), ne(parameters.artifacts.publish.manifests, '')) }}: - - ${{ if and(ne(parameters.enablePublishUsingPipelines, 'true'), eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - task: CopyFiles@2 - displayName: Gather Asset Manifests - inputs: - SourceFolder: '$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/AssetManifest' - TargetFolder: '$(Build.ArtifactStagingDirectory)/AssetManifests' - continueOnError: ${{ parameters.continueOnError }} - condition: and(succeeded(), eq(variables['_DotNetPublishToBlobFeed'], 'true')) - - - task: PublishBuildArtifacts@1 - displayName: Push Asset Manifests - inputs: - PathtoPublish: '$(Build.ArtifactStagingDirectory)/AssetManifests' - PublishLocation: Container - ArtifactName: AssetManifests - continueOnError: ${{ parameters.continueOnError }} - condition: and(succeeded(), eq(variables['_DotNetPublishToBlobFeed'], 'true')) - ${{ if ne(parameters.enablePublishBuildArtifacts, 'false') }}: - task: PublishBuildArtifacts@1 @@ -234,28 +220,11 @@ jobs: mergeTestResults: ${{ parameters.mergeTestResults }} continueOnError: true condition: always() - - - ${{ if and(eq(parameters.enablePublishBuildAssets, true), ne(parameters.enablePublishUsingPipelines, 'true'), eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - task: CopyFiles@2 - displayName: Gather Asset Manifests - inputs: - SourceFolder: '$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/AssetManifest' - TargetFolder: '$(Build.StagingDirectory)/AssetManifests' - continueOnError: ${{ parameters.continueOnError }} - condition: and(succeeded(), eq(variables['_DotNetPublishToBlobFeed'], 'true')) - - - task: PublishBuildArtifacts@1 - displayName: Push Asset Manifests - inputs: - PathtoPublish: '$(Build.StagingDirectory)/AssetManifests' - PublishLocation: Container - ArtifactName: AssetManifests - continueOnError: ${{ parameters.continueOnError }} - condition: and(succeeded(), eq(variables['_DotNetPublishToBlobFeed'], 'true')) - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(parameters.enableSbom, 'true')) }}: - template: /eng/common/templates/steps/generate-sbom.yml parameters: PackageVersion: ${{ parameters.packageVersion}} BuildDropPath: ${{ parameters.buildDropPath }} + IgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} diff --git a/eng/common/templates/job/onelocbuild.yml b/eng/common/templates/job/onelocbuild.yml index 6b8fc9970..c2cabcf9e 100644 --- a/eng/common/templates/job/onelocbuild.yml +++ b/eng/common/templates/job/onelocbuild.yml @@ -22,13 +22,25 @@ parameters: MirrorRepo: '' MirrorBranch: main condition: '' + JobNameSuffix: '' jobs: -- job: OneLocBuild +- job: OneLocBuild${{ parameters.JobNameSuffix }} dependsOn: ${{ parameters.dependsOn }} - displayName: OneLocBuild + displayName: OneLocBuild${{ parameters.JobNameSuffix }} + + variables: + - group: OneLocBuildVariables # Contains the CeapexPat and GithubPat + - name: _GenerateLocProjectArguments + value: -SourcesDirectory ${{ parameters.SourcesDirectory }} + -LanguageSet "${{ parameters.LanguageSet }}" + -CreateNeutralXlfs + - ${{ if eq(parameters.UseCheckedInLocProjectJson, 'true') }}: + - name: _GenerateLocProjectArguments + value: ${{ variables._GenerateLocProjectArguments }} -UseCheckedInLocProjectJson + - template: /eng/common/templates/variables/pool-providers.yml ${{ if ne(parameters.pool, '') }}: pool: ${{ parameters.pool }} @@ -40,20 +52,9 @@ jobs: demands: Cmd # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: - name: NetCore1ESPool-Svc-Internal + name: $(DncEngInternalBuildPool) demands: ImageOverride -equals windows.vs2019.amd64 - variables: - - group: OneLocBuildVariables # Contains the CeapexPat and GithubPat - - name: _GenerateLocProjectArguments - value: -SourcesDirectory ${{ parameters.SourcesDirectory }} - -LanguageSet "${{ parameters.LanguageSet }}" - -CreateNeutralXlfs - - ${{ if eq(parameters.UseCheckedInLocProjectJson, 'true') }}: - - name: _GenerateLocProjectArguments - value: ${{ variables._GenerateLocProjectArguments }} -UseCheckedInLocProjectJson - - steps: - task: Powershell@2 inputs: diff --git a/eng/common/templates/job/publish-build-assets.yml b/eng/common/templates/job/publish-build-assets.yml index 1cbb6a0c5..1f1b78f2d 100644 --- a/eng/common/templates/job/publish-build-assets.yml +++ b/eng/common/templates/job/publish-build-assets.yml @@ -40,9 +40,8 @@ jobs: ${{ else }}: displayName: Publish to Build Asset Registry - pool: ${{ parameters.pool }} - variables: + - template: /eng/common/templates/variables/pool-providers.yml - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - group: Publish-Build-Assets - group: AzureDevOps-Artifact-Feeds-Pats @@ -51,6 +50,16 @@ jobs: - ${{ if eq(parameters.publishAssetsImmediately, 'true') }}: - template: /eng/common/templates/post-build/common-variables.yml + pool: + # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) + ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: + name: VSEngSS-MicroBuild2022-1ES + demands: Cmd + # If it's not devdiv, it's dnceng + ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: + name: $(DncEngInternalBuildPool) + demands: ImageOverride -equals windows.vs2019.amd64 + steps: - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - task: DownloadBuildArtifacts@0 diff --git a/eng/common/templates/job/source-build.yml b/eng/common/templates/job/source-build.yml index b6137f44a..e40bf3520 100644 --- a/eng/common/templates/job/source-build.yml +++ b/eng/common/templates/job/source-build.yml @@ -44,13 +44,24 @@ jobs: ${{ if eq(parameters.platform.pool, '') }}: # The default VM host AzDO pool. This should be capable of running Docker containers: almost all # source-build builds run in Docker, including the default managed platform. + # /eng/common/templates/variables/pool-providers.yml can't be used here (some customers declare variables already), so duplicate its logic pool: - ${{ if eq(variables['System.TeamProject'], 'public') }}: + # Main environments + ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), true)) }}: + name: NetCore-Public + demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open + ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), true)) }}: + name: NetCore1ESPool-Internal + demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 + + # Servicing build environments + ${{ if and(eq(variables['System.TeamProject'], 'public'), contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release')) }}: name: NetCore-Svc-Public demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open - ${{ if eq(variables['System.TeamProject'], 'internal') }}: + ${{ if and(eq(variables['System.TeamProject'], 'internal'), contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release')) }}: name: NetCore1ESPool-Svc-Internal demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 + ${{ if ne(parameters.platform.pool, '') }}: pool: ${{ parameters.platform.pool }} diff --git a/eng/common/templates/job/source-index-stage1.yml b/eng/common/templates/job/source-index-stage1.yml index 59a42c338..09c506d11 100644 --- a/eng/common/templates/job/source-index-stage1.yml +++ b/eng/common/templates/job/source-index-stage1.yml @@ -22,16 +22,17 @@ jobs: value: ${{ parameters.binlogPath }} - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - group: source-dot-net stage1 variables + - template: /eng/common/templates/variables/pool-providers.yml ${{ if ne(parameters.pool, '') }}: pool: ${{ parameters.pool }} ${{ if eq(parameters.pool, '') }}: pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: - name: NetCore-Svc-Public + name: $(DncEngPublicBuildPool) demands: ImageOverride -equals windows.vs2019.amd64.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: - name: NetCore1ESPool-Svc-Internal + name: $(DncEngInternalBuildPool) demands: ImageOverride -equals windows.vs2019.amd64 steps: diff --git a/eng/common/templates/jobs/jobs.yml b/eng/common/templates/jobs/jobs.yml index 297e7946b..289bb2396 100644 --- a/eng/common/templates/jobs/jobs.yml +++ b/eng/common/templates/jobs/jobs.yml @@ -88,15 +88,6 @@ jobs: - ${{ job.job }} - ${{ if eq(parameters.enableSourceBuild, true) }}: - Source_Build_Complete - pool: - # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) - ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: - name: VSEngSS-MicroBuild2022-1ES - demands: Cmd - # If it's not devdiv, it's dnceng - ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: - name: NetCore1ESPool-Svc-Internal - demands: ImageOverride -equals windows.vs2019.amd64 runAsPublic: ${{ parameters.runAsPublic }} publishUsingPipelines: ${{ parameters.enablePublishUsingPipelines }} diff --git a/eng/common/templates/jobs/source-build.yml b/eng/common/templates/jobs/source-build.yml index 8dd2d355f..a15b07eb5 100644 --- a/eng/common/templates/jobs/source-build.yml +++ b/eng/common/templates/jobs/source-build.yml @@ -14,7 +14,7 @@ parameters: # This is the default platform provided by Arcade, intended for use by a managed-only repo. defaultManagedPlatform: name: 'Managed' - container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8-20220809204800-17a4aab' + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8' # Defines the platforms on which to run build jobs. One job is created for each platform, and the # object in this array is sent to the job template as 'platform'. If no platforms are specified, diff --git a/eng/common/templates/post-build/post-build.yml b/eng/common/templates/post-build/post-build.yml index 957375c1c..91251d089 100644 --- a/eng/common/templates/post-build/post-build.yml +++ b/eng/common/templates/post-build/post-build.yml @@ -95,10 +95,11 @@ stages: displayName: Validate Build Assets variables: - template: common-variables.yml + - template: /eng/common/templates/variables/pool-providers.yml jobs: - job: displayName: NuGet Validation - condition: eq( ${{ parameters.enableNugetValidation }}, 'true') + condition: and(succeededOrFailed(), eq( ${{ parameters.enableNugetValidation }}, 'true')) pool: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: @@ -106,7 +107,7 @@ stages: demands: Cmd # If it's not devdiv, it's dnceng ${{ else }}: - name: NetCore1ESPool-Svc-Internal + name: $(DncEngInternalBuildPool) demands: ImageOverride -equals windows.vs2019.amd64 steps: @@ -143,7 +144,7 @@ stages: demands: Cmd # If it's not devdiv, it's dnceng ${{ else }}: - name: NetCore1ESPool-Svc-Internal + name: $(DncEngInternalBuildPool) demands: ImageOverride -equals windows.vs2019.amd64 steps: - template: setup-maestro-vars.yml @@ -203,7 +204,7 @@ stages: demands: Cmd # If it's not devdiv, it's dnceng ${{ else }}: - name: NetCore1ESPool-Svc-Internal + name: $(DncEngInternalBuildPool) demands: ImageOverride -equals windows.vs2019.amd64 steps: - template: setup-maestro-vars.yml @@ -251,6 +252,7 @@ stages: displayName: Publish using Darc variables: - template: common-variables.yml + - template: /eng/common/templates/variables/pool-providers.yml jobs: - job: displayName: Publish Using Darc @@ -262,7 +264,7 @@ stages: demands: Cmd # If it's not devdiv, it's dnceng ${{ else }}: - name: NetCore1ESPool-Svc-Internal + name: $(DncEngInternalBuildPool) demands: ImageOverride -equals windows.vs2019.amd64 steps: - template: setup-maestro-vars.yml @@ -282,4 +284,4 @@ stages: -MaestroToken '$(MaestroApiAccessToken)' -WaitPublishingFinish true -ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}' - -SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}' \ No newline at end of file + -SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}' diff --git a/eng/common/templates/steps/execute-sdl.yml b/eng/common/templates/steps/execute-sdl.yml index 86cf578c4..9dd5709f6 100644 --- a/eng/common/templates/steps/execute-sdl.yml +++ b/eng/common/templates/steps/execute-sdl.yml @@ -17,14 +17,16 @@ steps: - ${{ if ne(parameters.overrideGuardianVersion, '') }}: - pwsh: | - . $(Build.SourcesDirectory)\eng\common\sdl\sdl.ps1 + Set-Location -Path $(Build.SourcesDirectory)\eng\common\sdl + . .\sdl.ps1 $guardianCliLocation = Install-Gdn -Path $(Build.SourcesDirectory)\.artifacts -Version ${{ parameters.overrideGuardianVersion }} Write-Host "##vso[task.setvariable variable=GuardianCliLocation]$guardianCliLocation" displayName: Install Guardian (Overridden) - ${{ if eq(parameters.overrideGuardianVersion, '') }}: - pwsh: | - . $(Build.SourcesDirectory)\eng\common\sdl\sdl.ps1 + Set-Location -Path $(Build.SourcesDirectory)\eng\common\sdl + . .\sdl.ps1 $guardianCliLocation = Install-Gdn -Path $(Build.SourcesDirectory)\.artifacts Write-Host "##vso[task.setvariable variable=GuardianCliLocation]$guardianCliLocation" displayName: Install Guardian diff --git a/eng/common/templates/steps/generate-sbom.yml b/eng/common/templates/steps/generate-sbom.yml index 4cea8c331..a06373f38 100644 --- a/eng/common/templates/steps/generate-sbom.yml +++ b/eng/common/templates/steps/generate-sbom.yml @@ -2,12 +2,14 @@ # PackageName - The name of the package this SBOM represents. # PackageVersion - The version of the package this SBOM represents. # ManifestDirPath - The path of the directory where the generated manifest files will be placed +# IgnoreDirectories - Directories to ignore for SBOM generation. This will be passed through to the CG component detector. parameters: PackageVersion: 7.0.0 BuildDropPath: '$(Build.SourcesDirectory)/artifacts' PackageName: '.NET' ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom + IgnoreDirectories: '' sbomContinueOnError: true steps: @@ -34,6 +36,8 @@ steps: BuildDropPath: ${{ parameters.buildDropPath }} PackageVersion: ${{ parameters.packageVersion }} ManifestDirPath: ${{ parameters.manifestDirPath }} + ${{ if ne(parameters.IgnoreDirectories, '') }}: + AdditionalComponentDetectorArgs: '--IgnoreDirectories ${{ parameters.IgnoreDirectories }}' - task: PublishPipelineArtifact@1 displayName: Publish SBOM manifest diff --git a/eng/common/templates/steps/source-build.yml b/eng/common/templates/steps/source-build.yml index 12a8ff94d..a97a185a3 100644 --- a/eng/common/templates/steps/source-build.yml +++ b/eng/common/templates/steps/source-build.yml @@ -63,11 +63,21 @@ steps: targetRidArgs='/p:TargetRid=${{ parameters.platform.targetRID }}' fi + runtimeOsArgs= + if [ '${{ parameters.platform.runtimeOS }}' != '' ]; then + runtimeOsArgs='/p:RuntimeOS=${{ parameters.platform.runtimeOS }}' + fi + publishArgs= if [ '${{ parameters.platform.skipPublishValidation }}' != 'true' ]; then publishArgs='--publish' fi + assetManifestFileName=SourceBuild_RidSpecific.xml + if [ '${{ parameters.platform.name }}' != '' ]; then + assetManifestFileName=SourceBuild_${{ parameters.platform.name }}.xml + fi + ${{ coalesce(parameters.platform.buildScript, './build.sh') }} --ci \ --configuration $buildConfig \ --restore --build --pack $publishArgs -bl \ @@ -75,8 +85,10 @@ steps: $internalRuntimeDownloadArgs \ $internalRestoreArgs \ $targetRidArgs \ + $runtimeOsArgs \ /p:SourceBuildNonPortable=${{ parameters.platform.nonPortable }} \ - /p:ArcadeBuildFromSource=true + /p:ArcadeBuildFromSource=true \ + /p:AssetManifestFileName=$assetManifestFileName displayName: Build # Upload build logs for diagnosis. diff --git a/eng/common/templates/variables/pool-providers.yml b/eng/common/templates/variables/pool-providers.yml new file mode 100644 index 000000000..a7b943c2f --- /dev/null +++ b/eng/common/templates/variables/pool-providers.yml @@ -0,0 +1,48 @@ +# Select a pool provider based off branch name. Anything with branch name containing 'release' must go into an -Svc pool, +# otherwise it should go into the "normal" pools. This separates out the queueing and billing of released branches. + +# Motivation: +# Once a given branch of a repository's output has been officially "shipped" once, it is then considered to be COGS +# (Cost of goods sold) and should be moved to a servicing pool provider. This allows both separation of queueing +# (allowing release builds and main PR builds to not intefere with each other) and billing (required for COGS. +# Additionally, the pool provider name itself may be subject to change when the .NET Core Engineering Services +# team needs to move resources around and create new and potentially differently-named pools. Using this template +# file from an Arcade-ified repo helps guard against both having to update one's release/* branches and renaming. + +# How to use: +# This yaml assumes your shipped product branches use the naming convention "release/..." (which many do). +# If we find alternate naming conventions in broad usage it can be added to the condition below. +# +# First, import the template in an arcade-ified repo to pick up the variables, e.g.: +# +# variables: +# - template: eng/common/templates/variables/pool-providers.yml +# +# ... then anywhere specifying the pool provider use the runtime variables, +# $(DncEngInternalBuildPool) and $ (DncEngPublicBuildPool), e.g.: +# +# pool: +# name: $(DncEngInternalBuildPool) +# demands: ImageOverride -equals windows.vs2019.amd64 + +variables: +# Coalesce the target and source branches so we know when a PR targets a release branch +# If these variables are somehow missing, fall back to main (tends to have more capacity) +- name: BranchNameForPoolSelection + value: ${{ coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main') }} + +# Any new -Svc alternative pools should have variables added here to allow for splitting work + +# Main branch pools +- ${{ if ne(contains(variables['BranchNameForPoolSelection'], 'release'), true) }}: + - name: DncEngPublicBuildPool + value: NetCore-Public + - name: DncEngInternalBuildPool + value: NetCore1ESPool-Internal + +# Release branch pools +- ${{ if contains(variables['BranchNameForPoolSelection'], 'release') }}: + - name: DncEngPublicBuildPool + value: NetCore-Svc-Public + - name: DncEngInternalBuildPool + value: NetCore1ESPool-Svc-Internal \ No newline at end of file diff --git a/eng/common/tools.sh b/eng/common/tools.sh index c110d0ed4..6586eab45 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -417,12 +417,11 @@ function MSBuild { Write-PipelineSetVariable -name "NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS" -value "20" Write-PipelineSetVariable -name "NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS" -value "20" - export NUGET_ENABLE_EXPERIMENTAL_HTTP_RETRY=true - export NUGET_EXPERIMENTAL_MAX_NETWORK_TRY_COUNT=6 - export NUGET_EXPERIMENTAL_NETWORK_RETRY_DELAY_MILLISECONDS=1000 - Write-PipelineSetVariable -name "NUGET_ENABLE_EXPERIMENTAL_HTTP_RETRY" -value "true" - Write-PipelineSetVariable -name "NUGET_EXPERIMENTAL_MAX_NETWORK_TRY_COUNT" -value "6" - Write-PipelineSetVariable -name "NUGET_EXPERIMENTAL_NETWORK_RETRY_DELAY_MILLISECONDS" -value "1000" + # https://github.com/dotnet/arcade/issues/11369 - disable new MSBuild server feature on linux + # This feature is new and can result in build failures from connection timeout errors. + export DOTNET_CLI_DO_NOT_USE_MSBUILD_SERVER=1 + Write-PipelineSetVariable -name "DOTNET_CLI_DO_NOT_USE_MSBUILD_SERVER" -value "1" + fi local toolset_dir="${_InitializeToolset%/*}" @@ -493,6 +492,17 @@ function MSBuild-Core { RunBuildTool "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@" } +function GetDarc { + darc_path="$temp_dir/darc" + version="$1" + + if [[ -n "$version" ]]; then + version="--darcversion $version" + fi + + "$eng_root/common/darc-init.sh" --toolpath "$darc_path" $version +} + ResolvePath "${BASH_SOURCE[0]}" _script_dir=`dirname "$_ResolvePath"` diff --git a/eng/docker/alpine.3.15/Dockerfile b/eng/docker/alpine.3.15/Dockerfile deleted file mode 100644 index 2d7e65698..000000000 --- a/eng/docker/alpine.3.15/Dockerfile +++ /dev/null @@ -1,34 +0,0 @@ -# -# Copyright (c) .NET Foundation and contributors. All rights reserved. -# Licensed under the MIT license. See LICENSE file in the project root for full license information. -# - -# Dockerfile that creates a container suitable to build dotnet-cli -FROM mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.15-20220610131707-f0ea7ba - -RUN apk update && apk upgrade && apk add --no-cache curl ncurses - -# This Dockerfile doesn't use the USER_ID, but the parameter needs to be declared to prevent docker -# from issuing a warning -ARG USER_ID=0 -RUN adduser code_executor -u ${USER_ID} -G root -D -RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers - -# With the User Change, we need to change permissions on these directories -RUN chmod -R a+rwx /usr/local -RUN chmod -R a+rwx /home - -# Set working directory -ARG WORK_DIR -WORKDIR ${WORK_DIR} - -# Set up Azure Artifacts credential provider -# We download the installer and execute it using ${USER_ID} so that the installer -# put the NuGet plugins in the correct $HOME/.nuget folder. -RUN curl -O https://raw.githubusercontent.com/Microsoft/artifacts-credprovider/master/helpers/installcredprovider.sh -RUN chmod +x ./installcredprovider.sh - -# Set user to the one we just created -USER ${USER_ID} - -RUN ./installcredprovider.sh diff --git a/eng/docker/centos/Dockerfile b/eng/docker/centos/Dockerfile deleted file mode 100644 index 1dfeaf8d2..000000000 --- a/eng/docker/centos/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -# -# Copyright (c) .NET Foundation and contributors. All rights reserved. -# Licensed under the MIT license. See LICENSE file in the project root for full license information. -# - -# Dockerfile that creates a container suitable to build dotnet-cli -# Via https://github.com/dotnet/versions/blob/main/build-info/docker/image-info.dotnet-dotnet-buildtools-prereqs-docker-main.json -FROM mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-rpmpkg-19d155e-20200221152150 - -# Setup User to match Host User, and give superuser permissions -ARG USER_ID=0 -RUN useradd -m code_executor -u ${USER_ID} -g root -RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers - -# With the User Change, we need to change permissions on these directories -RUN chmod -R a+rwx /usr/local -RUN chmod -R a+rwx /home -RUN chmod -R 4755 /usr/bin/sudo - -# Set user to the one we just created -USER ${USER_ID} - -# Set working directory -ARG WORK_DIR -WORKDIR ${WORK_DIR} diff --git a/eng/docker/debian/Dockerfile b/eng/docker/debian/Dockerfile deleted file mode 100644 index ebafe9adb..000000000 --- a/eng/docker/debian/Dockerfile +++ /dev/null @@ -1,48 +0,0 @@ -# -# Copyright (c) .NET Foundation and contributors. All rights reserved. -# Licensed under the MIT license. See LICENSE file in the project root for full license information. -# - -# Dockerfile that creates a container suitable to build dotnet-cli -FROM mcr.microsoft.com/dotnet-buildtools/prereqs:debian-stretch-20211001171226-047508b - -# Install the deb packaging toolchain we need to build debs -RUN apt-get update \ - && apt-get -y install \ - debhelper \ - build-essential \ - devscripts \ - locales \ - && rm -rf /var/lib/apt/lists/* - -# liblldb is needed so deb package build does not throw missing library info errors -RUN apt-get update \ - && apt-get -y install liblldb-3.9 \ - && rm -rf /var/lib/apt/lists/* - -# Misc Dependencies for build -RUN rm -rf /var/lib/apt/lists/* && \ - apt-get update && \ - apt-get -qqy install \ - sudo && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -RUN localedef -c -i en_US -f UTF-8 en_US.UTF-8 - -# Setup User to match Host User, and give superuser permissions -ARG USER_ID=0 -RUN useradd -m code_executor -u ${USER_ID} -g sudo -RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers - -# With the User Change, we need to change permissions on these directories -RUN chmod -R a+rwx /usr/local -RUN chmod -R a+rwx /home -RUN chmod -R 755 /usr/lib/sudo - -# Set user to the one we just created -USER ${USER_ID} - -# Set working directory -ARG WORK_DIR -WORKDIR ${WORK_DIR} diff --git a/eng/docker/fedora.36/Dockerfile b/eng/docker/fedora.36/Dockerfile deleted file mode 100644 index d36d5c15e..000000000 --- a/eng/docker/fedora.36/Dockerfile +++ /dev/null @@ -1,30 +0,0 @@ -# -# Copyright (c) .NET Foundation and contributors. All rights reserved. -# Licensed under the MIT license. See LICENSE file in the project root for full license information. -# - -# Dockerfile that creates a container suitable to build dotnet-cli -FROM mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36-20220716171953-531d246 - -RUN dnf install -y nss - -RUN dnf clean all - -# Override RID set by the dotnet-buildtools-prereqs docker image -ENV __PUBLISH_RID=fedora.36-x64 - -# Setup User to match Host User, and give superuser permissions -ARG USER_ID=0 -RUN useradd -m code_executor -u ${USER_ID} -g wheel -RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers - -# With the User Change, we need to change permissions on these directories -RUN chmod -R a+rwx /usr/local -RUN chmod -R a+rwx /home - -# Set user to the one we just created -USER ${USER_ID} - -# Set working directory -ARG WORK_DIR -WORKDIR ${WORK_DIR} diff --git a/eng/docker/ubuntu.18.04/Dockerfile b/eng/docker/ubuntu.18.04/Dockerfile deleted file mode 100644 index 1f8175001..000000000 --- a/eng/docker/ubuntu.18.04/Dockerfile +++ /dev/null @@ -1,34 +0,0 @@ -# -# Copyright (c) .NET Foundation and contributors. All rights reserved. -# Licensed under the MIT license. See LICENSE file in the project root for full license information. -# - -# Dockerfile that creates a container suitable to build dotnet-cli -FROM mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-f90bc20-20180320154721 - -RUN apt-get update && \ - apt-get -qqy install \ - curl \ - libcurl4 \ - devscripts \ - debhelper \ - sudo && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -# Setup User to match Host User, and give superuser permissions -ARG USER_ID=0 -RUN useradd -m code_executor -u ${USER_ID} -g sudo -RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers - -# With the User Change, we need to change permissions on these directories -RUN chmod -R a+rwx /usr/local -RUN chmod -R a+rwx /home -RUN chmod -R 755 /usr/lib/sudo - -# Set user to the one we just created -USER ${USER_ID} - -# Set working directory -ARG WORK_DIR -WORKDIR ${WORK_DIR} diff --git a/eng/dockerrun.ps1 b/eng/dockerrun.ps1 deleted file mode 100644 index e3b117258..000000000 --- a/eng/dockerrun.ps1 +++ /dev/null @@ -1,60 +0,0 @@ -[CmdletBinding(PositionalBinding=$false)] -Param( - [bool] $noninteractive = $false, - [string] $dockerImageName, - [string] $dockerContainerTag = "dotnetcli-build", - [string] $dockerContainerName = "dotnetcli-build-container", - [Parameter(ValueFromRemainingArguments=$true)][String[]]$additionalArgs -) - -# sample command line: .\eng\dockerrun.ps1 -dockerImageName ubuntu.18.04 /p:DisableSourceLink=true --test --pack --publish - -Write-Host "Docker image name: $dockerImageName" -Write-Host "Additional args: $additionalArgs" - -. $PSScriptRoot\common\tools.ps1 - -# docker build -f old\scripts\docker\rhel\Dockerfile --build-arg USER_ID=1000 -t redhat . -# docker run -it -v c:\git\core-sdk-arcade:/opt/code redhat bash - -$dockerFile = Resolve-Path (Join-Path $RepoRoot "eng\docker\$dockerImageName") - -docker build --build-arg WORK_DIR=$RepoRoot --build-arg USER_ID=1000 -t "$dockerContainerTag" $dockerFile - -$interactiveFlag = "-i" -if ($noninteractive) -{ - $interactiveFlag = "" -} - -` # -e DOTNET_INSTALL_DIR=/opt/code/artifacts/docker/$dockerImageName/.dotnet ` - -docker run $interactiveFlag -t --rm --sig-proxy=true ` - --name "$dockerContainerName" ` - -v "${RepoRoot}:${RepoRoot}" ` - -e DOTNET_CORESDK_IGNORE_TAR_EXIT_CODE=1 ` - -e CHANNEL ` - -e DOTNET_BUILD_SKIP_CROSSGEN ` - -e PUBLISH_TO_AZURE_BLOB ` - -e NUGET_FEED_URL ` - -e NUGET_API_KEY ` - -e ARTIFACT_STORAGE_ACCOUNT ` - -e ARTIFACT_STORAGE_CONTAINER ` - -e CHECKSUM_STORAGE_ACCOUNT ` - -e CHECKSUM_STORAGE_CONTAINER ` - -e BLOBFEED_STORAGE_CONTAINER ` - -e CLIBUILD_SKIP_TESTS ` - -e COMMITCOUNT ` - -e DROPSUFFIX ` - -e RELEASESUFFIX ` - -e COREFXAZURECONTAINER ` - -e AZUREACCOUNTNAME ` - -e RELEASETOOLSGITURL ` - -e CORESETUPBLOBROOTURL ` - -e PB_ASSETROOTURL ` - -e PB_PACKAGEVERSIONPROPSURL ` - -e PB_PUBLISHBLOBFEEDURL ` - -e EXTERNALRESTORESOURCES ` - -e ARCADE_PARTITION="${dockerImageName}" ` - $dockerContainerTag ` - ${RepoRoot}/run-build.sh @additionalArgs \ No newline at end of file diff --git a/eng/dockerrun.sh b/eng/dockerrun.sh deleted file mode 100755 index 775ca367d..000000000 --- a/eng/dockerrun.sh +++ /dev/null @@ -1,179 +0,0 @@ -#!/usr/bin/env bash -# -# Copyright (c) .NET Foundation and contributors. All rights reserved. -# Licensed under the MIT license. See LICENSE file in the project root for full license information. -# - -set -e - -SOURCE="${BASH_SOURCE[0]}" -while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink - DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - SOURCE="$(readlink "$SOURCE")" - [[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located -done -DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - -cd "$DIR/.." - -INTERACTIVE="-i" - -while [[ $# > 0 ]]; do - key=$1 - - case $key in - --non-interactive) - INTERACTIVE= - ;; - -i|--image) - DOCKER_IMAGENAME=$2 - shift - ;; - -d|--dockerfile) - DOCKERFILE=$2 - shift - ;; - -h|-?|--help) - echo "Usage: $0 [-d|--dockerfile ] [-i|--image ] " - echo "" - echo "Options:" - echo " The path to the Dockerfile to use to create the build container" - echo " The name of an existing Dockerfile folder under eng/docker to use as the Dockerfile" - echo " The command to run once inside the container (repo root is mapped to DOCKER_HOST_SHARE_DIR; defaults to nothing, which runs the default shell)" - exit 0 - ;; - *) - break # the first non-switch we get ends parsing - ;; - esac - - shift -done - -if [ -z "$DOCKERFILE" ]; then - if [ -z "$DOCKER_IMAGENAME" ]; then - if [ "$(uname)" == "Darwin" ]; then - echo "Defaulting to 'ubuntu' image for Darwin" - export DOCKERFILE=eng/docker/ubuntu - elif [ "$(cat /etc/*-release | grep -cim1 ubuntu)" -eq 1 ]; then - echo "Detected current OS as Ubuntu, determining ubuntu version to use..." - if [ "$(cat /etc/*-release | grep -cim1 16.04)" -eq 1 ]; then - echo "using 'ubuntu.16.04' image" - export DOCKERFILE=eng/docker/ubuntu.16.04 - else - echo "using 'ubuntu' image" - export DOCKERFILE=eng/docker/ubuntu - fi - elif [ "$(cat /etc/*-release | grep -cim1 centos)" -eq 1 ]; then - echo "Detected current OS as CentOS, using 'centos' image" - export DOCKERFILE=eng/docker/centos - elif [ "$(cat /etc/*-release | grep -cim1 rhel)" -eq 1 ]; then - echo "Detected current OS as rhel, using 'rhel' image" - export DOCKERFILE=eng/docker/rhel - elif [ "$(cat /etc/*-release | grep -cim1 debian)" -eq 1 ]; then - echo "Detected current OS as Debian, using 'debian' image" - export DOCKERFILE=eng/docker/debian - elif [ "$(cat /etc/*-release | grep -cim1 fedora)" -eq 1 ]; then - echo "Detected current OS as Fedora, determining fedora version to use..." - if [ "$(cat /etc/*-release | grep -cim1 23)" -eq 1 ]; then - echo "using 'fedora.23' image" - export DOCKERFILE=eng/docker/fedora.23 - fi - else - echo "Unknown Linux Distro. Using 'ubuntu' image" - export DOCKERFILE=eng/docker/ubuntu - fi - else - echo "Using requested image: $DOCKER_IMAGENAME" - export DOCKERFILE="eng/docker/$DOCKER_IMAGENAME" - fi -fi - -[ -z "$DOTNET_BUILD_CONTAINER_TAG" ] && DOTNET_BUILD_CONTAINER_TAG="dotnetcli-build" -[ -z "$DOTNET_BUILD_CONTAINER_NAME" ] && DOTNET_BUILD_CONTAINER_NAME="dotnetcli-build-container" -[ -z "$DOCKER_HOST_SHARE_DIR" ] && DOCKER_HOST_SHARE_DIR=$(pwd) - -# Make container names CI-specific if we're running in CI -# Jenkins -[ ! -z "$BUILD_TAG" ] && DOTNET_BUILD_CONTAINER_NAME="$BUILD_TAG" -# VSO -[ ! -z "$BUILD_BUILDID" ] && DOTNET_BUILD_CONTAINER_NAME="$BUILD_BUILDID" - -function retry { - local max_count=$1 - shift - - local count=0 - until "$@"; do - exit=$? - wait=$((2 ** $count)) - count=$(($count + 1)) - if [[ ${count} -lt ${max_count} ]]; then - echo "Retry $count/$max_count returned $exit, wait $wait seconds..." - sleep ${wait} - else - echo "Retry $count/$max_count returned $exit." - return ${exit} - fi - done - return 0 -} - -# Build the docker container (will be fast if it is already built) -# with retry since docker pull has high failure rate -echo "Building Docker Container using Dockerfile: $DOCKERFILE" -retry 10 docker build --build-arg WORK_DIR=$DOCKER_HOST_SHARE_DIR --build-arg USER_ID=$(id -u) -t $DOTNET_BUILD_CONTAINER_TAG $DOCKERFILE 2>&1 - -# Run the build in the container -echo "Launching build in Docker Container" -echo "Running command: $BUILD_COMMAND" -echo "Using code from: $DOCKER_HOST_SHARE_DIR" -[ -z "$INTERACTIVE" ] || echo "Running Interactive" - -# Note: passwords/keys should not be passed in the environment -docker run $INTERACTIVE -t --rm --sig-proxy=true \ - --name $DOTNET_BUILD_CONTAINER_NAME \ - -v $DOCKER_HOST_SHARE_DIR:$DOCKER_HOST_SHARE_DIR \ - -e CHANNEL \ - -e DOTNET_BUILD_SKIP_CROSSGEN \ - -e PUBLISH_TO_AZURE_BLOB \ - -e NUGET_FEED_URL \ - -e NUGET_API_KEY \ - -e ARTIFACT_STORAGE_ACCOUNT \ - -e ARTIFACT_STORAGE_CONTAINER \ - -e CHECKSUM_STORAGE_ACCOUNT \ - -e CHECKSUM_STORAGE_CONTAINER \ - -e BLOBFEED_STORAGE_CONTAINER \ - -e CLIBUILD_SKIP_TESTS \ - -e COMMITCOUNT \ - -e DROPSUFFIX \ - -e RELEASESUFFIX \ - -e COREFXAZURECONTAINER \ - -e AZUREACCOUNTNAME \ - -e RELEASETOOLSGITURL \ - -e CORESETUPBLOBROOTURL \ - -e PB_ASSETROOTURL \ - -e PB_PACKAGEVERSIONPROPSURL \ - -e PB_PUBLISHBLOBFEEDURL \ - -e _PUBLISHBLOBFEEDURL \ - -e _ASSETROOTURL \ - -e _PACKAGEVERSIONPROPSURL \ - -e EXTERNALRESTORESOURCES \ - -e BUILD_REPOSITORY_URI \ - -e BUILD_REPOSITORY_NAME \ - -e BUILD_SOURCEBRANCH \ - -e BUILD_BUILDNUMBER \ - -e BUILD_BUILDID \ - -e BUILD_SOURCEVERSION \ - -e SYSTEM_TEAMPROJECT \ - -e POSTBUILDSIGN \ - -e SYSTEM_DEFINITIONID \ - -e SYSTEM_TEAMFOUNDATIONCOLLECTIONURI \ - -e AGENT_JOBNAME \ - -e AGENT_OS \ - -e VSS_NUGET_URI_PREFIXES \ - -e VSS_NUGET_ACCESSTOKEN \ - -e DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0 \ - -e NUGET_CREDENTIALPROVIDER_SESSIONTOKENCACHE_ENABLED=true \ - $DOTNET_BUILD_CONTAINER_TAG \ - $BUILD_COMMAND "$@" diff --git a/eng/pipelines/templates/steps/vmr-prepare.yml b/eng/pipelines/templates/steps/vmr-prepare.yml new file mode 100644 index 000000000..5a18630f9 --- /dev/null +++ b/eng/pipelines/templates/steps/vmr-prepare.yml @@ -0,0 +1,28 @@ +### These steps clone the VMR (https://github.com/dotnet/dotnet) into $(Agent.BuildDirectory)/vmr +### Component Governance scan is also triggered over the VMR's non-repo sources + +parameters: +- name: vmrBranch + displayName: dotnet/dotnet branch to use + type: string + default: $(Build.SourceBranchName) + +steps: +- checkout: vmr + clean: true + displayName: Clone dotnet/dotnet + fetchDepth: 0 + path: vmr + +- script: | + git switch -c ${{ parameters.vmrBranch }} + displayName: Checkout ${{ parameters.vmrBranch }} + workingDirectory: $(Agent.BuildDirectory)/vmr + +# TODO (https://github.com/dotnet/arcade/issues/11332): Allow full CG? +# Currently, we ignore dirs of individual repos - they have been scanned before +- ${{ if and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'internal')) }}: + - task: ComponentGovernanceComponentDetection@0 + inputs: + sourceScanPath: $(Agent.BuildDirectory)/vmr + ignoreDirectories: $(Agent.BuildDirectory)/vmr/src diff --git a/eng/pipelines/templates/steps/vmr-pull-updates.yml b/eng/pipelines/templates/steps/vmr-pull-updates.yml new file mode 100644 index 000000000..960f58975 --- /dev/null +++ b/eng/pipelines/templates/steps/vmr-pull-updates.yml @@ -0,0 +1,60 @@ +### These steps synchronize new code from product repositories into the VMR (https://github.com/dotnet/dotnet). +### They initialize the darc CLI and pull the new updates. +### Changes are applied locally onto the already cloned VMR (located in $vmrPath). + +parameters: +- name: vmrBranch + displayName: dotnet/dotnet branch to use + type: string + +- name: targetRef + displayName: Target revision in dotnet/installer to synchronize + type: string + default: $(Build.SourceVersion) + +- name: vmrToken + displayName: PAT that allows pushing to dotnet/dotnet + type: string + +- name: vmrPath + displayName: Path where the dotnet/dotnet is checked out to + type: string + default: $(Agent.BuildDirectory)/vmr + +steps: +- checkout: self + clean: true + displayName: Clone dotnet/installer + fetchDepth: 0 + path: installer + +- script: | + source ./eng/common/tools.sh + InitializeDotNetCli true + ./.dotnet/dotnet tool restore + displayName: Restore darc + workingDirectory: $(Agent.BuildDirectory)/installer + +- script: git checkout -B ${{ parameters.vmrBranch }} + displayName: Prepare branch ${{ parameters.vmrBranch }} + workingDirectory: $(vmrPath) + +# TODO (https://github.com/dotnet/arcade/issues/11386): Remove this step +# This step is here so that darc can find the PR commit (which might be in some fork) +# We need to make darc understand that it needs to look in the fork from this PR +- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}: + - script: | + cp -r $(Agent.BuildDirectory)/installer $(Agent.TempDirectory)/03298978DFFFCD23 + displayName: Prepare dotnet/installer clone + +- script: > + $(Agent.BuildDirectory)/installer/.dotnet/dotnet darc vmr update + --vmr ${{ parameters.vmrPath }} + --tmp $(Agent.TempDirectory) + --azdev-pat $(System.AccessToken) + --github-pat ${{ parameters.vmrToken }} + --recursive + --verbose + installer:${{ parameters.targetRef }} + displayName: Synchronize dotnet/dotnet + workingDirectory: $(Agent.BuildDirectory)/installer diff --git a/eng/pipelines/templates/variables/vmr-variables.yml b/eng/pipelines/templates/variables/vmr-variables.yml new file mode 100644 index 000000000..0d6af8fff --- /dev/null +++ b/eng/pipelines/templates/variables/vmr-variables.yml @@ -0,0 +1,9 @@ +variables: +- name: vmrPath + value: $(Agent.BuildDirectory)/vmr + +- ${{ if eq(variables['System.TeamProject'], 'internal') }}: + - group: DotNetBot-GitHub +- ${{ else }}: + - name: BotAccount-dotnet-bot-repo-PAT + value: N/A \ No newline at end of file diff --git a/eng/pipelines/vmr-synchronization.yml b/eng/pipelines/vmr-synchronization.yml new file mode 100644 index 000000000..cf624ab12 --- /dev/null +++ b/eng/pipelines/vmr-synchronization.yml @@ -0,0 +1,74 @@ +### This pipeline synchronizes code from product repositories into the VMR (https://github.com/dotnet/dotnet) + +parameters: +- name: targetRef + displayName: Target revision in dotnet/installer to synchronize to + type: string + default: $(Build.SourceVersion) + +- name: vmrBranch + displayName: dotnet/dotnet branch to use + type: string + default: $(Build.SourceBranchName) + +- name: noPush + displayName: Don't push changes to dotnet/dotnet + type: boolean + default: false + +trigger: + branches: + include: + - main + - release/* + - internal/release/* + +pr: none + +resources: + repositories: + - repository: vmr + type: github + name: dotnet/dotnet + endpoint: dotnet + +variables: +- template: /eng/common/templates/variables/pool-providers.yml +- template: templates/variables/vmr-variables.yml + +jobs: +- job: Synchronize + displayName: Synchronize dotnet/dotnet + timeoutInMinutes: 120 + + pool: + ${{ if eq(variables['System.TeamProject'], 'public') }}: + name: $(DncEngPublicBuildPool) + demands: ImageOverride -equals Build.Ubuntu.2004.Amd64.Open + ${{ else }}: + name: $(DncEngInternalBuildPool) + demands: ImageOverride -equals Build.Ubuntu.2004.Amd64 + + steps: + - template: templates/steps/vmr-prepare.yml + parameters: + vmrBranch: ${{ parameters.vmrBranch }} + + - template: templates/steps/vmr-pull-updates.yml + parameters: + vmrPath: $(vmrPath) + vmrBranch: ${{ parameters.vmrBranch }} + targetRef: ${{ parameters.targetRef }} + vmrToken: $(BotAccount-dotnet-bot-repo-PAT) + + - ${{ if and(not(parameters.noPush), ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'internal')) }}: + - script: |- + set -x + git config --global user.email 'dotnet-maestro[bot]@users.noreply.github.com' && git config --global user.name 'dotnet-maestro[bot]' + git remote add dotnet 'https://$(BotAccount-dotnet-bot-repo-PAT)@github.com/dotnet/dotnet.git' + git fetch dotnet + git branch ${{ parameters.vmrBranch }} + git branch --set-upstream-to=dotnet/${{ parameters.vmrBranch }} ${{ parameters.vmrBranch }} || echo 'Branch ${{ parameters.vmrBranch }} not found in remote' + git push dotnet ${{ parameters.vmrBranch }} + displayName: Push changes to dotnet/dotnet + workingDirectory: $(vmrPath) diff --git a/eng/pipelines/vmr-validation.yml b/eng/pipelines/vmr-validation.yml new file mode 100644 index 000000000..bdd0bbd31 --- /dev/null +++ b/eng/pipelines/vmr-validation.yml @@ -0,0 +1,51 @@ +### This pipeline validates new changes of the VMR (https://github.com/dotnet/dotnet) +### VMR is cloned and updates are applied locally + +parameters: +- name: vmrBranch + displayName: dotnet/dotnet branch to use + type: string + default: $(System.PullRequest.TargetBranch) + +trigger: none + +pr: + branches: + include: + - main + - release/* + - internal/release/* + +resources: + repositories: + - repository: vmr + type: github + name: dotnet/dotnet + endpoint: public + +variables: +- template: /eng/common/templates/variables/pool-providers.yml +- template: templates/variables/vmr-variables.yml + +jobs: +- job: Validate + displayName: Test VMR synchronization + pool: + ${{ if eq(variables['System.TeamProject'], 'public') }}: + name: $(DncEngPublicBuildPool) + demands: ImageOverride -equals Build.Ubuntu.2004.Amd64.Open + ${{ else }}: + name: $(DncEngInternalBuildPool) + demands: ImageOverride -equals Build.Ubuntu.2004.Amd64 + + steps: + - template: templates/steps/vmr-prepare.yml + parameters: + vmrBranch: ${{ parameters.vmrBranch }} + + - template: templates/steps/vmr-pull-updates.yml + parameters: + vmrPath: $(vmrPath) + vmrBranch: ${{ parameters.vmrBranch }} + targetRef: $(Build.SourceVersion) + vmrToken: $(BotAccount-dotnet-bot-repo-PAT) diff --git a/eng/source-build-tarball-build-official.yml b/eng/source-build-tarball-build-official.yml index a230a4d7c..5d396baab 100644 --- a/eng/source-build-tarball-build-official.yml +++ b/eng/source-build-tarball-build-official.yml @@ -4,7 +4,19 @@ resources: pipelines: - pipeline: installer-build-resource source: dotnet-installer-official-ci - trigger: true + trigger: + branches: + include: + - main + - release/* + - internal/release/* + exclude: + - release/6.0.3xx + - internal/release/6.0.3xx + - release/6.0.4xx + - internal/release/6.0.4xx + stages: + - build stages: - stage: build diff --git a/global.json b/global.json index dcb720a56..fda4cecfe 100644 --- a/global.json +++ b/global.json @@ -1,17 +1,17 @@ { "tools": { - "dotnet": "7.0.100", + "dotnet": "8.0.100-alpha.1.22423.9", "runtimes": { "dotnet": [ - "$(VSRedistCommonNetCoreSharedFrameworkx6470PackageVersion)" + "7.0.0-rc.1.22426.10" ] } }, "native-tools": { - "cmake": "3.16.4" + "cmake": "3.21.0" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "7.0.0-beta.22558.4", - "Microsoft.DotNet.CMake.Sdk": "7.0.0-beta.22558.4" + "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.22554.2", + "Microsoft.DotNet.CMake.Sdk": "8.0.0-beta.22554.2" } } diff --git a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml index 9de76621f..042bb7349 100644 --- a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml +++ b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml @@ -68,7 +68,7 @@ jobs: - ${{ if ne(parameters.excludeSdkContentTests, 'true') }}: - download: ${{ parameters.installerBuildResourceId }} artifact: BlobArtifacts - patterns: '**/dotnet-sdk-+([0-9]).+([0-9]).+([0-9])?(-@(preview|rc|rtm)*)-linux-${{ parameters.architecture }}.tar.gz' + patterns: '**/dotnet-sdk-+([0-9]).+([0-9]).+([0-9])?(-@(alpha|preview|rc|rtm)*)-linux-${{ parameters.architecture }}.tar.gz' displayName: Download MSFT sdk Tarball - ${{ if eq(parameters.usePreviousArtifacts, 'true') }}: @@ -157,7 +157,7 @@ jobs: dockerEnvArgs+=" -e SMOKE_TESTS_WARN_POISON_DIFFS=true" fi - docker run --rm $dockerVolumeArgs -w /tarball $dockerEnvArgs $(_Container) ./build.sh $poisonArg --run-smoke-test $(additionalBuildArgs) -- /p:SmokeTestConsoleVerbosity=detailed + docker run --rm $dockerVolumeArgs -w /tarball $dockerEnvArgs $(_Container) ./build.sh $poisonArg --run-smoke-test $(additionalBuildArgs) -- -p:SmokeTestConsoleVerbosity=detailed displayName: Run Tests # Don't use CopyFiles@2 as it encounters permissions issues because it indexes all files in the source directory graph. diff --git a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml index cffdf6bdb..acdfe5901 100644 --- a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml +++ b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml @@ -2,15 +2,24 @@ jobs: - job: Source_Build_Create_Tarball - container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-33-20210222183538-031e7d2 + container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36 displayName: Source-Build Create Tarball pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: - name: NetCore-Svc-Public - demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open + ${{ if in(variables['Build.Reason'], 'PullRequest') }}: + name: NetCore-Public-XL + demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open + ${{ else }}: + name: NetCore-Svc-Public + demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open ${{ if eq(variables['System.TeamProject'], 'internal') }}: - name: NetCore1ESPool-Svc-Internal - demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 + ${{ if in(variables['Build.Reason'], 'PullRequest') }}: + name: NetCore1ESPool-Internal-XL + demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 + ${{ else }}: + name: NetCore1ESPool-Svc-Internal + demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 + variables: - name: _BuildConfig value: Release diff --git a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml index 60b39b652..c794bbc8f 100644 --- a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml +++ b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml @@ -9,18 +9,21 @@ parameters: # The following parameters aren't expected to be passed in rather they are used for encapsulation # ----------------------------------------------------------------------------------------------- - centOSStream8Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8-20220809204800-17a4aab - centOSStream9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9-20220107135047-4cd394c - debian11Arm64Container: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-arm64v8-20220812185233-b286fae - fedora36Container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36-20220818134137-a09384f - ubuntu2004Container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-20220813234344-4c008dd + centOSStream8Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8 + centOSStream9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9 + debian11Arm64Container: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-arm64v8 + fedora36Container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36 + ubuntu2004Container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04 poolInternalAmd64: name: NetCore1ESPool-Svc-Internal demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 + poolInternalAmd64PR: + name: NetCore1ESPool-Internal-XL + demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 poolInternalArm64: name: Docker-Linux-Arm-Internal poolPublicAmd64: - name: NetCore-Svc-Public + name: NetCore-Public-XL demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open jobs: @@ -38,13 +41,13 @@ jobs: _EnablePoison: false _ExcludeOmniSharpTests: true _RunOnline: true - CentOSStream8-Offline: - _BootstrapPrep: false - _Container: ${{ parameters.centOSStream8Container }} - _EnablePoison: false - _ExcludeOmniSharpTests: true - _RunOnline: false ${{ if ne(variables['Build.Reason'], 'PullRequest') }}: + CentOSStream8-Offline: + _BootstrapPrep: false + _Container: ${{ parameters.centOSStream8Container }} + _EnablePoison: false + _ExcludeOmniSharpTests: true + _RunOnline: false CentOSStream9-Offline: _BootstrapPrep: false _Container: ${{ parameters.centOSStream9Container }} @@ -68,7 +71,10 @@ jobs: ${{ if eq(variables['System.TeamProject'], 'public') }}: ${{ parameters.poolPublicAmd64 }} ${{ if eq(variables['System.TeamProject'], 'internal') }}: - ${{ parameters.poolInternalAmd64 }} + ${{ if in(variables['Build.Reason'], 'PullRequest') }}: + ${{ parameters.poolInternalAmd64PR }} + ${{ else }}: + ${{ parameters.poolInternalAmd64 }} - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml diff --git a/src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets b/src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets index e7a9698c6..1f7c8aed3 100644 --- a/src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets +++ b/src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets @@ -14,7 +14,7 @@ $(RepoRoot)artifacts/ - $(ArtifactsDir)tarball/ + $(ArtifactsDir)tarball/ $([MSBuild]::EnsureTrailingSlash('$(TarballDir)')) $(TarballRootDir)src/ $(TarballRootDir)git-info/ @@ -234,8 +234,8 @@ SourceBuildMetadataDir="$(TarballGitInfoDir)" Dependencies="@(SourceBuildRepos)" /> - - + + - @@ -285,10 +285,6 @@ - - @@ -417,4 +413,3 @@ - diff --git a/src/SourceBuild/Arcade/tools/TextOnlyPackages.csproj b/src/SourceBuild/Arcade/tools/TextOnlyPackages.csproj index 067fcdc25..3de474133 100644 --- a/src/SourceBuild/Arcade/tools/TextOnlyPackages.csproj +++ b/src/SourceBuild/Arcade/tools/TextOnlyPackages.csproj @@ -17,10 +17,11 @@ - - - - + + + + + - false - false - true - false @@ -231,7 +223,7 @@ - + diff --git a/src/SourceBuild/tarball/content/LICENSE.TXT b/src/SourceBuild/tarball/content/LICENSE.TXT new file mode 100644 index 000000000..a616ed188 --- /dev/null +++ b/src/SourceBuild/tarball/content/LICENSE.TXT @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/src/SourceBuild/tarball/content/SECURITY.md b/src/SourceBuild/tarball/content/SECURITY.md new file mode 100644 index 000000000..e0dfff56a --- /dev/null +++ b/src/SourceBuild/tarball/content/SECURITY.md @@ -0,0 +1,41 @@ + + +## Security + +Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). + +If you believe you have found a security vulnerability in any Microsoft-owned repository that meets Microsoft's [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)) of a security vulnerability, please report it to us as described below. + +## Reporting Security Issues + +**Please do not report security vulnerabilities through public GitHub issues.** + +Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report). + +If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc). + +You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). + +Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: + + * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) + * Full paths of source file(s) related to the manifestation of the issue + * The location of the affected source code (tag/branch/commit or direct URL) + * Any special configuration required to reproduce the issue + * Step-by-step instructions to reproduce the issue + * Proof-of-concept or exploit code (if possible) + * Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs. + +## Preferred Languages + +We prefer all communications to be in English. + +## Policy + +Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd). + + diff --git a/src/SourceBuild/tarball/content/build.sh b/src/SourceBuild/tarball/content/build.sh index e899d2f80..b6056a426 100755 --- a/src/SourceBuild/tarball/content/build.sh +++ b/src/SourceBuild/tarball/content/build.sh @@ -17,7 +17,7 @@ usage() { SCRIPT_ROOT="$(cd -P "$( dirname "$0" )" && pwd)" -MSBUILD_ARGUMENTS=("/flp:v=detailed") +MSBUILD_ARGUMENTS=("-flp:v=detailed") CUSTOM_REF_PACKAGES_DIR='' CUSTOM_PACKAGES_DIR='' alternateTarget=false @@ -32,18 +32,18 @@ while :; do lowerI="$(echo $1 | awk '{print tolower($0)}')" case $lowerI in --clean-while-building) - MSBUILD_ARGUMENTS+=( "/p:CleanWhileBuilding=true") + MSBUILD_ARGUMENTS+=( "-p:CleanWhileBuilding=true") ;; --online) - MSBUILD_ARGUMENTS+=( "/p:BuildWithOnlineSources=true") + MSBUILD_ARGUMENTS+=( "-p:BuildWithOnlineSources=true") ;; --poison) - MSBUILD_ARGUMENTS+=( "/p:EnablePoison=true") + MSBUILD_ARGUMENTS+=( "-p:EnablePoison=true") ;; --run-smoke-test) alternateTarget=true runningSmokeTests=true - MSBUILD_ARGUMENTS+=( "/t:RunSmokeTest" ) + MSBUILD_ARGUMENTS+=( "-t:RunSmokeTest" ) ;; --with-packages) CUSTOM_PACKAGES_DIR="$(cd -P "$2" && pwd)" @@ -85,9 +85,9 @@ done if [ "$CUSTOM_PACKAGES_DIR" != "" ]; then if [ "$runningSmokeTests" == "true" ]; then - MSBUILD_ARGUMENTS+=( "/p:CustomSourceBuiltPackagesPath=$CUSTOM_PACKAGES_DIR" ) + MSBUILD_ARGUMENTS+=( "-p:CustomSourceBuiltPackagesPath=$CUSTOM_PACKAGES_DIR" ) else - MSBUILD_ARGUMENTS+=( "/p:CustomPrebuiltSourceBuiltPackagesPath=$CUSTOM_PACKAGES_DIR" ) + MSBUILD_ARGUMENTS+=( "-p:CustomPrebuiltSourceBuiltPackagesPath=$CUSTOM_PACKAGES_DIR" ) fi fi @@ -174,12 +174,14 @@ export NUGET_PACKAGES=$restoredPackagesDir/ LogDateStamp=$(date +"%m%d%H%M%S") -if [ "$alternateTarget" == "true" ]; then - "$CLI_ROOT/dotnet" $CLI_ROOT/sdk/$SDK_VERSION/MSBuild.dll "$SCRIPT_ROOT/build.proj" /bl:$SCRIPT_ROOT/artifacts/log/Debug/BuildTests_$LogDateStamp.binlog /fileLoggerParameters:LogFile=$SCRIPT_ROOT/artifacts/logs/BuildTests_$LogDateStamp.log /clp:v=m ${MSBUILD_ARGUMENTS[@]} "$@" -else - $CLI_ROOT/dotnet $CLI_ROOT/sdk/$SDK_VERSION/MSBuild.dll /bl:$SCRIPT_ROOT/artifacts/log/Debug/BuildXPlatTasks_$LogDateStamp.binlog /fileLoggerParameters:LogFile=$SCRIPT_ROOT/artifacts/logs/BuildXPlatTasks_$LogDateStamp.log $SCRIPT_ROOT/tools-local/init-build.proj /t:PrepareOfflineLocalTools ${MSBUILD_ARGUMENTS[@]} "$@" - # kill off the MSBuild server so that on future invocations we pick up our custom SDK Resolver - $CLI_ROOT/dotnet build-server shutdown +"$CLI_ROOT/dotnet" build-server shutdown - $CLI_ROOT/dotnet $CLI_ROOT/sdk/$SDK_VERSION/MSBuild.dll /bl:$SCRIPT_ROOT/artifacts/log/Debug/Build_$LogDateStamp.binlog /fileLoggerParameters:LogFile=$SCRIPT_ROOT/artifacts/logs/Build_$LogDateStamp.log $SCRIPT_ROOT/build.proj ${MSBUILD_ARGUMENTS[@]} "$@" +if [ "$alternateTarget" == "true" ]; then + "$CLI_ROOT/dotnet" msbuild "$SCRIPT_ROOT/build.proj" -bl:$SCRIPT_ROOT/artifacts/log/Debug/BuildTests_$LogDateStamp.binlog -flp:LogFile=$SCRIPT_ROOT/artifacts/logs/BuildTests_$LogDateStamp.log -clp:v=m ${MSBUILD_ARGUMENTS[@]} "$@" +else + "$CLI_ROOT/dotnet" msbuild "$SCRIPT_ROOT/tools-local/init-build.proj" -bl:$SCRIPT_ROOT/artifacts/log/Debug/BuildXPlatTasks_$LogDateStamp.binlog -flp:LogFile=$SCRIPT_ROOT/artifacts/logs/BuildXPlatTasks_$LogDateStamp.log -t:PrepareOfflineLocalTools ${MSBUILD_ARGUMENTS[@]} "$@" + # kill off the MSBuild server so that on future invocations we pick up our custom SDK Resolver + "$CLI_ROOT/dotnet" build-server shutdown + + "$CLI_ROOT/dotnet" msbuild "$SCRIPT_ROOT/build.proj" -bl:$SCRIPT_ROOT/artifacts/log/Debug/Build_$LogDateStamp.binlog -flp:LogFile=$SCRIPT_ROOT/artifacts/logs/Build_$LogDateStamp.log ${MSBUILD_ARGUMENTS[@]} "$@" fi diff --git a/src/SourceBuild/tarball/content/eng/bootstrap/README.template.md b/src/SourceBuild/tarball/content/eng/bootstrap/README.template.md new file mode 100644 index 000000000..dd184e41a --- /dev/null +++ b/src/SourceBuild/tarball/content/eng/bootstrap/README.template.md @@ -0,0 +1,160 @@ +# dotnet/dotnet - Home of the .NET VMR + +This repository is a **Virtual Monolithic Repository (VMR)** which includes all the source code and infrastructure needed to build the .NET SDK. + +What this means: +- **Monolithic** - a join of multiple repositories that make up the whole product, such as [dotnet/runtime](https://github.com/dotnet/runtime) or [dotnet/sdk](https://github.com/dotnet/sdk). +- **Virtual** - a mirror (not replacement) of product repos where sources from those repositories are synchronized into. +- **Experimental** - not to be depended on as we reserve the right to delete the current instance and create a new, different one in its stead. See [Limitations](#limitations). + +In the VMR, you can find: +- source files of [each product repository](#list-of-components) which are mirrored inside of their respective directories under [`src/`](https://github.com/dotnet/dotnet/tree/main/src), +- tooling that enables [building the whole .NET product from source](https://github.com/dotnet/source-build) on Linux platforms, +- small customizations, in the form of [patches](https://github.com/dotnet/dotnet/tree/main/src/installer/src/SourceBuild/tarball/patches), applied on top of the original code to make the build possible, +- *[in future]* E2E tests for the whole .NET product. + +Just like the development repositories, the VMR will have a release branch for every feature band (e.g. `release/8.0.1xx-preview1`). +Similarly, VMR's `main` branch will follow `main` branches of product repositories (see [Synchronization Based on Declared Dependencies](https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/VMR-Design-And-Operation.md#synchronization-based-on-declared-dependencies)). + +More in-depth documentation about the VMR can be found in [VMR Design And Operation](https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/VMR-Design-And-Operation.md#layout). +See also [dotnet/source-build](https://github.com/dotnet/source-build) for more information about our whole-product source-build. + +## Goals + +- The main purpose of the [dotnet/dotnet](https://github.com/dotnet/dotnet) repository is to have all source code necessary to build the .NET product available in one repository and identified by a single commit. +- The VMR also aims to become the place from which we release and service future versions of .NET to reduce the complexity of the product construction process. This should allow our partners and and 3rd parties to easily build, test and modify .NET using their custom infrastructure as well as make the process available to the community. +- Lastly, we hope to solve other problems that the current multi-repo setup brings: + - Enable the standard [down-/up-stream open-source model](https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/VMR-Upstream-Downstream.md). + - Fulfill requirements of .NET distro builders such as RedHat or Canonical to natively include .NET in their distribution repositories. + - Simplify scenarios such as client-run testing of bug fixes and improvements. The build should work in an offline environment too for certain platforms. + - Enable developers to make and test changes spanning multiple repositories. + - More efficient pipeline for security fixes during the CVE pre-disclosure process. + +## Limitations + +**This is a work-in-progress and an experiment.** +There are considerable limitations to what is possible at the moment. For an extensive list of current limitations, please see [Temporary Mechanics](https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/VMR-Design-And-Operation.md#temporary-mechanics). + +The VMR is expected to become non-experimental by .NET 8 Preview 1 (Februrary, 2023). +This means it won't be short-lived anymore and we won't be reserving the right to delete and re-create it anymore. +Other limitations might apply until the .NET 9 timeframe. +See the [Unified Build roadmap](https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/Roadmap.md) for more details. + +### Supported platforms + +The VMR only supports .NET 8.0 and higher. Additionally, source-build currently supports Linux only. +It is expected that Mac and Windows will be supported in the .NET 9.0. + +For the latest information about Source-Build support for new .NET versions, please check our [GitHub Discussions page](https://github.com/dotnet/source-build/discussions) for announcements. + +### Online build only + +Building the product offline is not fully working at the moment. The `--online` switch is needed when building the VMR as not all dependencies are currently built from source. + +### Code flow +For the time being, the source code only flows one way - from the development repos into the VMR. +More details on this process: + +- [Source Synchronization Process](https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/VMR-Design-And-Operation.md#source-synchronization-process) +- [Synchronization Based on Declared Dependencies](https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/VMR-Design-And-Operation.md#synchronization-based-on-declared-dependencies) +- [Moving Code and Dependencies between the VMR and Development Repos](https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/VMR-Design-And-Operation.md#moving-code-and-dependencies-between-the-vmr-and-development-repos) + +We expect the code flow to start working both ways in the .NET 9 timeframe. +See the [Unified Build roadmap](https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/Roadmap.md) for more details. + +### Contribution + +At this time, the VMR will not accept any changes and is a read-only mirror of the development repositories only. +Please, make the changes in the respective development repositories (e.g., [dotnet/runtime](https://github.com/dotnet/runtime) or [dotnet/sdk](https://github.com/dotnet/sdk)) and they will get synchronized into the VMR automatically. + +## Dev instructions + +Please note that **this repository is an experiment and a work-in-progress so it is possible that the build is broken**. +For the latest information about Source-Build support, please watch for announcements posted on our [GitHub Discussions page](https://github.com/dotnet/source-build/discussions). + +### Prerequisites + +The dependencies for building .NET from source can be found [here](https://github.com/dotnet/runtime/blob/main/docs/workflow/requirements/linux-requirements.md). + +### Building + +1. **Clone the VMR** + + ```bash + git clone https://github.com/dotnet/dotnet dotnet-dotnet + ``` + +2. **Prep the source to build on your distro** + This downloads a .NET SDK and a number of .NET packages needed to build .NET from source. + + ```bash + cd dotnet-dotnet + ./prep.sh + ``` + +3. **Build the .NET SDK** + + ```bash + ./build.sh --clean-while-building --online + ``` + + This builds the entire .NET SDK from source. + The resulting SDK is placed at `artifacts/x64/Release/dotnet-sdk-8.0.100-your-RID.tar.gz`. + + Currently, the `--online` flag is required to allow NuGet restore from online sources during the build. + This is useful for testing unsupported releases that don't yet build without downloading pre-built binaries from the internet. + + Run `./build.sh --help` to see more information about supported build options. + +4. *(Optional)* **Unpack and install the .NET SDK** + + ```bash + mkdir -p $HOME/dotnet + tar zxf artifacts/x64/Release/dotnet-sdk-8.0.100-your-RID.tar.gz -C $HOME/dotnet + ln -s $HOME/dotnet/dotnet /usr/bin/dotnet + ``` + + To test your source-built SDK, run the following: + + ```bash + dotnet --info + ``` + +## List of components + +To enable full offline source-building of the VMR, we have no other choice than to synchronize all the necessary code into the VMR. This also includes any code referenced via git submodules. More details on why and how this is done can be found here: +- [Strategy for managing external source dependencies](https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/VMR-Strategy-For-External-Source.md) +- [Source Synchronization Process](https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/VMR-Design-And-Operation.md#source-synchronization-process) + +### Detailed list + + + +> Auto-generated list of components will go here + + + +The repository also contains a [JSON manifest](https://github.com/dotnet/dotnet/blob/main/src/source-manifest.json) listing all components in a machine-readable format. + +## Filing Issues + +This repo does not accept issues as of now. Please file issues to the appropriate development repos. +For issues with the VMR itself, please use the [source-build repository](https://github.com/dotnet/source-build). + +## Useful Links + +- Design documentation for the VMR - a set of documents describing the high-level design and the why's and how's + - [Design and Operation](https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/VMR-Design-And-Operation.md) + - [Upstream/Downstream Relationships](https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/VMR-Upstream-Downstream.md) + - [Code and Build Workflow](https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/VMR-Code-And-Build-Workflow.md) + - [Strategy for Managing External Source Dependencies](https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/VMR-Strategy-For-External-Source.md) +- [.NET Source-Build](https://github.com/dotnet/source-build) +- [What is .NET](https://dotnet.microsoft.com) + +## .NET Foundation + +.NET Runtime is a [.NET Foundation](https://www.dotnetfoundation.org/projects) project. + +## License + +.NET is licensed under the [MIT](LICENSE.TXT) license. diff --git a/src/SourceBuild/tarball/content/eng/bootstrap/THIRD-PARTY-NOTICES.template.txt b/src/SourceBuild/tarball/content/eng/bootstrap/THIRD-PARTY-NOTICES.template.txt new file mode 100644 index 000000000..ede8d240b --- /dev/null +++ b/src/SourceBuild/tarball/content/eng/bootstrap/THIRD-PARTY-NOTICES.template.txt @@ -0,0 +1,13 @@ +.NET Core uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Core software. + +Attributions and licence notices for test cases originally authored by +third parties can be found in the respective test directories. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + diff --git a/src/SourceBuild/tarball/content/repos/Directory.Build.targets b/src/SourceBuild/tarball/content/repos/Directory.Build.targets index 9a61647b4..7bf88fdd6 100644 --- a/src/SourceBuild/tarball/content/repos/Directory.Build.targets +++ b/src/SourceBuild/tarball/content/repos/Directory.Build.targets @@ -85,11 +85,11 @@ NewText="/p:RepoRoot="$repo_root/"" /> - + Outputs="$(RepoCompletedSemaphorePath)AddNoWarns.complete" > $(BuildCommandArgs) /p:MicrosoftNetFrameworkReferenceAssembliesVersion=1.0.0 @@ -21,6 +22,11 @@ $(ProjectDirectory)global.json $(ProjectDirectory)NuGet.config + + + CS0618 diff --git a/src/SourceBuild/tarball/content/repos/format.proj b/src/SourceBuild/tarball/content/repos/format.proj index 9b57876c2..ccec352c7 100644 --- a/src/SourceBuild/tarball/content/repos/format.proj +++ b/src/SourceBuild/tarball/content/repos/format.proj @@ -7,6 +7,9 @@ $(ProjectDirectory)global.json $(ProjectDirectory)NuGet.config false + + + CS9057 diff --git a/src/SourceBuild/tarball/content/repos/installer.proj b/src/SourceBuild/tarball/content/repos/installer.proj index f6803f4cf..41d52d74b 100644 --- a/src/SourceBuild/tarball/content/repos/installer.proj +++ b/src/SourceBuild/tarball/content/repos/installer.proj @@ -25,7 +25,7 @@ $(BuildCommandArgs) /p:Rid=$(TargetRid) $(BuildCommandArgs) /p:DOTNET_INSTALL_DIR=$(DotNetCliToolDir) - $(BuildCommandArgs) /p:AspNetCoreInstallerRid=linux-$(Platform) + $(BuildCommandArgs) /p:AspNetCoreInstallerRid=$(TargetRid) $(BuildCommandArgs) /p:CoreSetupRid=freebsd-x64 /p:PortableBuild=true $(BuildCommandArgs) /p:CoreSetupRid=osx-x64 @@ -46,6 +46,9 @@ true + + + CS9057 diff --git a/src/SourceBuild/tarball/content/repos/known-good.proj b/src/SourceBuild/tarball/content/repos/known-good.proj index 50720cc4c..0adee7f53 100644 --- a/src/SourceBuild/tarball/content/repos/known-good.proj +++ b/src/SourceBuild/tarball/content/repos/known-good.proj @@ -18,7 +18,8 @@ - + + @@ -42,7 +43,6 @@ - diff --git a/src/SourceBuild/tarball/content/repos/package-source-build.proj b/src/SourceBuild/tarball/content/repos/package-source-build.proj index 0ada671fb..fbc5a0cc1 100644 --- a/src/SourceBuild/tarball/content/repos/package-source-build.proj +++ b/src/SourceBuild/tarball/content/repos/package-source-build.proj @@ -50,7 +50,7 @@ $(OutputPath)$(SourceBuiltArtifactsTarballName).$(installerOutputPackageVersion).tar.gz - diff --git a/src/SourceBuild/tarball/content/repos/razor-compiler.proj b/src/SourceBuild/tarball/content/repos/razor-compiler.proj index f47d22c98..a56aa1ea4 100644 --- a/src/SourceBuild/tarball/content/repos/razor-compiler.proj +++ b/src/SourceBuild/tarball/content/repos/razor-compiler.proj @@ -7,6 +7,10 @@ $(ProjectDirectory)global.json $(ProjectDirectory)NuGet.config false + + + NU1507 diff --git a/src/SourceBuild/tarball/content/repos/runtime-portable.proj b/src/SourceBuild/tarball/content/repos/runtime-portable.proj deleted file mode 100644 index 09b4625e9..000000000 --- a/src/SourceBuild/tarball/content/repos/runtime-portable.proj +++ /dev/null @@ -1,47 +0,0 @@ - - - - - runtime - - - - - - - - - - - - - - - $(ProjectDirectory)artifacts/portableLog - $(ProjectDirectory)artifacts/portableObj - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/SourceBuild/tarball/content/repos/runtime.common.props b/src/SourceBuild/tarball/content/repos/runtime.common.props deleted file mode 100644 index 3269a3f63..000000000 --- a/src/SourceBuild/tarball/content/repos/runtime.common.props +++ /dev/null @@ -1,47 +0,0 @@ - - - runtime - - - - - - - true - - - $(StandardSourceBuildArgs.Replace('-bl', '-nobl')) - - $(StandardSourceBuildCommand) $(BuildCommandArgs) - $(ArmEnvironmentVariables) $(StandardSourceBuildCommand) $(BuildCommandArgs) - - $(ProjectDirectory)/clean$(ShellExtension) - - - - - $(ProjectDirectory)global.json - $(ProjectDirectory)NuGet.config - false - true - - - - - - - - - - - - - - - - - - - - - diff --git a/src/SourceBuild/tarball/content/repos/runtime.common.targets b/src/SourceBuild/tarball/content/repos/runtime.common.targets deleted file mode 100644 index 862b70dc8..000000000 --- a/src/SourceBuild/tarball/content/repos/runtime.common.targets +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - $(ProjectDirectory)pkg/Microsoft.NETCore.Platforms/runtime.json - - - - - - - - - <_builtRuntimePackages Include="$(SourceBuiltAssetsDir)*.symbols.nupkg" /> - <_builtRuntimePackages> - $([System.String]::Copy('%(FileName)').Replace('symbols', 'nupkg')) - - - - - - - - - - - - diff --git a/src/SourceBuild/tarball/content/repos/runtime.proj b/src/SourceBuild/tarball/content/repos/runtime.proj index 59ea1d6fc..231c9b464 100644 --- a/src/SourceBuild/tarball/content/repos/runtime.proj +++ b/src/SourceBuild/tarball/content/repos/runtime.proj @@ -1,18 +1,59 @@ - + + + true + + $(ProjectDirectory)/clean$(ShellExtension) + $(TargetRid) osx-x64 freebsd-x64 win-x64 + <_platformIndex>$(NETCoreSdkRuntimeIdentifier.LastIndexOf('-')) + $(NETCoreSdkRuntimeIdentifier.Substring(0, $(_platformIndex))) + + <_platformIndex>$(NETCoreSdkPortableRuntimeIdentifier.LastIndexOf('-')) + $(NETCoreSdkPortableRuntimeIdentifier.Substring(0, $(_platformIndex))) + $(StandardSourceBuildArgs) $(BuildCommandArgs) /p:TargetRid=$(OverrideTargetRid) + $(BuildCommandArgs) /p:RuntimeOS=$(RuntimeOS) + $(BuildCommandArgs) /p:BaseOS=$(BaseOS) $(BuildCommandArgs) /p:SourceBuildNonPortable=true $(StandardSourceBuildCommand) $(BuildCommandArgs) + + + $(ProjectDirectory)global.json + $(ProjectDirectory)NuGet.config + false + true + + + + + + + + + + + + + + + + + + + + + + @@ -20,8 +61,49 @@ - - + + + + + + + + + + + + + $(ProjectDirectory)pkg/Microsoft.NETCore.Platforms/runtime.json + + + + + + + + + <_builtRuntimePackages Include="$(SourceBuiltAssetsDir)*.symbols.nupkg" /> + <_builtRuntimePackages> + $([System.String]::Copy('%(FileName)').Replace('symbols', 'nupkg')) + + + + + + + + + + + diff --git a/src/SourceBuild/tarball/content/repos/source-build-reference-packages.proj b/src/SourceBuild/tarball/content/repos/source-build-reference-packages.proj index a4fb27340..c1321e716 100644 --- a/src/SourceBuild/tarball/content/repos/source-build-reference-packages.proj +++ b/src/SourceBuild/tarball/content/repos/source-build-reference-packages.proj @@ -4,7 +4,11 @@ $(BaseIntermediatePath)source-build-reference-package-cache - $(StandardSourceBuildCommand) $(StandardSourceBuildArgs) /p:LocalNuGetPackageCacheDirectory=$(LocalNuGetPackageCacheDirectory) + $(StandardSourceBuildArgs) + $(BuildCommandArgs) /p:MicrosoftNetCoreIlasmPackageRuntimeId=$(NETCoreSdkRuntimeIdentifier) + $(BuildCommandArgs) /p:LocalNuGetPackageCacheDirectory=$(LocalNuGetPackageCacheDirectory) + + $(StandardSourceBuildCommand) $(BuildCommandArgs) $(ProjectDirectory)NuGet.config $(ProjectDirectory)global.json diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/BasicScenarioTests.cs b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/BasicScenarioTests.cs index af435cfdc..1857faa9f 100644 --- a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/BasicScenarioTests.cs +++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/BasicScenarioTests.cs @@ -29,11 +29,12 @@ public class BasicScenarioTests : SmokeTests { foreach (DotNetLanguage language in Enum.GetValues()) { - yield return new(nameof(BasicScenarioTests), language, DotNetTemplate.Console, DotNetActions.Build | DotNetActions.Run | DotNetActions.PublishComplex | DotNetActions.PublishR2R); + // TODO: Re-enable once the templates target net8.0 - https://github.com/dotnet/source-build/issues/3093 + //yield return new(nameof(BasicScenarioTests), language, DotNetTemplate.Console, DotNetActions.Build | DotNetActions.Run | DotNetActions.PublishComplex | DotNetActions.PublishR2R); yield return new(nameof(BasicScenarioTests), language, DotNetTemplate.ClassLib, DotNetActions.Build | DotNetActions.Publish); - yield return new(nameof(BasicScenarioTests), language, DotNetTemplate.XUnit, DotNetActions.Test); - yield return new(nameof(BasicScenarioTests), language, DotNetTemplate.NUnit, DotNetActions.Test); - yield return new(nameof(BasicScenarioTests), language, DotNetTemplate.MSTest, DotNetActions.Test); + //yield return new(nameof(BasicScenarioTests), language, DotNetTemplate.XUnit, DotNetActions.Test); + //yield return new(nameof(BasicScenarioTests), language, DotNetTemplate.NUnit, DotNetActions.Test); + //yield return new(nameof(BasicScenarioTests), language, DotNetTemplate.MSTest, DotNetActions.Test); } } } diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetFormatTests.cs b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetFormatTests.cs index d6ec47734..5303c3d89 100644 --- a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetFormatTests.cs +++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetFormatTests.cs @@ -19,7 +19,7 @@ public class DotNetFormatTests : SmokeTests /// /// Format an unformatted project and verify that the output matches the pre-computed solution. /// - [Fact] + //[Fact] - Re-enable once https://github.com/dotnet/sdk/issues/27332 is resolved. Tracking - https://github.com/dotnet/source-build/issues/3004 public void FormatProject() { string unformattedCsFilePath = Path.Combine(BaselineHelper.GetAssetsDirectory(), UnformattedFileName); diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/WebScenarioTests.cs b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/WebScenarioTests.cs index 56d0368f3..b763fe83b 100644 --- a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/WebScenarioTests.cs +++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/WebScenarioTests.cs @@ -28,14 +28,15 @@ public class WebScenarioTests : SmokeTests { foreach (DotNetLanguage language in new[] { DotNetLanguage.CSharp, DotNetLanguage.FSharp }) { - yield return new(nameof(WebScenarioTests), language, DotNetTemplate.Web, DotNetActions.Build | DotNetActions.Run | DotNetActions.PublishComplex); - yield return new(nameof(WebScenarioTests), language, DotNetTemplate.Mvc, DotNetActions.Build | DotNetActions.Run | DotNetActions.Publish) { NoHttps = true }; - yield return new(nameof(WebScenarioTests), language, DotNetTemplate.WebApi, DotNetActions.Build | DotNetActions.Run | DotNetActions.Publish); + // TODO: Re-enable once the templates target net8.0 - https://github.com/dotnet/source-build/issues/3093 + // yield return new(nameof(WebScenarioTests), language, DotNetTemplate.Web, DotNetActions.Build | DotNetActions.Run | DotNetActions.PublishComplex); + // yield return new(nameof(WebScenarioTests), language, DotNetTemplate.Mvc, DotNetActions.Build | DotNetActions.Run | DotNetActions.Publish) { NoHttps = true }; + // yield return new(nameof(WebScenarioTests), language, DotNetTemplate.WebApi, DotNetActions.Build | DotNetActions.Run | DotNetActions.Publish); } - yield return new(nameof(WebScenarioTests), DotNetLanguage.CSharp, DotNetTemplate.Razor, DotNetActions.Build | DotNetActions.Run | DotNetActions.Publish); + //yield return new(nameof(WebScenarioTests), DotNetLanguage.CSharp, DotNetTemplate.Razor, DotNetActions.Build | DotNetActions.Run | DotNetActions.Publish); yield return new(nameof(WebScenarioTests), DotNetLanguage.CSharp, DotNetTemplate.BlazorWasm, DotNetActions.Build | DotNetActions.Run | DotNetActions.Publish); - yield return new(nameof(WebScenarioTests), DotNetLanguage.CSharp, DotNetTemplate.BlazorServer, DotNetActions.Build | DotNetActions.Run | DotNetActions.Publish); + //yield return new(nameof(WebScenarioTests), DotNetLanguage.CSharp, DotNetTemplate.BlazorServer, DotNetActions.Build | DotNetActions.Run | DotNetActions.Publish); yield return new(nameof(WebScenarioTests), DotNetLanguage.CSharp, DotNetTemplate.Worker); yield return new(nameof(WebScenarioTests), DotNetLanguage.CSharp, DotNetTemplate.Angular); } diff --git a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/online.NuGet.Config b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/online.NuGet.Config index b3648690f..42d4b6334 100644 --- a/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/online.NuGet.Config +++ b/src/SourceBuild/tarball/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/online.NuGet.Config @@ -3,7 +3,7 @@ - - + + diff --git a/src/SourceBuild/tarball/content/tools-local/init-build.proj b/src/SourceBuild/tarball/content/tools-local/init-build.proj index 701f76c0c..b2c3beed1 100644 --- a/src/SourceBuild/tarball/content/tools-local/init-build.proj +++ b/src/SourceBuild/tarball/content/tools-local/init-build.proj @@ -138,7 +138,7 @@ - + diff --git a/src/SourceBuild/tarball/patches/aspnetcore/0001-Disable-warning-CS0618.patch b/src/SourceBuild/tarball/patches/aspnetcore/0001-Disable-warning-CS0618.patch deleted file mode 100644 index c2e2eedf7..000000000 --- a/src/SourceBuild/tarball/patches/aspnetcore/0001-Disable-warning-CS0618.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Logan Bussell -Date: Thu, 12 May 2022 14:32:59 -0700 -Subject: [PATCH] Disable warning CS0618 - -This is needed because IOperation.Children is deprecated in -Microsoft.CodeAnalysis 4.3.0, but aspnetcore references version 4.2.0. - -Requires https://github.com/dotnet/source-build/issues/2482 in order to eliminate this patch ---- - .../src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj b/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj -index 0b94ad2a8f..1b5cb9d907 100644 ---- a/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj -+++ b/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj -@@ -9,6 +9,7 @@ - false - false - $(MSBuildProjectName).nuspec -+ $(NoWarn);CS0618 - - - diff --git a/src/SourceBuild/tarball/patches/aspnetcore/0002-IDE0060-workaround.patch b/src/SourceBuild/tarball/patches/aspnetcore/0002-IDE0060-workaround.patch new file mode 100644 index 000000000..62a4f8d31 --- /dev/null +++ b/src/SourceBuild/tarball/patches/aspnetcore/0002-IDE0060-workaround.patch @@ -0,0 +1,22 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: MichaelSimons +Date: Fri, 12 Aug 2022 23:02:54 +0000 +Subject: [PATCH] IDE0060 workaround + +Backport: https://github.com/dotnet/roslyn-analyzers/issues/6228 +--- + src/Http/Routing/src/Matching/Ascii.cs | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/Http/Routing/src/Matching/Ascii.cs b/src/Http/Routing/src/Matching/Ascii.cs +index 081af0bb07..393a9eb65f 100644 +--- a/src/Http/Routing/src/Matching/Ascii.cs ++++ b/src/Http/Routing/src/Matching/Ascii.cs +@@ -12,7 +12,6 @@ internal static class Ascii + // and we know that the spans are the same length. + // + // Similar to https://github.com/dotnet/coreclr/blob/master/src/System.Private.CoreLib/shared/System/Globalization/CompareInfo.cs#L549 +- [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool AsciiIgnoreCaseEquals(ReadOnlySpan a, ReadOnlySpan b, int length) + { + // The caller should have checked the length. We enforce that here by THROWING if the diff --git a/src/SourceBuild/tarball/patches/command-line-api/0001-Update-projects-to-net7.0-TFM-with-shared-property.patch b/src/SourceBuild/tarball/patches/command-line-api/0001-Update-projects-to-net7.0-TFM-with-shared-property.patch deleted file mode 100644 index d875d0aeb..000000000 --- a/src/SourceBuild/tarball/patches/command-line-api/0001-Update-projects-to-net7.0-TFM-with-shared-property.patch +++ /dev/null @@ -1,268 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Logan Bussell -Date: Tue, 19 Jul 2022 14:47:28 -0700 -Subject: [PATCH] Update projects to net7.0 TFM with shared property, Only enable trimming for .NET Core - -Backport PR: https://github.com/dotnet/command-line-api/pull/1803 ---- - Directory.Build.props | 1 + - global.json | 7 ++++--- - .../System.CommandLine.ApiCompatibility.Tests.csproj | 2 +- - .../System.CommandLine.Benchmarks.csproj | 4 ++-- - .../System.CommandLine.DragonFruit.Tests.csproj | 2 +- - .../System.CommandLine.Generator.Tests.csproj | 2 +- - .../System.CommandLine.Hosting.Tests.csproj | 2 +- - .../System.CommandLine.NamingConventionBinder.Tests.csproj | 2 +- - .../System.CommandLine.Rendering.Tests.csproj | 2 +- - .../EndToEndTestApp/EndToEndTestApp.csproj | 2 +- - .../dotnet-suggest.Tests.csproj | 2 +- - src/System.CommandLine.Suggest/dotnet-suggest.csproj | 2 +- - .../System.CommandLine.Tests.csproj | 2 +- - .../TestApps/NativeAOT/NativeAOT.csproj | 4 ++-- - .../TestApps/Trimming/Trimming.csproj | 4 ++-- - src/System.CommandLine/System.CommandLine.csproj | 7 +++++-- - 16 files changed, 26 insertions(+), 21 deletions(-) - -diff --git a/Directory.Build.props b/Directory.Build.props -index c0c5f79a..901c57c7 100644 ---- a/Directory.Build.props -+++ b/Directory.Build.props -@@ -9,6 +9,7 @@ - $(NoWarn);CS8714;CS8765;CS8600;CS8601;CS8602;CS8603;CS8604 - MIT - 10.0 -+ net7.0 - - - -diff --git a/global.json b/global.json -index 1c6fd268..f5bec611 100644 ---- a/global.json -+++ b/global.json -@@ -1,12 +1,13 @@ - { - "tools": { -- "dotnet": "6.0.100", -+ "dotnet": "7.0.100-preview.6.22352.1", - "runtimes": { - "dotnet": [ -- "5.0.10" -+ "5.0.17", -+ "6.0.7" - ] - }, -- "xcopy-msbuild": "16.10.0-preview2" -+ "xcopy-msbuild": "17.1.0" - }, - "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "7.0.0-beta.22168.2" -diff --git a/src/System.CommandLine.ApiCompatibility.Tests/System.CommandLine.ApiCompatibility.Tests.csproj b/src/System.CommandLine.ApiCompatibility.Tests/System.CommandLine.ApiCompatibility.Tests.csproj -index 30bcd139..4cc48fde 100644 ---- a/src/System.CommandLine.ApiCompatibility.Tests/System.CommandLine.ApiCompatibility.Tests.csproj -+++ b/src/System.CommandLine.ApiCompatibility.Tests/System.CommandLine.ApiCompatibility.Tests.csproj -@@ -1,7 +1,7 @@ - - - -- net6.0 -+ $(TargetFrameworkForNETSDK) - false - - -diff --git a/src/System.CommandLine.Benchmarks/System.CommandLine.Benchmarks.csproj b/src/System.CommandLine.Benchmarks/System.CommandLine.Benchmarks.csproj -index e54aabc4..185ba62a 100644 ---- a/src/System.CommandLine.Benchmarks/System.CommandLine.Benchmarks.csproj -+++ b/src/System.CommandLine.Benchmarks/System.CommandLine.Benchmarks.csproj -@@ -9,8 +9,8 @@ - false - - -- net461;net5.0;net6.0; -- net5.0;net6.0; -+ net461;net5.0;net6.0;net7.0 -+ net5.0;net6.0;net7.0 - - - False -diff --git a/src/System.CommandLine.DragonFruit.Tests/System.CommandLine.DragonFruit.Tests.csproj b/src/System.CommandLine.DragonFruit.Tests/System.CommandLine.DragonFruit.Tests.csproj -index 7eee0b38..e504f7e8 100644 ---- a/src/System.CommandLine.DragonFruit.Tests/System.CommandLine.DragonFruit.Tests.csproj -+++ b/src/System.CommandLine.DragonFruit.Tests/System.CommandLine.DragonFruit.Tests.csproj -@@ -1,6 +1,6 @@ -  - -- net6.0 -+ $(TargetFrameworkForNETSDK) - AutoGeneratedProgram - - true -diff --git a/src/System.CommandLine.Generator.Tests/System.CommandLine.Generator.Tests.csproj b/src/System.CommandLine.Generator.Tests/System.CommandLine.Generator.Tests.csproj -index a423eb1e..20f0f410 100644 ---- a/src/System.CommandLine.Generator.Tests/System.CommandLine.Generator.Tests.csproj -+++ b/src/System.CommandLine.Generator.Tests/System.CommandLine.Generator.Tests.csproj -@@ -1,6 +1,6 @@ -  - -- net6.0 -+ $(TargetFrameworkForNETSDK) - $(TargetFrameworks);net462 - true - true -diff --git a/src/System.CommandLine.Hosting.Tests/System.CommandLine.Hosting.Tests.csproj b/src/System.CommandLine.Hosting.Tests/System.CommandLine.Hosting.Tests.csproj -index 328b4e12..8e2cd6ea 100644 ---- a/src/System.CommandLine.Hosting.Tests/System.CommandLine.Hosting.Tests.csproj -+++ b/src/System.CommandLine.Hosting.Tests/System.CommandLine.Hosting.Tests.csproj -@@ -1,7 +1,7 @@ -  - - -- net6.0 -+ $(TargetFrameworkForNETSDK) - $(TargetFrameworks);net462 - false - -diff --git a/src/System.CommandLine.NamingConventionBinder.Tests/System.CommandLine.NamingConventionBinder.Tests.csproj b/src/System.CommandLine.NamingConventionBinder.Tests/System.CommandLine.NamingConventionBinder.Tests.csproj -index 43eb7c29..7bff1796 100644 ---- a/src/System.CommandLine.NamingConventionBinder.Tests/System.CommandLine.NamingConventionBinder.Tests.csproj -+++ b/src/System.CommandLine.NamingConventionBinder.Tests/System.CommandLine.NamingConventionBinder.Tests.csproj -@@ -1,6 +1,6 @@ -  - -- net6.0 -+ $(TargetFrameworkForNETSDK) - $(TargetFrameworks);net462 - 10 - -diff --git a/src/System.CommandLine.Rendering.Tests/System.CommandLine.Rendering.Tests.csproj b/src/System.CommandLine.Rendering.Tests/System.CommandLine.Rendering.Tests.csproj -index 1c116508..afd6dc6a 100644 ---- a/src/System.CommandLine.Rendering.Tests/System.CommandLine.Rendering.Tests.csproj -+++ b/src/System.CommandLine.Rendering.Tests/System.CommandLine.Rendering.Tests.csproj -@@ -1,7 +1,7 @@ - - - -- net6.0 -+ $(TargetFrameworkForNETSDK) - false - - -diff --git a/src/System.CommandLine.Suggest.Tests/EndToEndTestApp/EndToEndTestApp.csproj b/src/System.CommandLine.Suggest.Tests/EndToEndTestApp/EndToEndTestApp.csproj -index 9a3eb54d..76add0d5 100644 ---- a/src/System.CommandLine.Suggest.Tests/EndToEndTestApp/EndToEndTestApp.csproj -+++ b/src/System.CommandLine.Suggest.Tests/EndToEndTestApp/EndToEndTestApp.csproj -@@ -6,7 +6,7 @@ - - - Exe -- net6.0 -+ $(TargetFrameworkForNETSDK) - - - -diff --git a/src/System.CommandLine.Suggest.Tests/dotnet-suggest.Tests.csproj b/src/System.CommandLine.Suggest.Tests/dotnet-suggest.Tests.csproj -index da6abedf..f1711a10 100644 ---- a/src/System.CommandLine.Suggest.Tests/dotnet-suggest.Tests.csproj -+++ b/src/System.CommandLine.Suggest.Tests/dotnet-suggest.Tests.csproj -@@ -1,7 +1,7 @@ - - - -- net6.0 -+ $(TargetFrameworkForNETSDK) - - - -diff --git a/src/System.CommandLine.Suggest/dotnet-suggest.csproj b/src/System.CommandLine.Suggest/dotnet-suggest.csproj -index fd825008..ce4bda1d 100644 ---- a/src/System.CommandLine.Suggest/dotnet-suggest.csproj -+++ b/src/System.CommandLine.Suggest/dotnet-suggest.csproj -@@ -1,7 +1,7 @@ -  - - Exe -- net6.0 -+ $(TargetFrameworkForNETSDK) - true - true - dotnet-suggest -diff --git a/src/System.CommandLine.Tests/System.CommandLine.Tests.csproj b/src/System.CommandLine.Tests/System.CommandLine.Tests.csproj -index c1988ec4..44b5c9fc 100644 ---- a/src/System.CommandLine.Tests/System.CommandLine.Tests.csproj -+++ b/src/System.CommandLine.Tests/System.CommandLine.Tests.csproj -@@ -1,6 +1,6 @@ -  - -- net6.0 -+ $(TargetFrameworkForNETSDK) - $(TargetFrameworks);net462 - false - -diff --git a/src/System.CommandLine.Tests/TestApps/NativeAOT/NativeAOT.csproj b/src/System.CommandLine.Tests/TestApps/NativeAOT/NativeAOT.csproj -index b0036ed0..cc306fea 100644 ---- a/src/System.CommandLine.Tests/TestApps/NativeAOT/NativeAOT.csproj -+++ b/src/System.CommandLine.Tests/TestApps/NativeAOT/NativeAOT.csproj -@@ -2,13 +2,13 @@ - - - Exe -- net6.0 -+ $(TargetFrameworkForNETSDK) - - false - - - -- ..\..\..\System.CommandLine\bin\Release\net6.0\System.CommandLine.dll -+ ..\..\..\System.CommandLine\bin\Release\$(TargetFrameworkForNETSDK)\System.CommandLine.dll - - - -diff --git a/src/System.CommandLine.Tests/TestApps/Trimming/Trimming.csproj b/src/System.CommandLine.Tests/TestApps/Trimming/Trimming.csproj -index 6dcf8892..615b0764 100644 ---- a/src/System.CommandLine.Tests/TestApps/Trimming/Trimming.csproj -+++ b/src/System.CommandLine.Tests/TestApps/Trimming/Trimming.csproj -@@ -2,7 +2,7 @@ - - - Exe -- net6.0 -+ $(TargetFrameworkForNETSDK) - enable - enable - true -@@ -10,7 +10,7 @@ - - - -- ..\..\..\System.CommandLine\bin\Release\net6.0\System.CommandLine.dll -+ ..\..\..\System.CommandLine\bin\Release\$(TargetFrameworkForNETSDK)\System.CommandLine.dll - - - -diff --git a/src/System.CommandLine/System.CommandLine.csproj b/src/System.CommandLine/System.CommandLine.csproj -index 424053a6..37115d70 100644 ---- a/src/System.CommandLine/System.CommandLine.csproj -+++ b/src/System.CommandLine/System.CommandLine.csproj -@@ -3,7 +3,7 @@ - - true - System.CommandLine -- net6.0;netstandard2.0 -+ $(TargetFrameworkForNETSDK);netstandard2.0 - enable - true - 10 -@@ -15,9 +15,12 @@ - * Test and debug support - - true -+ true -+ -+ -+ - true - true -- true - - - diff --git a/src/SourceBuild/tarball/patches/format/0001-Update-nullability-constraints-for-BeginScope-in-Sim.patch b/src/SourceBuild/tarball/patches/format/0001-Update-nullability-constraints-for-BeginScope-in-Sim.patch deleted file mode 100644 index 2285f0472..000000000 --- a/src/SourceBuild/tarball/patches/format/0001-Update-nullability-constraints-for-BeginScope-in-Sim.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Logan Bussell -Date: Mon, 16 May 2022 16:29:43 -0700 -Subject: [PATCH] Update nullability constraints for BeginScope in - SimpleConsoleLogger - -Workaround for: https://github.com/dotnet/format/issues/1609 ---- - src/Logging/SimpleConsoleLogger.cs | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Logging/SimpleConsoleLogger.cs b/src/Logging/SimpleConsoleLogger.cs -index fd8015c..2971595 100644 ---- a/src/Logging/SimpleConsoleLogger.cs -+++ b/src/Logging/SimpleConsoleLogger.cs -@@ -64,7 +64,7 @@ public bool IsEnabled(LogLevel logLevel) - return (int)logLevel >= (int)_minimalLogLevel; - } - -- public IDisposable BeginScope(TState state) -+ public IDisposable? BeginScope(TState state) where TState : notnull - { - return NullScope.Instance; - } diff --git a/src/SourceBuild/tarball/patches/razor-compiler/0001-Add-NoWarn-for-NU1507.patch b/src/SourceBuild/tarball/patches/razor-compiler/0001-Add-NoWarn-for-NU1507.patch deleted file mode 100644 index d1d297915..000000000 --- a/src/SourceBuild/tarball/patches/razor-compiler/0001-Add-NoWarn-for-NU1507.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Logan Bussell -Date: Fri, 13 May 2022 16:14:14 -0700 -Subject: [PATCH] Add NoWarn for NU1507 - -This warning occurs when using NuGet central package management without defining -any Package Source Mappings. - -Workaround for: https://github.com/dotnet/razor-compiler/issues/242 ---- - Directory.Build.props | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Directory.Build.props b/Directory.Build.props -index a57125f5..019ac376 100644 ---- a/Directory.Build.props -+++ b/Directory.Build.props -@@ -55,6 +55,7 @@ - - $(NoWarn.Replace('1591', '')) - $(NoWarn);0105 -+ $(NoWarn);NU1507 - - - $(WarningsNotAsErrors);CS1591 diff --git a/src/SourceBuild/tarball/patches/roslyn/0001-Use-the-source-built-version-of-ref-packs-and-don-t-.patch b/src/SourceBuild/tarball/patches/roslyn/0001-Use-the-source-built-version-of-ref-packs-and-don-t-.patch deleted file mode 100644 index 1a9573cb5..000000000 --- a/src/SourceBuild/tarball/patches/roslyn/0001-Use-the-source-built-version-of-ref-packs-and-don-t-.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Chris Rummel -Date: Thu, 15 Sep 2022 14:46:53 -0500 -Subject: [PATCH] Use the source-built version of ref packs and don't use app - host when building in source-build. - -Backport PR: https://github.com/dotnet/roslyn/pull/64055. - ---- - Directory.Build.targets | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/Directory.Build.targets b/Directory.Build.targets -index 8f38a48cd95..dfb4fd33c9a 100644 ---- a/Directory.Build.targets -+++ b/Directory.Build.targets -@@ -1,5 +1,20 @@ - - -+ -+ -+ -+ 6.0.0 -+ -+ -+ 6.0.0 -+ -+ -+ -+ -+ -+ false -+ -+ - - - diff --git a/src/SourceBuild/tarball/patches/sdk/0002-Look-for-msbuild-net7.0-artifacts.patch b/src/SourceBuild/tarball/patches/sdk/0002-Look-for-msbuild-net7.0-artifacts.patch deleted file mode 100644 index dd0d19c7a..000000000 --- a/src/SourceBuild/tarball/patches/sdk/0002-Look-for-msbuild-net7.0-artifacts.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Logan Bussell -Date: Tue, 20 Sep 2022 10:10:29 -0700 -Subject: [PATCH] Look for msbuild net7.0 artifacts - -Backport: https://github.com/dotnet/sdk/pull/28425 ---- - .../Microsoft.DotNet.Cli.Utils.csproj | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Cli/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj b/src/Cli/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj -index 03ea923734..3246138cf9 100644 ---- a/src/Cli/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj -+++ b/src/Cli/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj -@@ -22,7 +22,7 @@ - - - -- $(PkgMicrosoft_Build_Runtime)\contentFiles\any\net6.0\MSBuild.dll -+ $(PkgMicrosoft_Build_Runtime)\contentFiles\any\net7.0\MSBuild.dll - - - diff --git a/src/VirtualMonoRepo/InitializeVMR.proj b/src/VirtualMonoRepo/InitializeVMR.proj new file mode 100644 index 000000000..8146ae460 --- /dev/null +++ b/src/VirtualMonoRepo/InitializeVMR.proj @@ -0,0 +1,82 @@ + + + + $(RepoRoot)artifacts/ + $(ArtifactsDir)bin/VirtualMonoRepo.Tasks/$(Configuration)/net7.0/VirtualMonoRepo.Tasks.dll + + $([MSBuild]::EnsureTrailingSlash('$(VmrDir)')) + $(ArtifactsDir)tmp/ + main + + + $(VmrDir) + true + + + + + + + $(TarballGitInfoDir) + $(TarballSourceDir) + + + + + + + + + + + + + + + + + + + + + + + + + + + + $([System.IO.Path]::GetFileName("$(RepoRoot.TrimEnd('/').TrimEnd('\\'))")) + + + + + + + + + + + + + + + + + diff --git a/src/VirtualMonoRepo/Tasks/RemoteFactory.cs b/src/VirtualMonoRepo/Tasks/RemoteFactory.cs new file mode 100644 index 000000000..24d8914f3 --- /dev/null +++ b/src/VirtualMonoRepo/Tasks/RemoteFactory.cs @@ -0,0 +1,42 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System; +using System.Threading.Tasks; +using Microsoft.DotNet.DarcLib; +using Microsoft.DotNet.DarcLib.Helpers; +using Microsoft.Extensions.Logging; + +namespace Microsoft.DotNet.VirtualMonoRepo.Tasks; + +internal class RemoteFactory : IRemoteFactory +{ + private readonly IProcessManager _processManager; + private readonly IVersionDetailsParser _versionDetailsParser; + private readonly string _tmpPath; + + public RemoteFactory(IProcessManager processManager, IVersionDetailsParser versionDetailsParser, string tmpPath) + { + _processManager = processManager; + _versionDetailsParser = versionDetailsParser; + _tmpPath = tmpPath; + } + + public Task GetBarOnlyRemoteAsync(ILogger logger) + { + throw new NotImplementedException(); + } + + public Task GetRemoteAsync(string repoUrl, ILogger logger) + { + var githubClient = new DarcLib.GitHubClient( + _processManager.GitExecutable, + accessToken: null, + logger, + _tmpPath, + cache: null); + + IRemote remote = new Remote(githubClient, barClient: null, _versionDetailsParser, logger); + return Task.FromResult(remote); + } +} diff --git a/src/VirtualMonoRepo/Tasks/VirtualMonoRepo.Tasks.csproj b/src/VirtualMonoRepo/Tasks/VirtualMonoRepo.Tasks.csproj new file mode 100644 index 000000000..2d59069db --- /dev/null +++ b/src/VirtualMonoRepo/Tasks/VirtualMonoRepo.Tasks.csproj @@ -0,0 +1,20 @@ + + + net7.0 + preview + disable + false + false + false + false + true + + + + + + + + + + diff --git a/src/VirtualMonoRepo/Tasks/VirtualMonoRepo_Initialize.cs b/src/VirtualMonoRepo/Tasks/VirtualMonoRepo_Initialize.cs new file mode 100644 index 000000000..7a28720d9 --- /dev/null +++ b/src/VirtualMonoRepo/Tasks/VirtualMonoRepo_Initialize.cs @@ -0,0 +1,67 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System; +using System.IO; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Build.Framework; +using Microsoft.DotNet.DarcLib; +using Microsoft.DotNet.DarcLib.Helpers; +using Microsoft.DotNet.DarcLib.VirtualMonoRepo; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; + +namespace Microsoft.DotNet.VirtualMonoRepo.Tasks; + +/// +/// This tasks equals calling the "darc vmr initialize" command. +/// This command pulls an individual repository into the VMR for the first time. +/// It can also recursively pull all of its dependencies based on Version.Details.xml. +/// +public class VirtualMonoRepo_Initialize : Build.Utilities.Task, ICancelableTask +{ + private readonly Lazy _serviceProvider; + private readonly CancellationTokenSource _cancellationToken = new(); + + [Required] + public string Repository { get; set; } + + [Required] + public string VmrPath { get; set; } + + [Required] + public string TmpPath { get; set; } + + public string Revision { get; set; } + + public string PackageVersion { get; set; } + + public bool Recursive { get; set; } + + public VirtualMonoRepo_Initialize() + { + _serviceProvider = new(CreateServiceProvider); + } + + public override bool Execute() => ExecuteAsync().GetAwaiter().GetResult(); + + private async Task ExecuteAsync() + { + VmrPath = Path.GetFullPath(VmrPath); + TmpPath = Path.GetFullPath(TmpPath); + + var vmrInitializer = _serviceProvider.Value.GetRequiredService(); + await vmrInitializer.InitializeRepository(Repository, Revision, PackageVersion, Recursive, _cancellationToken.Token); + return true; + } + + public void Cancel() => _cancellationToken.Cancel(); + + private IServiceProvider CreateServiceProvider() => new ServiceCollection() + .AddLogging(b => b.AddConsole().AddFilter(l => l >= LogLevel.Information)) + .AddSingleton(sp => ActivatorUtilities.CreateInstance(sp, TmpPath)) + .AddVmrManagers("git", sp => new VmrInfo(VmrPath, TmpPath)) + .BuildServiceProvider(); +} diff --git a/src/VirtualMonoRepo/source-mappings.json b/src/VirtualMonoRepo/source-mappings.json new file mode 100644 index 000000000..0f2620a51 --- /dev/null +++ b/src/VirtualMonoRepo/source-mappings.json @@ -0,0 +1,170 @@ +// This file configures where the VMR synchronizes the sources from. +// Each development repository has a mapping record which says where the remote repo is, +// what files are in/excluded from the sync, etc. +// +// This file does not contain information about what version of sources is synchronized. +// Please check the source-manifest.json file for that purpose. +// +// More details on this file's mechanics: +// https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/VMR-Design-And-Operation.md#repository-source-mappings +{ + // Location within the VMR where the source-build patches are stored + // These patches are applied on top of the code synchronized into the VMR + "patchesPath": "src/installer/src/SourceBuild/tarball/patches", + + // Some files are copied outside of the src/ directory into other locations + // When files in the source paths are changed, they are automatically synchronized too + "additionalMappings": [ + { + "source": "src/installer/src/SourceBuild/tarball/content", + "destination": "" + }, + { + "source": "src/installer/eng/common", + "destination": "eng/common" + } + ], + + // These defaults are added to all mappings unless `ignoreDefaults: true` is specified + // When no "include" filter is specified, "**/*" is used + // The default filters do not apply to submodules + // Only filters which start with submodule's path are applied when syncing submodules + "defaults": { + "defaultRef": "main", + "exclude": [ + "**/*.dll", + "**/*.Dll", + "**/*.exe", + "**/*.pdb", + "**/*.mdb", + "**/*.zip", + "**/*.nupkg" + ] + }, + + // Each of these mappings has a corresponding folder in the src/ directory + "mappings": [ + { + "name": "arcade", + "defaultRemote": "https://github.com/dotnet/arcade" + }, + { + "name": "aspnetcore", + "defaultRemote": "https://github.com/dotnet/aspnetcore", + "exclude": [ + "src/submodules/MessagePack-CSharp/**/*.dll", + "**/samples/**/jquery-validation-unobtrusive/.bower.json", + "**/samples/**/jquery-validation-unobtrusive/*.js" + ] + }, + { + "name": "command-line-api", + "defaultRemote": "https://github.com/dotnet/command-line-api" + }, + { + "name": "deployment-tools", + "defaultRemote": "https://github.com/dotnet/deployment-tools" + }, + { + "name": "diagnostics", + "defaultRemote": "https://github.com/dotnet/diagnostics" + }, + { + "name": "format", + "defaultRemote": "https://github.com/dotnet/format" + }, + { + "name": "fsharp", + "defaultRemote": "https://github.com/dotnet/fsharp" + }, + { + "name": "installer", + "defaultRemote": "https://github.com/dotnet/installer", + "exclude": [ + // We don't need the tarball content in the VMR again, it's already copied in the root + "src/SourceBuild/tarball/content/**/*" + ] + }, + { + "name": "linker", + "defaultRemote": "https://github.com/dotnet/linker", + "exclude": [ + "external/cecil/**/*.dll", + "external/cecil/**/*.exe", + "external/cecil/**/*.pdb", + "external/cecil/**/*.mdb" + ] + }, + { + "name": "msbuild", + "defaultRemote": "https://github.com/dotnet/msbuild" + }, + { + "name": "nuget-client", + "defaultRemote": "https://github.com/NuGet/NuGet.Client", + "defaultRef": "dev" + }, + { + "name": "razor-compiler", + "defaultRemote": "https://github.com/dotnet/razor-compiler" + }, + { + "name": "roslyn", + "defaultRemote": "https://github.com/dotnet/roslyn" + }, + { + "name": "roslyn-analyzers", + "defaultRemote": "https://github.com/dotnet/roslyn-analyzers" + }, + { + "name": "runtime", + "defaultRemote": "https://github.com/dotnet/runtime" + }, + { + "name": "sdk", + "defaultRemote": "https://github.com/dotnet/sdk" + }, + { + "name": "source-build-externals", + "defaultRemote": "https://github.com/dotnet/source-build-externals", + "exclude": [ + "src/humanizer/samples/**/*.js", + "src/application-insights/**/*.exe", + "src/application-insights/**/*.dll", + "src/application-insights/**/*.zip" + ] + }, + { + "name": "source-build-reference-packages", + "defaultRemote": "https://github.com/dotnet/source-build-reference-packages" + }, + { + "name": "sourcelink", + "defaultRemote": "https://github.com/dotnet/sourcelink" + }, + { + "name": "symreader", + "defaultRemote": "https://github.com/dotnet/symreader" + }, + { + "name": "templating", + "defaultRemote": "https://github.com/dotnet/templating" + }, + { + "name": "test-templates", + "defaultRemote": "https://github.com/dotnet/test-templates" + }, + { + "name": "vstest", + "defaultRemote": "https://github.com/microsoft/vstest" + }, + { + "name": "xdt", + "defaultRemote": "https://github.com/dotnet/xdt" + }, + { + "name": "xliff-tasks", + "defaultRemote": "https://github.com/dotnet/xliff-tasks" + } + ] +} \ No newline at end of file diff --git a/src/redist/targets/BundledManifests.targets b/src/redist/targets/BundledManifests.targets index 6c42909d8..af2de5738 100644 --- a/src/redist/targets/BundledManifests.targets +++ b/src/redist/targets/BundledManifests.targets @@ -6,10 +6,11 @@ - - - - + + + + + @@ -55,7 +56,7 @@ + Exclude="Microsoft.NET.Workload.Mono.ToolChain;Microsoft.NET.Workload.Mono.ToolChain.net6;Microsoft.NET.Workload.Mono.ToolChain.net7;Microsoft.NET.Workload.Emscripten.net6;Microsoft.NET.Workload.Emscripten.net7" /> diff --git a/src/redist/targets/BundledTemplates.targets b/src/redist/targets/BundledTemplates.targets index 4c5a7e252..3646546f8 100644 --- a/src/redist/targets/BundledTemplates.targets +++ b/src/redist/targets/BundledTemplates.targets @@ -20,13 +20,28 @@ + + + + + + + + + + + + + + + + - - + @@ -94,10 +109,11 @@ - + + @@ -164,7 +180,7 @@ + Condition="'%(BundledTemplatesWithInstallPaths.TemplateFrameworkVersion)' == '8.0'"/> microsoft.netcore.app.runtime.$(SharedFrameworkRid) - microsoft.netcore.app.crossgen2.$(HostOSName)-$(BuildArchitecture) + microsoft.netcore.app.crossgen2.$(Crossgen2Rid) $(NuGetPackageRoot)/$(RuntimeNETCrossgenPackageName)/$(MicrosoftNETCoreAppRuntimePackageVersion)/tools/crossgen2$(ExeExtension) $(RedistLayoutPath)shared/$(SharedFrameworkName)/$(MicrosoftNETCoreAppRuntimePackageVersion) - $(RedistLayoutPath)shared/$(SharedFrameworkName)/$(VSRedistCommonNetCoreTargetingPackx6470PackageVersion) + $(RedistLayoutPath)shared/$(SharedFrameworkName)/$(VSRedistCommonNetCoreTargetingPackx6480PackageVersion) diff --git a/src/redist/targets/GenerateBundledVersions.targets b/src/redist/targets/GenerateBundledVersions.targets index c9718bef9..595671170 100644 --- a/src/redist/targets/GenerateBundledVersions.targets +++ b/src/redist/targets/GenerateBundledVersions.targets @@ -61,9 +61,9 @@ 30 - $([MSBuild]::Add($(VersionFeature), 30)) + 30 17 - $([MSBuild]::Add($(VersionFeature), 10)) + 10 @@ -76,6 +76,14 @@ <_NETStandardLibraryPackageVersion>$(NETStandardLibraryRefPackageVersion) <_NETCorePlatformsPackageVersion>$(MicrosoftNETCorePlatformsPackageVersion) + + <_NET70RuntimePackVersion>7.0.0-rc.1.22426.10 + <_NET70TargetingPackVersion>7.0.0-rc.1.22426.10 + <_WindowsDesktop70RuntimePackVersion>7.0.0-rc.1.22427.1 + <_WindowsDesktop70TargetingPackVersion>7.0.0-rc.1.22427.1 + <_AspNet70RuntimePackVersion>7.0.0-rc.1.22427.2 + <_AspNet70TargetingPackVersion>7.0.0-rc.1.22427.2 + <_NET60RuntimePackVersion>6.0.$(VersionFeature60) <_NET60TargetingPackVersion>6.0.$(VersionFeature60) <_WindowsDesktop60RuntimePackVersion>6.0.$(VersionFeature60) @@ -258,6 +266,7 @@ + @@ -358,9 +367,9 @@ Copyright (c) .NET Foundation. All rights reserved. @(ImplicitPackageVariable->'', ' ') - + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/redist/targets/GenerateLayout.targets b/src/redist/targets/GenerateLayout.targets index ae911ab1c..2eda46221 100644 --- a/src/redist/targets/GenerateLayout.targets +++ b/src/redist/targets/GenerateLayout.targets @@ -8,22 +8,22 @@ - $(VSRedistCommonAspNetCoreSharedFrameworkx6470PackageVersion) + $(VSRedistCommonAspNetCoreSharedFrameworkx6480PackageVersion) $(MicrosoftAspNetCoreAppRuntimePackageVersion) - $(VSRedistCommonNetCoreSharedFrameworkx6470PackageVersion) + $(VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion) $(MicrosoftNETCoreAppRuntimePackageVersion) - $(VSRedistCommonWindowsDesktopSharedFrameworkx6470PackageVersion) + $(VSRedistCommonWindowsDesktopSharedFrameworkx6480PackageVersion) - $(VSRedistCommonNetCoreTargetingPackx6470PackageVersion) + $(VSRedistCommonNetCoreTargetingPackx6480PackageVersion) $(MicrosoftAspNetCoreAppRefInternalPackageVersion) - $(VSRedistCommonWindowsDesktopTargetingPackx6470PackageVersion) + $(VSRedistCommonWindowsDesktopTargetingPackx6480PackageVersion) 3.0.0 @@ -59,7 +59,7 @@ dotnet-host$(InstallerStartSuffix)-$(SharedHostVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension) dotnet-hostfxr$(InstallerStartSuffix)-$(HostFxrVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension) dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppRuntimePackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension) - dotnet-runtime$(InstallerStartSuffix)$(PgoTerm)-$(VSRedistCommonNetCoreSharedFrameworkx6470PackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension) + dotnet-runtime$(InstallerStartSuffix)$(PgoTerm)-$(VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension) dotnet-runtime-deps-$(SharedHostVersion)-$(RuntimeDepsInstallerFileRid)$(InstallerExtension) windowsdesktop-runtime-$(MicrosoftWindowsDesktopAppRuntimePackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension) dotnet-targeting-pack-$(MicrosoftNETCoreAppRefPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension) @@ -81,9 +81,12 @@ $(ProductMonikerRid) linux-$(Architecture) dotnet-runtime-$(MicrosoftNETCoreAppRuntimePackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension) - dotnet-runtime$(PgoTerm)-$(VSRedistCommonNetCoreSharedFrameworkx6470PackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension) + dotnet-runtime$(PgoTerm)-$(VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension) windowsdesktop-runtime-$(MicrosoftWindowsDesktopAppRuntimePackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension) + $(HostOSName)-$(BuildArchitecture) + $(SharedFrameworkRid) + $(SharedFrameworkRid) linux-x64 $(AspNetCoreInstallerRid) @@ -91,14 +94,13 @@ aarch64 aspnetcore-runtime-$(MicrosoftAspNetCoreAppRuntimePackageVersion)-$(AspNetCoreInstallerRid)$(InstallerExtension) - aspnetcore-runtime-$(VSRedistCommonAspNetCoreSharedFrameworkx6470PackageVersion)-$(AspNetCoreInstallerRid)$(InstallerExtension) - + aspnetcore-runtime-$(VSRedistCommonAspNetCoreSharedFrameworkx6480PackageVersion)-$(AspNetCoreInstallerRid)$(InstallerExtension) aspnetcore-runtime-internal-$(MicrosoftAspNetCoreAppRuntimePackageVersion)-$(AspNetCoreInstallerRid).wixlib aspnetcore-targeting-pack-$(MicrosoftAspNetCoreAppRefPackageVersion)-$(AspNetCoreInstallerRid)$(InstallerExtension) aspnetcore-targeting-pack-$(MicrosoftAspNetCoreAppRefInternalPackageVersion)-$(AspNetCoreInstallerRid)$(InstallerExtension) aspnetcoremodule_$(Architecture)_en_v2_$(MicrosoftAspNetCoreAppRuntimePackageVersion)$(InstallerExtension) aspnetcore-targeting-pack-$(MicrosoftAspNetCoreAppRefPackageVersion)-$(AspNetCoreArchiveRid)$(ArchiveExtension) - aspnetcore-runtime-internal-$(MicrosoftAspNetCoreAppRuntimePackageVersion)-$(AspNetCoreArchiveRid)$(ArchiveExtension) + aspnetcore-runtime-$(MicrosoftAspNetCoreAppRuntimePackageVersion)-$(AspNetCoreArchiveRid)$(ArchiveExtension) aspnetcore_base_runtime.version diff --git a/src/redist/targets/packaging/windows/clisdk/bundle.thm b/src/redist/targets/packaging/windows/clisdk/bundle.thm index ebe591ccc..d5b46cfa3 100644 --- a/src/redist/targets/packaging/windows/clisdk/bundle.thm +++ b/src/redist/targets/packaging/windows/clisdk/bundle.thm @@ -75,7 +75,7 @@ #(loc.SuccessRepairHeader) #(loc.SuccessUninstallHeader) - #(loc.SuccessRestartText) + #(loc.SuccessRestartText) diff --git a/src/snaps/dotnet-sdk-7.0/snap/snapcraft.yaml b/src/snaps/dotnet-sdk-7.0/snap/snapcraft.yaml new file mode 100644 index 000000000..5463efd62 --- /dev/null +++ b/src/snaps/dotnet-sdk-7.0/snap/snapcraft.yaml @@ -0,0 +1,38 @@ +name: dotnet-sdk +version: 7.0.100-preview.1.22110.4 +summary: Cross-Platform .NET Core SDK +description: | + .NET Core SDK. https://dot.net/core. + +grade: stable +confinement: classic + +apps: + dotnet: + command: dotnet + +base: core18 + +parts: + dotnet-sdk: + plugin: dump + source: https://download.visualstudio.microsoft.com/download/pr/1af9d3c3-a20e-400c-abe5-3d80dec7b63b/803f8dc5cf21fb28245aba71a7fdbc05/dotnet-sdk-7.0.100-preview.1.22110.4-linux-x64.tar.gz + source-checksum: sha512/54488a911172f059e3823d6bf52e1fa87305eb09e84d97f81a40e0815fc8a73a480b149023283f557a672ef0341f022b8ca16ebec92264ee16a56fac8f35e2e2 + stage-packages: + - libicu60 + - libc6 + - libgcc1 + - libstdc++6 + - libssl1.0.0 + - libcurl3 + - libgssapi-krb5-2 + - zlib1g + - lldb + - libunwind8 + - libtinfo5 + - liblttng-ust0 + - liburcu6 + + runtime-wrapper: + plugin: dump + source: . diff --git a/test/EndToEnd/GivenFrameworkDependentApps.cs b/test/EndToEnd/GivenFrameworkDependentApps.cs index d722e4a4f..13cafcf7a 100644 --- a/test/EndToEnd/GivenFrameworkDependentApps.cs +++ b/test/EndToEnd/GivenFrameworkDependentApps.cs @@ -18,7 +18,7 @@ namespace EndToEnd [ClassData(typeof(SupportedNetCoreAppVersions))] public void ItDoesNotRollForwardToTheLatestVersionOfNetCore(string minorVersion) { - if (minorVersion == "3.0" || minorVersion == "3.1" || minorVersion == "5.0" || minorVersion == "6.0" || minorVersion == "7.0") + if (minorVersion == "3.0" || minorVersion == "3.1" || minorVersion == "5.0" || minorVersion == "6.0" || minorVersion == "7.0" || minorVersion == "8.0") { // https://github.com/dotnet/core-sdk/issues/621 return; @@ -30,7 +30,7 @@ namespace EndToEnd [ClassData(typeof(SupportedAspNetCoreVersions))] public void ItDoesNotRollForwardToTheLatestVersionOfAspNetCoreApp(string minorVersion) { - if (minorVersion == "3.0" || minorVersion == "3.1" || minorVersion == "5.0" || minorVersion == "6.0" || minorVersion == "7.0") + if (minorVersion == "3.0" || minorVersion == "3.1" || minorVersion == "5.0" || minorVersion == "6.0" || minorVersion == "7.0" || minorVersion == "8.0") { // https://github.com/dotnet/core-sdk/issues/621 return; diff --git a/test/EndToEnd/GivenWeWantToRequireWindowsForDesktopApps.cs b/test/EndToEnd/GivenWeWantToRequireWindowsForDesktopApps.cs index 12dd78e3b..a1b74eaa5 100644 --- a/test/EndToEnd/GivenWeWantToRequireWindowsForDesktopApps.cs +++ b/test/EndToEnd/GivenWeWantToRequireWindowsForDesktopApps.cs @@ -18,7 +18,7 @@ namespace Microsoft.DotNet.Tests.EndToEnd { var testProjectCreator = new TestProjectCreator() { - MinorVersion = "7.0" + MinorVersion = "8.0" }; testProjectCreator.AdditionalProperties["RestorePackagesPath"] = @"$(MSBuildProjectDirectory)\packages"; diff --git a/test/EndToEnd/ProjectBuildTests.cs b/test/EndToEnd/ProjectBuildTests.cs index ec6684750..0678fb440 100644 --- a/test/EndToEnd/ProjectBuildTests.cs +++ b/test/EndToEnd/ProjectBuildTests.cs @@ -15,7 +15,7 @@ namespace EndToEnd.Tests { public class ProjectBuildTests : TestBase { - private static readonly string currentTfm = "net7.0"; + private static readonly string currentTfm = "net8.0"; [Fact] public void ItCanNewRestoreBuildRunCleanMSBuildProject() @@ -249,15 +249,15 @@ namespace EndToEnd.Tests } [WindowsOnlyTheory] - [InlineData("wpf", Skip = "https://github.com/dotnet/wpf/issues/2363")] - [InlineData("winforms", Skip = "https://github.com/dotnet/wpf/issues/2363")] + [InlineData("wpf")] + [InlineData("winforms")] public void ItCanBuildDesktopTemplates(string templateName) { TestTemplateCreateAndBuild(templateName); } [WindowsOnlyTheory] - [InlineData("wpf", Skip = "https://github.com/dotnet/wpf/issues/2363")] + [InlineData("wpf")] public void ItCanBuildDesktopTemplatesSelfContained(string templateName) { TestTemplateCreateAndBuild(templateName); @@ -328,7 +328,7 @@ namespace EndToEnd.Tests [InlineData("react")] public void ItCanCreateTemplateWithDefaultFramework(string templateName) { - string framework = DetectExpectedDefaultFramework(); + string framework = DetectExpectedDefaultFramework(templateName); TestTemplateCreateAndBuild(templateName, build: false, framework: framework); } @@ -374,7 +374,7 @@ namespace EndToEnd.Tests [InlineData("grpc")] public void ItCanCreateAndBuildTemplatesWithDefaultFramework_DisableBuildOnLinuxMusl(string templateName) { - string framework = DetectExpectedDefaultFramework(); + string framework = DetectExpectedDefaultFramework(templateName); if (RuntimeInformation.RuntimeIdentifier.StartsWith("alpine")) //linux musl { @@ -392,8 +392,23 @@ namespace EndToEnd.Tests string[] runtimeFolders = Directory.GetDirectories(Path.Combine(dotnetFolder, "shared", "Microsoft.NETCore.App")); int latestMajorVersion = runtimeFolders.Select(folder => int.Parse(Path.GetFileName(folder).Split('.').First())).Max(); - if (latestMajorVersion == 7) + if (latestMajorVersion == 8) { + // Return net7.0 for templates that don't support + // net8.0 yet. + if (template.StartsWith("blazor") + || template.StartsWith("classlib") + || template.StartsWith("console") + || template.StartsWith("mvc") + || template.StartsWith("web") + || template.StartsWith("worker") + || template.StartsWith("razor") + || template.StartsWith("grpc") + || template.StartsWith("angular") + || template.StartsWith("react")) + { + return "net7.0"; + } return $"net{latestMajorVersion}.0"; } diff --git a/test/EndToEnd/SupportedNetCoreAppVersions.cs b/test/EndToEnd/SupportedNetCoreAppVersions.cs index c266bc1d9..f926e2004 100644 --- a/test/EndToEnd/SupportedNetCoreAppVersions.cs +++ b/test/EndToEnd/SupportedNetCoreAppVersions.cs @@ -30,7 +30,8 @@ namespace EndToEnd "3.1", "5.0", "6.0", - "7.0" + "7.0", + "8.0" }; public static IEnumerable TargetFrameworkShortFolderVersion diff --git a/test/SdkTests/SdkTests.csproj b/test/SdkTests/SdkTests.csproj index b99346824..40cb6f5e4 100644 --- a/test/SdkTests/SdkTests.csproj +++ b/test/SdkTests/SdkTests.csproj @@ -63,6 +63,7 @@ + diff --git a/test/SdkTests/TestConfig.xml b/test/SdkTests/TestConfig.xml index f7b88ab47..6da9c5284 100644 --- a/test/SdkTests/TestConfig.xml +++ b/test/SdkTests/TestConfig.xml @@ -61,169 +61,5 @@ Skip="true" Issue="" Reason="Test doesn't work with newer RIDs"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tools/sdk-readme-table-generator/TableGenerator/Program.fs b/tools/sdk-readme-table-generator/TableGenerator/Program.fs index f27d656e5..5398c1f82 100644 --- a/tools/sdk-readme-table-generator/TableGenerator/Program.fs +++ b/tools/sdk-readme-table-generator/TableGenerator/Program.fs @@ -7,14 +7,14 @@ open TableGenerator.Table let inputBranches = [ { GitBranchName = "main" - DisplayName = "main
(7.0.x Runtime)" - AkaMsChannel = Some("7.0.1xx/daily") } - { GitBranchName = "release/7.0.1xx-preview7" - DisplayName = "Release/7.0.1xx-preview7
(7.0.x Runtime)" - AkaMsChannel = Some("7.0.1xx-preview7/daily") } - { GitBranchName = "release/6.0.4xx" - DisplayName = "Release/6.0.4XX
(6.0.x Runtime)" - AkaMsChannel = Some("6.0.4xx/daily") }] + DisplayName = "main
(8.0.x Runtime)" + AkaMsChannel = Some("8.0.1xx/daily") } + { GitBranchName = "release/7.0.2xx" + DisplayName = "Release/7.0.2xx
(7.0.x Runtime)" + AkaMsChannel = Some("7.0.2xx/daily") } + { GitBranchName = "release/7.0.1xx" + DisplayName = "Release/7.0.1xx
(7.0.x Runtime)" + AkaMsChannel = Some("7.0.1xx/daily") }] let referentNotes = """Reference notes: