diff --git a/.pipelines/PowerShell-Docker-Image-Build-Official.yml b/.pipelines/PowerShell-Docker-Image-Build-Official.yml index bed46018a..2272dba3c 100644 --- a/.pipelines/PowerShell-Docker-Image-Build-Official.yml +++ b/.pipelines/PowerShell-Docker-Image-Build-Official.yml @@ -140,7 +140,7 @@ extends: - template: /.vsts-ci/stableReleaseStage.yml@self parameters: channel: ${{ parameters.releaseChannel }} - channelPath: 'release/7-4' + channelPath: 'release/7-5' - ${{ if eq(parameters.releaseChannel, 'preview') }}: - template: /.vsts-ci/previewReleaseStage.yml@self parameters: @@ -150,4 +150,4 @@ extends: - template: /.vsts-ci/ltsReleaseStage.yml@self parameters: channel: ${{ parameters.releaseChannel }} - channelPath: 'release/7-2' + channelPath: 'release/7-4' diff --git a/.vsts-ci/ltsReleaseStage.yml b/.vsts-ci/ltsReleaseStage.yml index b679968a2..2426dac29 100644 --- a/.vsts-ci/ltsReleaseStage.yml +++ b/.vsts-ci/ltsReleaseStage.yml @@ -23,8 +23,28 @@ stages: - template: /.vsts-ci/releaseJob.yml@self parameters: archName: 'Build_linux_amd64' - imageName: mariner2 - artifactSuffix: mariner2 + imageName: alpine320 + artifactSuffix: alpine320 + poolOS: 'linux' + poolHostArchitecture: 'amd64' + buildKitValue: 1 + channel: ${{ parameters.channel }} + channelPath: ${{ parameters.channelPath }} + - template: /.vsts-ci/releaseJob.yml@self + parameters: + archName: 'Build_linux_amd64' + imageName: azurelinux3 + artifactSuffix: azurelinux3 + poolOS: 'linux' + poolHostArchitecture: 'amd64' + buildKitValue: 1 + channel: ${{ parameters.channel }} + channelPath: ${{ parameters.channelPath }} + - template: /.vsts-ci/releaseJob.yml@self + parameters: + archName: 'Build_linux_amd64' + imageName: debian12 + artifactSuffix: debian12 poolOS: 'linux' poolHostArchitecture: 'amd64' buildKitValue: 1 @@ -33,8 +53,8 @@ stages: - template: /.vsts-ci/releaseJob.yml@self parameters: archName: 'Build_linux_amd64' - imageName: ubi8 - artifactSuffix: ubi8 + imageName: mariner2 + artifactSuffix: mariner2 poolOS: 'linux' poolHostArchitecture: 'amd64' buildKitValue: 1 @@ -82,24 +102,22 @@ stages: channelPath: ${{ parameters.channelPath }} - template: /.vsts-ci/releaseJob.yml@self parameters: - archName: 'Build_windows_amd64' - imageName: nanoserver1809 - artifactSuffix: nanoserver1809 - poolOS: 'windows' - poolHostVersion: '1ESWindows2022' - windowsContainerImageValue: 'onebranch.azurecr.io/windows/ltsc2022/vse2022:latest' - maxParallel: 3 + archName: 'Build_linux_arm64' + imageName: azurelinux3-arm64 + artifactSuffix: azurelinux3_arm64 + poolOS: 'linux' + poolHostArchitecture: 'arm64' + buildKitValue: 1 channel: ${{ parameters.channel }} channelPath: ${{ parameters.channelPath }} - template: /.vsts-ci/releaseJob.yml@self parameters: - archName: 'Build_windows_amd64' - imageName: nanoserver2022 - artifactSuffix: nanoserver2022 - poolOS: 'windows' - poolHostVersion: '1ESWindows2022' - windowsContainerImageValue: 'onebranch.azurecr.io/windows/ltsc2022/vse2022:latest' - maxParallel: 3 + archName: 'Build_linux_arm64' + imageName: mariner2-arm64 + artifactSuffix: mariner2_arm64 + poolOS: 'linux' + poolHostArchitecture: 'arm64' + buildKitValue: 1 channel: ${{ parameters.channel }} channelPath: ${{ parameters.channelPath }} - template: /.vsts-ci/releaseJob.yml@self diff --git a/.vsts-ci/stableReleaseStage.yml b/.vsts-ci/stableReleaseStage.yml index 7f03bfc03..a308856b3 100644 --- a/.vsts-ci/stableReleaseStage.yml +++ b/.vsts-ci/stableReleaseStage.yml @@ -63,18 +63,8 @@ stages: - template: /.vsts-ci/releaseJob.yml@self parameters: archName: 'Build_linux_amd64' - imageName: ubi8 - artifactSuffix: ubi8 - poolOS: 'linux' - poolHostArchitecture: 'amd64' - buildKitValue: 1 - channel: ${{ parameters.channel }} - channelPath: ${{ parameters.channelPath }} - - template: /.vsts-ci/releaseJob.yml@self - parameters: - archName: 'Build_linux_amd64' - imageName: ubi9 - artifactSuffix: ubi9 + imageName: ubuntu20.04 + artifactSuffix: ubuntu2004 poolOS: 'linux' poolHostArchitecture: 'amd64' buildKitValue: 1 @@ -83,8 +73,8 @@ stages: - template: /.vsts-ci/releaseJob.yml@self parameters: archName: 'Build_linux_amd64' - imageName: ubuntu20.04 - artifactSuffix: ubuntu2004 + imageName: ubuntu22.04 + artifactSuffix: ubuntu2204 poolOS: 'linux' poolHostArchitecture: 'amd64' buildKitValue: 1 @@ -93,8 +83,8 @@ stages: - template: /.vsts-ci/releaseJob.yml@self parameters: archName: 'Build_linux_amd64' - imageName: ubuntu22.04 - artifactSuffix: ubuntu2204 + imageName: ubuntu24.04 + artifactSuffix: ubuntu2404 poolOS: 'linux' poolHostArchitecture: 'amd64' buildKitValue: 1 diff --git a/release/7-4/ubi8/docker/Dockerfile b/release/7-4/ubi8/docker/Dockerfile deleted file mode 100644 index 8bfa52029..000000000 --- a/release/7-4/ubi8/docker/Dockerfile +++ /dev/null @@ -1,59 +0,0 @@ -# syntax = docker/dockerfile:1.2 -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -FROM registry.access.redhat.com/ubi8/ubi:8.6 AS installer-env -ARG PS_VERSION=7.3.0-preview.8 -ARG PACKAGE_VERSION=7.3.0_preview.8 -ARG PS_PACKAGE=powershell-preview-${PACKAGE_VERSION}-1.rh.x86_64.rpm -ARG PS_PACKAGE_URL=https://github.com/PowerShell/PowerShell/releases/download/v${PS_VERSION}/${PS_PACKAGE} - -# Install powershell -# create folder at install location -RUN curl -sSL ${PS_PACKAGE_URL} -o /tmp/linux.rpm -# start new stage so that the tar.gz layers are left behind in multi-stage build -FROM registry.access.redhat.com/ubi8/ubi:8.6 AS final-image -ARG PS_VERSION=7.3.0-preview.8 -ARG PS_INSTALL_VERSION=7-preview - -RUN --mount=type=cache,target=/var/cache/yum,rw \ - yum install -y \ - less \ - ncurses \ - openssh-clients \ - glibc-locale-source \ - glibc-langpack-en \ - libicu \ - && yum clean all -RUN --mount=type=cache,target=/var/cache/yum,rw \ - --mount=from=installer-env,target=/mnt/rpm,source=/tmp \ - yum localinstall -y \ - /mnt/rpm/linux.rpm \ - # ubi 8 security updates are not marked as security updates. - && yum upgrade -y \ - && yum clean all -# Define ENVs for Localization/Globalization -ENV PS_INSTALL_FOLDER=/opt/microsoft/powershell/${PS_INSTALL_VERSION} \ - LC_ALL=en_US.UTF-8 \ - LANG=en_US.UTF-8 \ - # set a fixed location for the Module analysis cache - PSModuleAnalysisCachePath=/var/cache/microsoft/powershell/PSModuleAnalysisCache/ModuleAnalysisCache \ - POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-UBI-8.4 - -RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG \ - && chmod a+x,o-w ${PS_INSTALL_FOLDER}/pwsh \ - && ln -sf ${PS_INSTALL_FOLDER}/pwsh /usr/bin/pwsh \ - && ln -sf ${PS_INSTALL_FOLDER}/pwsh /usr/bin/pwsh-preview \ - && export POWERSHELL_TELEMETRY_OPTOUT=1 \ - && pwsh\ - -NoLogo \ - -NoProfile \ - -Command " \ - \$ErrorActionPreference = 'Stop' ; \ - \$ProgressPreference = 'SilentlyContinue' ; \ - while(!(Test-Path -Path \$env:PSModuleAnalysisCachePath)) { \ - Write-Host "'Waiting for $env:PSModuleAnalysisCachePath'" ; \ - Start-Sleep -Seconds 6 ; \ - }" -# Use PowerShell as the default shell -# Use array to avoid Docker prepending /bin/sh -c -CMD ["pwsh-preview"] diff --git a/release/7-4/ubi8/meta.json b/release/7-4/ubi8/meta.json deleted file mode 100644 index 9639070ce..000000000 --- a/release/7-4/ubi8/meta.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "IsLinux" : true, - "UseLinuxVersion": false, - "PackageFormat": "powershell${channelTag}-${PS_VERSION}-1.rh.x86_64.rpm", - "SkipGssNtlmSspTests": true, - "osVersion": "Universal Base Image 8", - "ShortDistroName": "ubi", - "shortTags": [ - {"Tag": "8"} - ], - "SubImage": "test-deps", - "TestProperties": { - "size": 625 - }, - "DistributionState": "Validating", - "EndOfLife": "2023-05-30" -} diff --git a/release/7-4/ubi8/test-deps/docker/Dockerfile b/release/7-4/ubi8/test-deps/docker/Dockerfile deleted file mode 100644 index c4df646c2..000000000 --- a/release/7-4/ubi8/test-deps/docker/Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -# Docker image file that describes an CentOS7 image with PowerShell installed from Microsoft YUM Repo -ARG BaseImage=mcr.microsoft.com/powershell:ubi-8.4 - -FROM ${BaseImage} - -# Install dependencies and clean up -RUN yum install -y \ - sudo \ - wget \ - openssl \ - hostname \ - iputils \ - procps-ng \ - git \ - unzip \ - && yum clean all \ - && rm -rf /var/cache/yum - -ENV POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-TestDeps-ubi-8.4 - -# Use PowerShell as the default shell -# Use array to avoid Docker prepending /bin/sh -c -CMD [ "pwsh" ] diff --git a/release/7-4/ubi8/test-deps/meta.json b/release/7-4/ubi8/test-deps/meta.json deleted file mode 100644 index 590284827..000000000 --- a/release/7-4/ubi8/test-deps/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "IsLinux" : true, - "UseLinuxVersion": false, - "osVersion": "Universal Base Image 8", - "SkipGssNtlmSspTests": true, - "shortTags": [ - {"Tag": "8"} - ], - "tagTemplates": [ - "ubi-#shorttag#" - ], - "OptionalTests": [ - "test-deps" - ], - "TestProperties": { - "size": 750 - }, - "DistributionState": "Validating", - "EndOfLife": "2023-05-30" -} diff --git a/release/7-4/ubi9/docker/Dockerfile b/release/7-4/ubi9/docker/Dockerfile deleted file mode 100644 index 04a96136c..000000000 --- a/release/7-4/ubi9/docker/Dockerfile +++ /dev/null @@ -1,62 +0,0 @@ -# syntax = docker/dockerfile:1.2 -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -FROM registry.access.redhat.com/ubi9/ubi AS installer-env -ARG PS_VERSION=7.3.0-preview.8 -ARG PACKAGE_VERSION=7.3.0_preview.8 -ARG PS_PACKAGE=powershell-preview-${PACKAGE_VERSION}-1.rh.x86_64.rpm -ARG PS_PACKAGE_URL=https://github.com/PowerShell/PowerShell/releases/download/v${PS_VERSION}/${PS_PACKAGE} - -# Install powershell -# create folder at install location -RUN curl -sSL ${PS_PACKAGE_URL} -o /tmp/linux.rpm -# start new stage so that the tar.gz layers are left behind in multi-stage build -FROM registry.access.redhat.com/ubi9/ubi AS final-image -ARG PS_VERSION=7.3.0-preview.8 -ARG PS_INSTALL_VERSION=7-preview - -RUN --mount=type=cache,target=/var/cache/yum,rw \ - yum install -y \ - less \ - ncurses \ - openssh-clients \ - openssl \ - glibc-locale-source \ - glibc-langpack-en \ - libicu \ - && yum clean all -RUN --mount=type=cache,target=/var/cache/yum,rw \ - --mount=from=installer-env,target=/mnt/rpm,source=/tmp \ - yum localinstall -y \ - /mnt/rpm/linux.rpm \ - && yum upgrade -y \ - && yum clean all -# Define ENVs for Localization/Globalization -ENV PS_INSTALL_FOLDER=/opt/microsoft/powershell/${PS_INSTALL_VERSION} \ - LC_ALL=en_US.UTF-8 \ - LANG=en_US.UTF-8 \ - # set a fixed location for the Module analysis cache - PSModuleAnalysisCachePath=/var/cache/microsoft/powershell/PSModuleAnalysisCache/ModuleAnalysisCache \ - POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-UBI-9 \ - # Needed to talk to many sites, see: https://github.com/dotnet/runtime/issues/65874 - # Fixed in https://github.com/dotnet/runtime/pull/69668 - OPENSSL_ENABLE_SHA1_SIGNATURES=1 - -RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG \ - && chmod a+x,o-w ${PS_INSTALL_FOLDER}/pwsh \ - && ln -sf ${PS_INSTALL_FOLDER}/pwsh /usr/bin/pwsh \ - && ln -sf ${PS_INSTALL_FOLDER}/pwsh /usr/bin/pwsh-preview \ - && export POWERSHELL_TELEMETRY_OPTOUT=1 \ - && pwsh\ - -NoLogo \ - -NoProfile \ - -Command " \ - \$ErrorActionPreference = 'Stop' ; \ - \$ProgressPreference = 'SilentlyContinue' ; \ - while(!(Test-Path -Path \$env:PSModuleAnalysisCachePath)) { \ - Write-Host "'Waiting for $env:PSModuleAnalysisCachePath'" ; \ - Start-Sleep -Seconds 6 ; \ - }" -# Use PowerShell as the default shell -# Use array to avoid Docker prepending /bin/sh -c -CMD ["pwsh-preview"] diff --git a/release/7-4/ubi9/meta.json b/release/7-4/ubi9/meta.json deleted file mode 100644 index cf260a311..000000000 --- a/release/7-4/ubi9/meta.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "IsLinux" : true, - "UseLinuxVersion": false, - "PackageFormat": "powershell${channelTag}-${PS_VERSION}-1.rh.x86_64.rpm", - "SkipGssNtlmSspTests": true, - "osVersion": "Universal Base Image 9", - "ShortDistroName": "ubi", - "shortTags": [ - {"Tag": "9"} - ], - "manifestLists": [ - "ubi${channelTagPostfix}", - "${channelTagPrefix}ubi" - ], - "SubImage": "test-deps", - "TestProperties": { - "size": 508 - }, - "DistributionState": "ImageCreation", - "EndOfLife": "2023-05-30" -} diff --git a/release/7-4/ubi9/test-deps/docker/Dockerfile b/release/7-4/ubi9/test-deps/docker/Dockerfile deleted file mode 100644 index 3ec04a1d8..000000000 --- a/release/7-4/ubi9/test-deps/docker/Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -# Docker image file that describes an CentOS7 image with PowerShell installed from Microsoft YUM Repo -ARG BaseImage=mcr.microsoft.com/powershell:ubi-9 - -FROM ${BaseImage} - -# Install dependencies and clean up -RUN yum install -y \ - sudo \ - wget \ - hostname \ - iputils \ - procps-ng \ - git \ - unzip \ - && yum clean all \ - && yum upgrade -y \ - && rm -rf /var/cache/yum - -ENV POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-TestDeps-ubi-9 - -# Use PowerShell as the default shell -# Use array to avoid Docker prepending /bin/sh -c -CMD [ "pwsh" ] diff --git a/release/7-4/ubi9/test-deps/meta.json b/release/7-4/ubi9/test-deps/meta.json deleted file mode 100644 index a0efea4fd..000000000 --- a/release/7-4/ubi9/test-deps/meta.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "IsLinux" : true, - "UseLinuxVersion": false, - "osVersion": "Universal Base Image 9", - "SkipGssNtlmSspTests": true, - "shortTags": [ - {"Tag": "9"} - ], - "tagTemplates": [ - "ubi-#shorttag#" - ], - "OptionalTests": [ - "test-deps" - ], - "TestProperties": { - "size": 566 - }, - "DistributionState": "ImageCreation", - "EndOfLife": "2023-05-30" -} diff --git a/tools/buildHelper/channels.json b/tools/buildHelper/channels.json index d134eaf19..b9abed435 100644 --- a/tools/buildHelper/channels.json +++ b/tools/buildHelper/channels.json @@ -1,7 +1,7 @@ [ { "name": "stable", - "path": "release/7-4", + "path": "release/7-5", "pwshInstallVersion": "7", "packageTag": "" }, @@ -14,7 +14,7 @@ }, { "name": "lts", - "path": "release/7-2", + "path": "release/7-4", "tagPrefix": "lts", "pwshInstallVersion": "7-lts", "packageTag": "-lts"