1- # TODO for the release after 0.28.0: pin a Roc nightly containing #12949,
2- # remove this workflow, and retire the fixed-address musl startup patch.
3- name : Static runtime compatibility
1+ name : Static runtime validation
42on :
53 pull_request :
64 workflow_dispatch :
1311 fail-fast : false
1412 matrix :
1513 target : [x64musl, arm64musl, x64mac, arm64mac, x64win]
16- compiler : [pinned, pie]
1714 include :
1815 - {target: x64musl, os: ubuntu-24.04}
1916 - {target: arm64musl, os: ubuntu-24.04-arm}
@@ -23,36 +20,10 @@ jobs:
2320 runs-on : ${{ matrix.os }}
2421 steps :
2522 - uses : actions/checkout@v7
26- - uses : mlugg/setup-zig@8d6198c65fb0feaa111df26e6b467fea8345e46f
27- if : matrix.compiler == 'pie'
28- with :
29- version : 0.17.1
3023 - uses : roc-lang/setup-roc@cbe782d6f165b89c87d99f50a59ac4f5f73b4427
31- if : matrix.compiler == 'pinned'
3224 with :
3325 version : nightly-new-compiler
34- nightly-tag : nightly-2026-11-06-34f137a
35- - uses : actions/checkout@v7
36- if : matrix.compiler == 'pie'
37- with :
38- repository : roc-lang/roc
39- ref : c080bd1bc565531389f74444d3736d1bfb8e5352
40- path : target/roc-pie
41- - uses : actions/cache@v5
42- if : matrix.compiler == 'pie'
43- id : compiler-cache
44- with :
45- path : target/roc-pie/zig-out/bin
46- key : roc-pie-${{ runner.os }}-${{ runner.arch }}-c080bd1bc565531389f74444d3736d1bfb8e5352-zig-0.17.1-strip
47- - name : Build the pinned PIE compiler
48- if : matrix.compiler == 'pie' && steps.compiler-cache.outputs.cache-hit != 'true'
49- shell : bash
50- working-directory : target/roc-pie
51- run : zig build roc -Doptimize=ReleaseFast -Dstrip -j2
52- - name : Select the PIE compiler
53- shell : bash
54- if : matrix.compiler == 'pie'
55- run : echo "ROC=$GITHUB_WORKSPACE/target/roc-pie/zig-out/bin/roc${{ runner.os == 'Windows' && '.exe' || '' }}" >> "$GITHUB_ENV"
26+ nightly-tag : nightly-2026-11-13-03dce41
5627 - uses : mlugg/setup-zig@8d6198c65fb0feaa111df26e6b467fea8345e46f
5728 with :
5829 version : 0.17.0
8253 dist/dev-compat/tcp-server > target/dev-tcp-server.log
8354 "$compiler" build tests/resource-lifetimes/resource-lifetime.roc --opt=dev --target="$TARGET" --output=dist/dev-compat/resources
8455 dist/dev-compat/resources
85- python3 scripts/check_static_executables.py dist/dev-compat --format ${{ matrix.compiler }}
56+ python3 scripts/check_static_executables.py dist/dev-compat --format pie
8657 - name : Verify executable format
8758 if : endsWith(matrix.target, 'musl')
88- run : python3 scripts/check_static_executables.py dist/example-binaries/${{ matrix.target }} --format ${{ matrix.compiler }}
59+ run : python3 scripts/check_static_executables.py dist/example-binaries/${{ matrix.target }} --format pie
0 commit comments