Skip to content

Commit ae18adc

Browse files
authored
Merge pull request #599 from MatthewFluet/msys2-envs-workflow
Experiment with alternate msys2 environments in workflows
2 parents 4db974a + e658681 commit ae18adc

File tree

4 files changed

+96
-31
lines changed

4 files changed

+96
-31
lines changed

.github/actions/install-bootstrap-dependencies/action.yml

+14-13
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ runs:
1717
sudo apt-get install libgmp-dev
1818
if [[ "${{ inputs.install-llvm }}" == "true" ]]; then sudo apt-get install llvm; fi
1919
mkdir boot && cd boot
20-
curl -O -L https://github.com/MLton/mlton/releases/download/on-20210117-release/mlton-20210117-1.amd64-linux-glibc2.31.tgz
21-
tar xzf mlton-20210117-1.amd64-linux-glibc2.31.tgz --exclude='*/share' --strip-components=1
22-
rm mlton-20210117-1.amd64-linux-glibc2.31.tgz
20+
curl -sOL https://github.com/MLton/mlton/releases/download/on-20241230-release/mlton-20241230-1.amd64-linux.ubuntu-20.04_glibc2.31.tgz
21+
tar xzf mlton-20241230-1.amd64-linux.ubuntu-20.04_glibc2.31.tgz --exclude='*/share' --strip-components=1
22+
rm mlton-20241230-1.amd64-linux.ubuntu-20.04_glibc2.31.tgz
2323
2424
- name: Install bootstrap dependencies (macos (amd64))
2525
if: ${{ inputs.runner == 'macos-13' }}
@@ -31,9 +31,9 @@ runs:
3131
echo "WITH_GMP_DIR=$(brew --prefix)" >> $GITHUB_ENV
3232
if [[ "${{ inputs.install-llvm }}" == "true" ]]; then brew install llvm; echo "$(brew --prefix llvm)/bin" >> $GITHUB_PATH; fi
3333
mkdir boot && cd boot
34-
curl -O -L https://github.com/MLton/mlton/releases/download/on-20210117-release/mlton-20210117-1.amd64-darwin-19.6.gmp-homebrew.tgz
35-
tar xzf mlton-20210117-1.amd64-darwin-19.6.gmp-homebrew.tgz --exclude='*/share' --strip-components=1
36-
rm mlton-20210117-1.amd64-darwin-19.6.gmp-homebrew.tgz
34+
curl -sOL https://github.com/MLton/mlton/releases/download/on-20241230-release/mlton-20241230-1.amd64-darwin.macos-13_gmp-homebrew.tgz
35+
tar xzf mlton-20241230-1.amd64-darwin.macos-13_gmp-homebrew.tgz --exclude='*/share' --strip-components=1
36+
rm mlton-20241230-1.amd64-darwin.macos-13_gmp-homebrew.tgz
3737
3838
- name: Install bootstrap dependencies (macos (arm64))
3939
if: ${{ (inputs.runner == 'macos-14') || (inputs.runner == 'macos-15') }}
@@ -45,17 +45,18 @@ runs:
4545
echo "WITH_GMP_DIR=$(brew --prefix)" >> $GITHUB_ENV
4646
if [[ "${{ inputs.install-llvm }}" == "true" ]]; then brew install llvm; echo "$(brew --prefix llvm)/bin" >> $GITHUB_PATH; fi
4747
mkdir boot && cd boot
48-
curl -O -L https://projects.laas.fr/tina/software/mlton-20210117-1.arm64-darwin-21.6-gmp-static.tgz
49-
tar xzf mlton-20210117-1.arm64-darwin-21.6-gmp-static.tgz --exclude='*/share' --strip-components=1
50-
rm mlton-20210117-1.arm64-darwin-21.6-gmp-static.tgz
48+
curl -sOL https://github.com/MLton/mlton/releases/download/on-20241230-release/mlton-20241230-1.arm64-darwin.macos-14_gmp-homebrew.tgz
49+
tar xzf mlton-20241230-1.arm64-darwin.macos-14_gmp-homebrew.tgz --exclude='*/share' --strip-components=1
50+
rm mlton-20241230-1.arm64-darwin.macos-14_gmp-homebrew.tgz
5151
5252
- name: Install bootstrap dependencies (windows)
5353
if: ${{ startsWith(inputs.runner, 'windows') }}
5454
shell: 'msys2 {0}'
5555
run: |
5656
# Install dependencies (windows)
57-
pacboy --noconfirm -S --needed gcc:p gmp-devel:
57+
pacboy --noconfirm -S --needed $(if [ ${MSYSTEM} == "CLANG64" ]; then echo clang:p ; else echo gcc:p; fi) gmp:p gmp-devel:
58+
if [[ "${{ inputs.install-llvm }}" == "true" ]]; then pacboy --noconfirm -S --needed llvm:p ; fi
5859
mkdir boot && cd boot
59-
curl -O -L https://github.com/MLton/mlton/releases/download/on-20200817-release/mlton-20200817-amd64-mingw.tgz
60-
tar xzf mlton-20200817-amd64-mingw.tgz --exclude='*/share' --strip-components=1
61-
rm mlton-20200817-amd64-mingw.tgz
60+
curl -sOL https://github.com/MLton/mlton/releases/download/on-20241230-release/mlton-20241230-1.amd64-mingw.windows-2022_MINGW64.tgz
61+
tar xzf mlton-20241230-1.amd64-mingw.windows-2022_MINGW64.tgz --exclude='*/share' --strip-components=1
62+
rm mlton-20241230-1.amd64-mingw.windows-2022_MINGW64.tgz

