Skip to content

ci: Alpine Linux Docker image (musl) #4190

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 17, 2025

Conversation

jpnurmi
Copy link
Collaborator

@jpnurmi jpnurmi commented May 16, 2025

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 before actions/checkout
  • tar must be installed before actions/cache
  • bash must be installed before any shell: bash steps
  • ...

Furthermore, 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

  • The workflow requires packages: write permission to push to ghcr.io.
  • This action only needs to be triggered once, but has a trigger on .github/alpine should the Dockerfile ever need adjustments.

#skip-changelog

@jpnurmi
Copy link
Collaborator Author

jpnurmi commented May 16, 2025

P.S. The Docker image is temporarily published from my fork for testing purposes in #4188:

https://github.com/jpnurmi/sentry-dotnet/pkgs/container/sentry-dotnet-alpine

@jpnurmi jpnurmi mentioned this pull request May 16, 2025
8 tasks
Copy link

codecov bot commented May 16, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 72.98%. Comparing base (495e742) to head (9a9ae9b).
Report is 595 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4190      +/-   ##
==========================================
- Coverage   75.73%   72.98%   -2.75%     
==========================================
  Files         357      452      +95     
  Lines       13466    16439    +2973     
  Branches     2671     3283     +612     
==========================================
+ Hits        10198    11998    +1800     
- Misses       2593     3605    +1012     
- Partials      675      836     +161     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@bruno-garcia bruno-garcia merged commit c69110b into getsentry:main May 17, 2025
26 checks passed
@bruno-garcia
Copy link
Member

Running: https://github.com/getsentry/sentry-dotnet/actions/runs/15087760535/job/42412495651

@bruno-garcia
Copy link
Member

@jpnurmi
Copy link
Collaborator Author

jpnurmi commented May 17, 2025

Awesome :) Thanks!

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.

2 participants