ci: Alpine Linux Docker image (musl) #4190
Merged
+80
−0
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.
This PR adds a workflow for building an Alpine Linux Docker image tailored for the CI workflows in sentry-dotnet, which is a prerequisite for testing
linux-musl-x64
in:Background
The official Alpine Linux Docker image is minimal (< 5MB!) and requires quite a bit of boilerplate to make it usable even for basic CI workflows:
git
must be installed beforeactions/checkout
tar
must be installed beforeactions/cache
bash
must be installed before anyshell: bash
stepsFurthermore, the ready-made runner images come with a wide range of pre-installed development packages and tools missing in the vanilla Alpine Linux image. Last but not least, various
setup-xxx
actions rely on relaxed system permissions (chmod 777 -R /opt /usr/share
), and the integration test composite action requires a runner-like structure.Notes
packages: write
permission to push to ghcr.io..github/alpine
should theDockerfile
ever need adjustments.#skip-changelog