97 lines
2.9 KiB
YAML
97 lines
2.9 KiB
YAML
name: Release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- v*
|
|
|
|
env:
|
|
ELIXIR_OPTS: "--warnings-as-errors"
|
|
ERLC_OPTS: "warnings_as_errors"
|
|
LANG: C.UTF-8
|
|
|
|
jobs:
|
|
create_draft_release:
|
|
permissions:
|
|
contents: write
|
|
runs-on: ubuntu-18.04
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
steps:
|
|
- name: Create draft release
|
|
run: |
|
|
gh release create \
|
|
--repo ${{ github.repository }} \
|
|
--title ${{ github.ref_name }} \
|
|
--notes '' \
|
|
--draft \
|
|
${{ github.ref_name }}
|
|
release_pre_built:
|
|
needs: create_draft_release
|
|
strategy:
|
|
fail-fast: true
|
|
matrix:
|
|
include:
|
|
- otp: 23
|
|
otp_version: 23.3
|
|
- otp: 24
|
|
otp_version: 24.3
|
|
- otp: 25
|
|
otp_version: 25.0
|
|
build_docs: build_docs
|
|
runs-on: ubuntu-18.04
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 50
|
|
- uses: erlef/setup-beam@v1
|
|
with:
|
|
otp-version: ${{ matrix.otp_version }}
|
|
version-type: strict
|
|
- name: Build Elixir Release
|
|
run: |
|
|
make Precompiled.zip
|
|
mv Precompiled.zip elixir-otp-${{ matrix.otp }}.zip
|
|
shasum -a 1 elixir-otp-${{ matrix.otp }}.zip > elixir-otp-${{ matrix.otp }}.zip.sha1sum
|
|
shasum -a 256 elixir-otp-${{ matrix.otp }}.zip > elixir-otp-${{ matrix.otp }}.zip.sha256sum
|
|
echo "$PWD/bin" >> $GITHUB_PATH
|
|
- name: Upload Pre-built
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
gh release upload --clobber "${{ github.ref_name }}" \
|
|
elixir-otp-${{ matrix.otp }}.zip \
|
|
elixir-otp-${{ matrix.otp }}.zip.sha{1,256}sum
|
|
- name: Get latest stable ExDoc version
|
|
if: ${{ matrix.build_docs }}
|
|
run: |
|
|
EX_DOC_LATEST_STABLE_VERSION=$(curl -s https://hex.pm/api/packages/ex_doc | jq --raw-output '.latest_stable_version')
|
|
echo "EX_DOC_LATEST_STABLE_VERSION=${EX_DOC_LATEST_STABLE_VERSION}" >> $GITHUB_ENV
|
|
- uses: actions/checkout@v3
|
|
if: ${{ matrix.build_docs }}
|
|
with:
|
|
repository: elixir-lang/ex_doc
|
|
ref: v${{ env.EX_DOC_LATEST_STABLE_VERSION }}
|
|
path: ex_doc
|
|
- name: Build ex_doc
|
|
if: ${{ matrix.build_docs }}
|
|
run: |
|
|
mv ex_doc ../ex_doc
|
|
cd ../ex_doc
|
|
../elixir/bin/mix do local.rebar --force + local.hex --force + deps.get + compile
|
|
cd ../elixir
|
|
- name: Build Docs
|
|
if: ${{ matrix.build_docs }}
|
|
run: |
|
|
make Docs.zip
|
|
shasum -a 1 Docs.zip > Docs.zip.sha1sum
|
|
shasum -a 256 Docs.zip > Docs.zip.sha256sum
|
|
- name: Upload Docs
|
|
if: ${{ matrix.build_docs }}
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
gh release upload --clobber "${{ github.ref_name }}" \
|
|
Docs.zip \
|
|
Docs.zip.sha{1,256}sum
|