Skip to content
This repository was archived by the owner on Mar 26, 2023. It is now read-only.

Commit d159205

Browse files
committed
test alpine musl build
1 parent 655d35f commit d159205

File tree

2 files changed

+48
-3
lines changed

2 files changed

+48
-3
lines changed

.github/workflows/build_otp.yml

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,44 @@ jobs:
4040
prerelease: ${{ contains(github.event.inputs.version, 'rc') }}
4141
if: ${{ steps.check-release.outputs.exists == 'false' }}
4242

43+
build-musl:
44+
needs: [ensure_release]
45+
runs-on: ${{ matrix.os }}
46+
strategy:
47+
fail-fast: false
48+
matrix:
49+
os: [ubuntu-18.04]
50+
steps:
51+
- uses: actions/checkout@v2
52+
53+
- name: Set release name
54+
id: release-name
55+
run: echo ::set-output name=name::otp-${{ github.event.inputs.version }}-$(uname -sm | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
56+
57+
- id: asset-exists
58+
name: Check if release asset exists
59+
run: |
60+
release_id=$(gh api repos/burrito-elixir/erlang-builder/releases/tags/OTP-${{ github.event.inputs.version }} | jq .id)
61+
if gh api repos/burrito-elixir/erlang-builder/releases/${release_id}/assets | jq -r '.[].name' | grep ${{ steps.release-name.outputs.name }}_musl_libc; then
62+
echo ::set-output name=exists::$(echo true)
63+
else
64+
echo ::set-output name=exists::$(echo false)
65+
fi
66+
env:
67+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
68+
69+
- run: |
70+
docker build --build-arg version="${{ github.event.inputs.version }}" . -f alpine.Dockerfile -t build-otp-alpine
71+
docker cp $(docker create build-otp-alpine):/tmp/beamup/beamup/${{ steps.release-name.outputs.name }}.tar.gz ./${{ steps.release-name.outputs.name }}.tar.gz
72+
cp ${{ steps.release-name.outputs.name }}.tar.gz ${{ steps.release-name.outputs.name }}_musl_libc.tar.gz
73+
if: ${{ steps.asset-exists.outputs.exists == 'false' }}
74+
75+
- run: gh release upload -R burrito-elixir/erlang-builder OTP-${{ github.event.inputs.version }} ./${{ steps.release-name.outputs.name }}_musl_libc.tar.gz
76+
name: Upload asset
77+
env:
78+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
79+
if: ${{ steps.asset-exists.outputs.exists == 'false' }}
80+
4381
build:
4482
needs: [ensure_release]
4583
runs-on: ${{ matrix.os }}
@@ -69,9 +107,6 @@ jobs:
69107
- run: TMPDIR=$PWD/tmp ./scripts/build_otp.sh ${{ github.event.inputs.version }}
70108
if: ${{ steps.asset-exists.outputs.exists == 'false' }}
71109

72-
# - run: mkdir -p tmp/beamup && cd tmp/beamup && mkdir -p ${{ steps.release-name.outputs.name }} && tar czf ${{ steps.release-name.outputs.name }}.tar.gz ${{ steps.release-name.outputs.name }}
73-
# if: ${{ steps.asset-exists.outputs.exists == 'false' }}
74-
75110
- run: gh release upload -R burrito-elixir/erlang-builder OTP-${{ github.event.inputs.version }} tmp/beamup/${{ steps.release-name.outputs.name }}.tar.gz
76111
name: Upload asset
77112
env:

alpine.Dockerfile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
FROM alpine:3.14.2
2+
ARG version
3+
RUN apk update
4+
RUN apk add gcc automake curl wget make linux-headers musl-dev ncurses-dev
5+
6+
ENV TMPDIR /tmp/beamup
7+
8+
COPY scripts/build_otp.sh /build_otp.sh
9+
RUN chmod +x /build_otp.sh
10+
RUN sh /build_otp.sh $version

0 commit comments

Comments
 (0)