diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index 447e4c5c1f164f..178bb4244e68f7 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -557,7 +557,7 @@ jobs: buildConfig: ${{ parameters.buildConfig }} ${{ insert }}: ${{ parameters.jobParameters }} -# FreeBSD +# FreeBSD x64 - ${{ if containsValue(parameters.platforms, 'freebsd_x64') }}: - template: xplat-setup.yml parameters: @@ -577,7 +577,27 @@ jobs: crossBuild: true ${{ insert }}: ${{ parameters.jobParameters }} -# OpenBSD +# FreeBSD arm64 +- ${{ if containsValue(parameters.platforms, 'freebsd_arm64') }}: + - template: xplat-setup.yml + parameters: + jobTemplate: ${{ parameters.jobTemplate }} + helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }} + variables: ${{ parameters.variables }} + osGroup: freebsd + archType: arm64 + targetRid: freebsd-arm64 + platform: freebsd_arm64 + shouldContinueOnError: ${{ parameters.shouldContinueOnError }} + container: freebsd_arm64 + jobParameters: + runtimeFlavor: ${{ parameters.runtimeFlavor }} + buildConfig: ${{ parameters.buildConfig }} + helixQueueGroup: ${{ parameters.helixQueueGroup }} + crossBuild: true + ${{ insert }}: ${{ parameters.jobParameters }} + +# OpenBSD x64 - ${{ if containsValue(parameters.platforms, 'openbsd_x64') }}: - template: xplat-setup.yml parameters: diff --git a/eng/pipelines/common/templates/pipeline-with-resources.yml b/eng/pipelines/common/templates/pipeline-with-resources.yml index 85e53ce4f2898a..4540f2c14ccb53 100644 --- a/eng/pipelines/common/templates/pipeline-with-resources.yml +++ b/eng/pipelines/common/templates/pipeline-with-resources.yml @@ -123,6 +123,11 @@ extends: env: ROOTFS_DIR: /crossrootfs/x64 + freebsd_arm64: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net11.0-cross-freebsd-14-arm64@sha256:01ac33cd4bbed190503254d8d013da90fc29494273e562e38b897dd10c5d5739 + env: + ROOTFS_DIR: /crossrootfs/arm64 + openbsd_x64: image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net11.0-cross-openbsd-amd64@sha256:301907b4bd7ea374ab32fb4be5200e6daefaefaf034aded50a0a0f8ac2465638 env: diff --git a/eng/pipelines/runtime-community.yml b/eng/pipelines/runtime-community.yml index 130b548fd64159..5b1bd169015e24 100644 --- a/eng/pipelines/runtime-community.yml +++ b/eng/pipelines/runtime-community.yml @@ -3,8 +3,6 @@ trigger: branches: include: - release/*.* - exclude: - - release/6.0* paths: include: - '*' @@ -18,6 +16,15 @@ trigger: - PATENTS.TXT - THIRD-PARTY-NOTICES.TXT +pr: + branches: + include: + - main + - release/*.* + paths: + include: + - eng/pipelines/runtime-community.yml + schedules: - cron: "0 7,19 * * *" # run at 7:00 and 19:00 (UTC) which is 23:00 and 11:00 (PST). displayName: Runtime-community default schedule @@ -100,3 +107,37 @@ extends: eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true), eq(variables['isRollingBuild'], true)) + + # + # Build CoreCLR + Libs + Host using bootstrap + # + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml + buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + runtimeFlavor: coreclr + platforms: + - freebsd_x64 + - freebsd_arm64 + - linux_riscv64 + - linux_loongarch64 + - openbsd_x64 + variables: + # map dependencies variables to local variables + - name: coreclrContainsChange + value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'] ] + - name: installerContainsChange + value: $[ stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'] ] + jobParameters: + testScope: innerloop + nameSuffix: CoreCLR_Bootstrapped + buildArgs: -s clr+libs+host+packs+tools.cdac -c $(_BuildConfig) -rc Checked --bootstrap + timeoutInMinutes: 120 + preBuildSteps: + - template: /eng/pipelines/coreclr/templates/setup-sccache.yml + postBuildSteps: + - template: /eng/pipelines/coreclr/templates/sccache-stats.yml + - template: /eng/pipelines/common/templates/runtimes/build-runtime-tests.yml + parameters: + testBuildArgs: skipmanaged generatelayoutonly --use-bootstrap diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 00924efbfe617e..7d042bfa814d46 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -678,35 +678,6 @@ extends: eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), eq(variables['isRollingBuild'], true)) - # - # Build CoreCLR + Libs + Host - # - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml - buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - runtimeFlavor: coreclr - platforms: - - freebsd_x64 - - linux_riscv64 - - linux_loongarch64 - - openbsd_x64 - jobParameters: - testScope: innerloop - nameSuffix: CoreCLR_Bootstrapped - buildArgs: -s clr+libs+host+packs+tools.cdac -c $(_BuildConfig) -rc Checked --bootstrap - timeoutInMinutes: 120 - preBuildSteps: - - template: /eng/pipelines/coreclr/templates/setup-sccache.yml - postBuildSteps: - - template: /eng/pipelines/coreclr/templates/sccache-stats.yml - condition: >- - or( - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_coreclr.containsChange'], true), - eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isRollingBuild'], true)) - # # CoreCLR NativeAOT debug build and smoke tests # Only when CoreCLR is changed