Skip to content

Binary Release

Binary Release #11

name: Binary Release
on:
workflow_dispatch:
inputs:
mlton-version:
required: true
type: string
workflow_call:
inputs:
mlton-version:
required: true
type: string
jobs:
binary-release:
strategy:
fail-fast: false
matrix:
include:
- runner: "ubuntu-24.04"
binary-release-suffix: ""
- runner: "macos-13"
binary-release-suffix: ""
- runner: "macos-14"
binary-release-suffix: ""
- runner: "windows-2022"
binary-release-suffix: ""
runs-on: ${{ matrix.runner }}
env:
MLTON_VERSION: ${{ inputs.mlton-version }}
MLTON_BINARY_RELEASE_SUFFIX: ${{ matrix.binary-release-suffix }}
defaults:
run:
shell: ${{ (startsWith(matrix.runner, 'windows') && 'msys2 {0}') || 'bash' }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
sparse-checkout: .github
ref: workflow-updates
- name: Install bootstrap dependencies
uses: ./.github/actions/install-bootstrap-dependencies
with:
runner: ${{ matrix.runner }}
install-llvm: false
- name: Download and unpack source release
run: |
curl -O -L https://github.com/${{ github.repository }}/releases/download/on-${MLTON_VERSION}-release/mlton-${MLTON_VERSION}.src.tgz
tar xzf mlton-${MLTON_VERSION}.src.tgz
rm mlton-${MLTON_VERSION}.src.tgz
mv mlton-${MLTON_VERSION}/* .
rmdir mlton-${MLTON_VERSION}
- name: Make binary release
run: |
PATH=$(pwd)/boot/bin:$PATH \
make \
OLD_MLTON_RUNTIME_ARGS="ram-slop 0.90" \
OLD_MLTON_COMPILE_ARGS="" \
MLTON_RUNTIME_ARGS="ram-slop 0.90" \
MLTON_COMPILE_ARGS="" \
binary-release
- name: Upload binary release
run: gh release upload on-${MLTON_VERSION}-release mlton-${MLTON_VERSION}*.tgz --clobber
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}