File tree Expand file tree Collapse file tree 2 files changed +80
-0
lines changed Expand file tree Collapse file tree 2 files changed +80
-0
lines changed Original file line number Diff line number Diff line change 1+ # docker build --build-arg BASE=alpine:3.21
2+ ARG BASE=alpine:latest
3+ FROM ${BASE}
4+
5+ RUN apk update
6+
7+ # common
8+ RUN apk add bash build-base cmake curl git icu lsb-release-minimal sudo tar wget
9+
10+ # sentry-native
11+ RUN apk add curl-dev libunwind-dev libunwind-static linux-headers openssl-dev zlib-dev xz-dev
12+
13+ # sentry-dotnet
14+ RUN apk add grpc-plugins openjdk11 powershell
15+ ENV PROTOBUF_PROTOC=/usr/bin/protoc
16+ ENV GRPC_PROTOC_PLUGIN=/usr/bin/grpc_csharp_plugin
17+ RUN pwsh -Command Install-Module Pester -Scope AllUsers -Force
18+
19+ # mono (3.22+)
20+ RUN if ! apk add mono; then \
21+ sed -i.bak 's|/v3\. [0-9]\+ |/edge|g' /etc/apk/repositories && \
22+ cat /etc/apk/repositories && \
23+ apk update && \
24+ apk add --no-cache mono && \
25+ mv /etc/apk/repositories.bak /etc/apk/repositories && \
26+ apk update; \
27+ fi
28+ RUN mono --version
29+
30+ # runner
31+ RUN addgroup runner
32+ RUN adduser -S -u 1001 -h /home/runner -G runner runner
33+ RUN mkdir -p /home/runner /__e /__w /__w/_temp /__w/_actions /__w/_tool
34+ RUN chown -R runner:runner /home/runner /__e /__w
35+ RUN ln -s /__w /home/runner/work
36+ RUN echo "runner ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/runner
37+ RUN chmod 0440 /etc/sudoers.d/runner
38+ RUN chmod -R 777 /opt
39+ RUN chmod -R 777 /usr/share
40+ USER runner
41+ WORKDIR /__w
42+ ENTRYPOINT ["/bin/bash" ]
Original file line number Diff line number Diff line change 1+ name : Build Alpine Linux Docker image
2+
3+ on :
4+ workflow_dispatch :
5+ push :
6+ paths :
7+ - ' .github/alpine/*'
8+
9+ jobs :
10+ build :
11+ name : Build sentry-dotnet-alpine:${{ matrix.version }}
12+ runs-on : ubuntu-latest
13+ strategy :
14+ fail-fast : false
15+ matrix :
16+ version :
17+ - " 3.21"
18+
19+ permissions :
20+ contents : read
21+ packages : write
22+
23+ steps :
24+ - uses : actions/checkout@v4
25+
26+ - uses : docker/login-action@v3
27+ with :
28+ registry : ghcr.io
29+ username : ${{ github.actor }}
30+ password : ${{ secrets.GITHUB_TOKEN }}
31+
32+ - name : Build ghcr.io/${{ github.repository_owner }}/sentry-dotnet-alpine:${{ matrix.version }}
33+ run : docker build --build-arg BASE=alpine:${{ matrix.version }} -t ghcr.io/${{ github.repository_owner }}/sentry-dotnet-alpine:${{ matrix.version }} .
34+ working-directory : .github/alpine
35+
36+ - name : Push ghcr.io/${{ github.repository_owner }}/sentry-dotnet-alpine:${{ matrix.version }}
37+ run : docker push ghcr.io/${{ github.repository_owner }}/sentry-dotnet-alpine:${{ matrix.version }}
38+ working-directory : .github/alpine
You can’t perform that action at this time.
0 commit comments