1
+ on :
2
+ # pull_request:
3
+ # workflow_dispatch:
4
+
5
+ name : Test latest alpha releases for macOS and Linux
6
+
7
+ jobs :
8
+ test-alpha :
9
+ name : test alpha macos 13 (x64), macos 14 (aarch64), ubuntu 20.04-24.04 (x64), ubuntu 22.04-24.04 (aarch64)
10
+ strategy :
11
+ fail-fast : false
12
+ matrix :
13
+ os : [macos-13, macos-14, ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, ubuntu-22.04-arm, ubuntu-24.04-arm]
14
+ runs-on : ${{ matrix.os }}
15
+ timeout-minutes : 90
16
+ steps :
17
+ - uses : actions/checkout@v4
18
+ - uses : goto-bus-stop/setup-zig@v2
19
+ with :
20
+ version : 0.13.0
21
+
22
+ - name : Delete everything except ci folder to test the release like a real user would
23
+ run : find . -maxdepth 1 ! -name ci ! -name '.' -exec rm -rf {} +
24
+
25
+ - name : install z3 on macOS
26
+ if : startsWith(matrix.os, 'macos')
27
+ run : brew install z3
28
+
29
+ - name : get the latest release archive for linux (x86_64)
30
+ if : startsWith(matrix.os, 'ubuntu') && !endsWith(matrix.os, '-arm')
31
+ run : |
32
+ curl -fL https://github.com/roc-lang/roc/releases/download/0.0.0-alpha2-rolling/roc-linux_x86_64-0-alpha2-rolling.tar.gz -o roc_release.tar.gz
33
+
34
+ - name : get the latest release archive for linux (arm64)
35
+ if : startsWith(matrix.os, 'ubuntu') && endsWith(matrix.os, '-arm')
36
+ run : |
37
+ curl -fL https://github.com/roc-lang/roc/releases/download/0.0.0-alpha2-rolling/roc-linux_arm64-0-alpha2-rolling.tar.gz -o roc_release.tar.gz
38
+
39
+ - name : get the latest release archive for macos 13 (x86_64)
40
+ if : matrix.os == 'macos-13'
41
+ run : curl -fL https://github.com/roc-lang/roc/releases/download/0.0.0-alpha2-rolling/roc-macos_x86_64-0-alpha2-rolling.tar.gz -o roc_release.tar.gz
42
+
43
+ - name : get the latest release archive for macos 14 (aarch64)
44
+ if : matrix.os == 'macos-14'
45
+ run : curl -fL https://github.com/roc-lang/roc/releases/download/0.0.0-alpha2-rolling/roc-macos_apple_silicon-0-alpha2-rolling.tar.gz -o roc_release.tar.gz
46
+
47
+ - run : zig version
48
+
49
+ - name : prep and run basic tests
50
+ run : |
51
+ ./ci/basic_release_test.sh roc_release.tar.gz
52
+
53
+ - name : test with old linux release (x86_64)
54
+ if : startsWith(matrix.os, 'ubuntu') && !endsWith(matrix.os, '-arm')
55
+ run : |
56
+ curl -fL https://github.com/roc-lang/roc/releases/download/0.0.0-alpha2-rolling/roc-old_linux_x86_64-0-alpha2-rolling.tar.gz -o roc_release.tar.gz
57
+ ./ci/basic_release_test.sh roc_release.tar.gz
58
+
59
+ - name : test with old linux release (arm64)
60
+ if : startsWith(matrix.os, 'ubuntu') && endsWith(matrix.os, '-arm')
61
+ run : |
62
+ curl -fL https://github.com/roc-lang/roc/releases/download/0.0.0-alpha2-rolling/roc-old_linux_arm64-0-alpha2-rolling.tar.gz -o roc_release.tar.gz
63
+ ./ci/basic_release_test.sh roc_release.tar.gz
0 commit comments