.github/workflows/binary-release-single.yml

+3-4
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99
runner:
1010
required: true
1111
type: string
12-
checkout-ref:
12+
msystem:
1313
required: false
1414
type: string
1515
old-mlton-runtime-args:
@@ -35,7 +35,7 @@ on:
3535
runner:
3636
required: true
3737
type: string
38-
checkout-ref:
38+
msystem:
3939
required: false
4040
type: string
4141
old-mlton-runtime-args:
@@ -76,7 +76,7 @@ jobs:
7676
if: ${{ startsWith(inputs.runner, 'windows') }}
7777
uses: msys2/setup-msys2@v2
7878
with:
79-
msystem: MINGW64
79+
msystem: ${{ inputs.msystem }}
8080
update: false
8181
install: >-
8282
base-devel
@@ -89,7 +89,6 @@ jobs:
8989
uses: actions/checkout@v4
9090
with:
9191
sparse-checkout: .github
92-
ref: ${{ inputs.checkout-ref || 'master' }}
9392

9493
- name: Install bootstrap dependencies
9594
uses: ./.github/actions/install-bootstrap-dependencies

.github/workflows/binary-release.yml

+19-2
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,32 @@ jobs:
4949
mlton-compile-args: "-gmp-link-opt $(brew --prefix)/lib/libgmp.a"
5050
mlton-binary-release-suffix: ".${RUNNER}_gmp-static"
5151
- runner: "windows-2022"
52-
mlton-binary-release-suffix: ".${RUNNER}_${MSYSTEM}"
52+
msystem: "mingw64"
53+
mlton-binary-release-suffix: ".${RUNNER}_msys2_${MSYSTEM}"
5354
- runner: "windows-2022"
55+
msystem: "mingw64"
5456
mlton-compile-args: "-link-opt -static"
55-
mlton-binary-release-suffix: ".${RUNNER}_${MSYSTEM}_static"
57+
mlton-binary-release-suffix: ".${RUNNER}_msys2_${MSYSTEM}_static"
58+
- runner: "windows-2022"
59+
msystem: "ucrt64"
60+
mlton-binary-release-suffix: ".${RUNNER}_msys2_${MSYSTEM}"
61+
- runner: "windows-2022"
62+
msystem: "ucrt64"
63+
mlton-compile-args: "-link-opt -static"
64+
mlton-binary-release-suffix: ".${RUNNER}_msys2_${MSYSTEM}_static"
65+
- runner: "windows-2022"
66+
msystem: "clang64"
67+
mlton-binary-release-suffix: ".${RUNNER}_msys2_${MSYSTEM}"
68+
- runner: "windows-2022"
69+
msystem: "clang64"
70+
mlton-compile-args: "-link-opt -static"
71+
mlton-binary-release-suffix: ".${RUNNER}_msys2_${MSYSTEM}_static"
5672

