|
40 | 40 | prerelease: ${{ contains(github.event.inputs.version, 'rc') }} |
41 | 41 | if: ${{ steps.check-release.outputs.exists == 'false' }} |
42 | 42 |
|
| 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 | + |
43 | 81 | build: |
44 | 82 | needs: [ensure_release] |
45 | 83 | runs-on: ${{ matrix.os }} |
|
69 | 107 | - run: TMPDIR=$PWD/tmp ./scripts/build_otp.sh ${{ github.event.inputs.version }} |
70 | 108 | if: ${{ steps.asset-exists.outputs.exists == 'false' }} |
71 | 109 |
|
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 | | - |
75 | 110 | - run: gh release upload -R burrito-elixir/erlang-builder OTP-${{ github.event.inputs.version }} tmp/beamup/${{ steps.release-name.outputs.name }}.tar.gz |
76 | 111 | name: Upload asset |
77 | 112 | env: |
|
0 commit comments