Skip to content

Binary Release

Binary Release #18

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"
mlton-binary-release-suffix: ".${RUNNER}_glibc$(cc -dM -E - <<< "#include <stdlib.h>" | sed -En 's;#define __GLIBC__ (.*);\1;p').$(cc -dM -E - <<< "#include <stdlib.h>" | sed -En 's;#define __GLIBC_MINOR__ (.*);\1;p')"
- runner: "ubuntu-24.04"
mlton-compile-args: "-link-opt -static"
mlton-binary-release-suffix: ".${RUNNER}_static"
- runner: "ubuntu-22.04"
mlton-binary-release-suffix: ".${RUNNER}_glibc$(cc -dM -E - <<< "#include <stdlib.h>" | sed -En 's;#define __GLIBC__ (.*);\1;p').$(cc -dM -E - <<< "#include <stdlib.h>" | sed -En 's;#define __GLIBC_MINOR__ (.*);\1;p')"
- runner: "ubuntu-22.04"
mlton-compile-args: "-link-opt -static"
mlton-binary-release-suffix: ".${RUNNER}_static"
- runner: "ubuntu-20.04"
mlton-binary-release-suffix: ".${RUNNER}_glibc$(cc -dM -E - <<< "#include <stdlib.h>" | sed -En 's;#define __GLIBC__ (.*);\1;p').$(cc -dM -E - <<< "#include <stdlib.h>" | sed -En 's;#define __GLIBC_MINOR__ (.*);\1;p')"
- runner: "ubuntu-20.04"
mlton-compile-args: "-link-opt -static"
mlton-binary-release-suffix: ".${RUNNER}_static"
- runner: "macos-13"
mlton-binary-release-suffix: ".${RUNNER}_gmp-homebrew"
- runner: "macos-13"
mlton-compile-args: "-gmp-link-opt $(brew -prefix)/lib/libgmp.a"
mlton-binary-release-suffix: ".${RUNNER}_gmp-static"
- runner: "macos-14"
mlton-binary-release-suffix: ".${RUNNER}_gmp-homebrew"
- runner: "macos-14"
mlton-compile-args: "-gmp-link-opt $(brew -prefix)/lib/libgmp.a"
mlton-binary-release-suffix: ".${RUNNER}_gmp-static"
- runner: "macos-15"
mlton-binary-release-suffix: ".${RUNNER}_gmp-homebrew"
- runner: "macos-15"
mlton-compile-args: "-gmp-link-opt $(brew -prefix)/lib/libgmp.a"
mlton-binary-release-suffix: ".${RUNNER}_gmp-static"
uses: ./.github/workflows/binary-release-single.yml
with:
mlton-version: ${{ inputs.mlton-version }}
runner: ${{ matrix.runner }}
mlton-binary-release-suffix: ${{ matrix.mlton-binary-release-suffix }}
secrets: inherit