Skip to content

Conversation

@adityapatwardhan
Copy link
Member

PR Summary

This pull request adds support for building and packaging native binaries for Rocky Linux alongside existing Linux distributions. The changes include updates to pipeline templates, build scripts, and the addition of a Dockerfile for Rocky Linux. The overall goal is to enable Rocky Linux as a supported target in the CI/CD process, ensuring its artifacts are built and included in the final NuGet package.

Pipeline and Build System Updates:

  • Added a new LinuxRockyBuild stage to .pipelines/release.yml, using the new build-docker.yml template to build for Rocky Linux, and updated the NuGet packaging stage to depend on this new build. [1] [2]
  • Renamed and generalized the pipeline template from build-alpine.yml to build-docker.yml, adding parameters for container image, platform, and stage name to support multiple Linux distributions, including Rocky Linux.
  • Updated artifact naming, output paths, and build steps in the new build-docker.yml to be parameterized by platform, supporting both Alpine and Rocky Linux builds. [1] [2] [3]

NuGet Packaging Adjustments:

  • Modified the NuGet packaging pipeline to include Rocky Linux artifacts instead of the generic Linux x64, ensuring the Rocky Linux build output is packaged. [1] [2] [3]

Build Script Enhancements:

  • Updated build.psm1 to detect Rocky Linux (IsRocky8), treat it as part of the RedHat family, and use the appropriate package manager (dnf) for installing dependencies. [1] [2]
  • Improved bootstrapping by ensuring the git repository is initialized before updating submodules, and added required build dependencies for RedHat-family distributions. [1] [2]
  • Added a minimum CMake policy version in the native Unix build process for better compatibility and debugging.
  • Commented out the installation of Ruby gems (fpm and ronn) as they are no longer needed.

Docker Support for Rocky Linux:

  • Added a new docker/rocky/Dockerfile to build native binaries for Rocky Linux using the appropriate base image and toolchain.

PR Context

Fixes PowerShell/PowerShell#26704

@daxian-dbw
Copy link
Member

@copilot please review this PR

@adityapatwardhan
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PowerShell 7.6.0-preview.6 requires glibc 2.33 which is not present in RHEL 8

3 participants