5773
uses: ./.github/workflows/binary-release-single.yml
5874
with:
5975
mlton-version: ${{ inputs.mlton-version }}
6076
runner: ${{ matrix.runner }}
77+
msystem: ${{ matrix.msystem }}
6178
old-mlton-runtime-args: ${{ matrix.old-mlton-runtime-args }}
6279
old-mlton-compile-args: ${{ matrix.old-mlton-compile-args }}
6380
mlton-runtime-args: ${{ matrix.mlton-runtime-args }}

.github/workflows/ci.yml

+60-12
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,69 @@ jobs:
1111
strategy:
1212
fail-fast: false
1313
matrix:
14-
runner: [ubuntu-24.04, macos-13, macos-14, windows-2022]
15-
cc: ["gcc", "clang"]
16-
codegen: ["amd64", "c", "llvm"]
17-
exclude:
18-
- runner: macos-13
14+
include:
15+
- runner: "ubuntu-24.04"
1916
cc: "gcc"
20-
- runner: macos-14
17+
codegen: "amd64"
18+
- runner: "ubuntu-24.04"
19+
cc: "gcc"
20+
codegen: "c"
21+
- runner: "ubuntu-24.04"
22+
cc: "clang"
23+
codegen: "amd64"
24+
- runner: "ubuntu-24.04"
25+
cc: "clang"
26+
codegen: "c"
27+
- runner: "ubuntu-24.04"
28+
cc: "clang"
29+
codegen: "llvm"
30+
31+
- runner: "macos-13"
32+
cc: "clang"
33+
codegen: "amd64"
34+
- runner: "macos-13"
35+
cc: "clang"
36+
codegen: "c"
37+
- runner: "macos-13"
38+
cc: "clang"
39+
codegen: "llvm"
40+
41+
- runner: "macos-14"
42+
cc: "clang"
43+
codegen: "c"
44+
- runner: "macos-14"
45+
cc: "clang"
46+
codegen: "llvm"
47+
48+
- runner: windows-2022
49+
msystem: mingw64
2150
cc: "gcc"
22-
- runner: macos-14
2351
codegen: "amd64"
2452
- runner: windows-2022
53+
msystem: mingw64
54+
cc: "gcc"
55+
codegen: "c"
56+
57+
- runner: windows-2022
58+
msystem: ucrt64
59+
cc: "gcc"
60+
codegen: "amd64"
61+
- runner: windows-2022
62+
msystem: ucrt64
63+
cc: "gcc"
64+
codegen: "c"
65+
66+
- runner: windows-2022
67+
msystem: clang64
2568
cc: "clang"
69+
codegen: "amd64"
2670
- runner: windows-2022
27-
codegen: "llvm"
28-
- cc: "gcc"
71+
msystem: clang64
72+
cc: "clang"
73+
codegen: "c"
74+
- runner: windows-2022
75+
msystem: clang64
76+
cc: "clang"
2977
codegen: "llvm"
3078

3179
runs-on: ${{ matrix.runner }}
@@ -43,7 +91,7 @@ jobs:
4391
if: ${{ startsWith(matrix.runner, 'windows') }}
4492
uses: msys2/setup-msys2@v2
4593
with:
46-
msystem: MINGW64
94+
msystem: ${{ matrix.msystem }}
4795
update: false
4896
install: >-
4997
base-devel
@@ -102,11 +150,11 @@ jobs:
102150
$( if [[ -n "$WITH_GMP_DIR" ]]; then echo "WITH_GMP_DIR=$WITH_GMP_DIR"; fi ) \
103151
WITH_ALL_RUNTIME=true \
104152
WITH_DBG_RUNTIME=false \
105-
MLTON_BINARY_RELEASE_SUFFIX=".${{ matrix.runner }}_${{ matrix.cc }}_${{ matrix.codegen }}" \
153+
MLTON_BINARY_RELEASE_SUFFIX=".${{ matrix.runner }}${{ matrix.msystem && format('_msys2_{0}', matrix.msystem) || '' }}_${{ matrix.cc }}_${{ matrix.codegen }}" \
106154
binary-release
107155
108156
- name: Upload Artifact
109157
uses: actions/upload-artifact@v4
110158
with:
111-
name: mlton.${{ matrix.runner }}_${{ matrix.cc }}_${{ matrix.codegen }}
159+
name: mlton.${{ matrix.runner }}${{ matrix.msystem && format('_msys2_{0}', matrix.msystem) || '' }}_${{ matrix.cc }}_${{ matrix.codegen }}
112160
path: ./*.tgz

0 commit comments

Comments
 (0)