70 lines
2.4 KiB
YAML
70 lines
2.4 KiB
YAML
name: "Release pre built"
|
|
description: "Builds elixir release, ExDoc and generates docs"
|
|
inputs:
|
|
otp:
|
|
description: "The major OTP version"
|
|
otp_version:
|
|
description: "The exact OTP version (major.minor[.patch])"
|
|
build_docs:
|
|
description: "If docs have to be built or not"
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- uses: erlef/setup-beam@v1
|
|
with:
|
|
otp-version: ${{ inputs.otp_version }}
|
|
version-type: strict
|
|
- name: Build Elixir Release
|
|
shell: bash
|
|
run: |
|
|
make Precompiled.zip
|
|
mv Precompiled.zip elixir-otp-${{ inputs.otp }}.zip
|
|
shasum -a 1 elixir-otp-${{ inputs.otp }}.zip > elixir-otp-${{ inputs.otp }}.zip.sha1sum
|
|
shasum -a 256 elixir-otp-${{ inputs.otp }}.zip > elixir-otp-${{ inputs.otp }}.zip.sha256sum
|
|
echo "$PWD/bin" >> $GITHUB_PATH
|
|
- name: Install NSIS
|
|
shell: bash
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install -y nsis
|
|
- name: Build Elixir Windows Installer
|
|
shell: bash
|
|
run: |
|
|
export OTP_VERSION=${{ inputs.otp_version }}
|
|
export ELIXIR_ZIP=$PWD/elixir-otp-${{ inputs.otp }}.zip
|
|
(cd lib/elixir/scripts/windows_installer && ./build.sh)
|
|
mv lib/elixir/scripts/windows_installer/tmp/elixir-otp-${{ inputs.otp }}.exe .
|
|
shasum -a 1 elixir-otp-${{ inputs.otp }}.exe > elixir-otp-${{ inputs.otp }}.exe.sha1sum
|
|
shasum -a 256 elixir-otp-${{ inputs.otp }}.exe > elixir-otp-${{ inputs.otp }}.exe.sha256sum
|
|
- name: Get ExDoc ref
|
|
if: ${{ inputs.build_docs }}
|
|
shell: bash
|
|
run: |
|
|
if [ "${{ github.ref_name }}" = "main" ]; then
|
|
ref=main
|
|
else
|
|
ref=v$(curl -s https://hex.pm/api/packages/ex_doc | jq --raw-output '.latest_stable_version')
|
|
fi
|
|
echo "EX_DOC_REF=$ref" >> $GITHUB_ENV
|
|
- uses: actions/checkout@v3
|
|
if: ${{ inputs.build_docs }}
|
|
with:
|
|
repository: elixir-lang/ex_doc
|
|
ref: ${{ env.EX_DOC_REF }}
|
|
path: ex_doc
|
|
- name: Build ex_doc
|
|
if: ${{ inputs.build_docs }}
|
|
shell: bash
|
|
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: ${{ inputs.build_docs }}
|
|
shell: bash
|
|
run: |
|
|
make Docs.zip
|
|
shasum -a 1 Docs.zip > Docs.zip.sha1sum
|
|
shasum -a 256 Docs.zip > Docs.zip.sha256sum
|