Skip to content

Binary Release

Binary Release #21

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