Move building of Alpine to Alpine container host #105
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Summary
This pull request introduces a new build pipeline for producing MUSL-based Linux binaries using Alpine, refactors the pipeline templates to support this build, and updates artifact handling to ensure correct packaging. The changes improve cross-platform support, streamline the build process for Alpine/MUSL, and ensure that the resulting native library is correctly extracted and included in the NuGet package.
Pipeline and Build System Enhancements
LinuxMuslBuildstage to.pipelines/release.yml, which uses a dedicated Alpine-based container image and a new build template for MUSL builds. This replaces the previous approach that used the standard Linux build template for MUSL targets. [1] [2].pipelines/templates/build-alpine.ymlto define jobs for preparing the Docker build context, building the Alpine image, and extracting thelibpsl-native.sobinary from the built Docker image.LinuxMuslBuildstage, ensuring MUSL binaries are available for packaging.Artifact and Packaging Updates
.pipelines/templates/build-nuget.ymlto consume artifacts from the new Alpine/MUSL extraction job, updating variable names and artifact paths to reflect the new pipeline structure. [1] [2]Build and Dockerfile Improvements
Dockerfileto support building native binaries on Alpine and exporting the resultinglibpsl-native.sofor use in packaging.build.psm1to provide clearer build completion messages and file listings for the generated native library.PR Context
Build alpine native components on Alpine container