@@ -19,27 +19,39 @@ jobs:
19
19
target :
20
20
- os : linux
21
21
cpu : amd64
22
+ - os : linux-gcc-14 # This is to use ubuntu 24 and install gcc 14. Should be removed when ubuntu-latest is 26.04
23
+ cpu : amd64
22
24
- os : linux
23
25
cpu : i386
24
26
- os : macos
25
27
cpu : amd64
28
+ - os : macos
29
+ cpu : arm64
26
30
- os : windows
27
31
cpu : amd64
28
- # - os: windows
29
- # cpu: i386
30
- branch : [version-1-6, version-2-0, devel]
32
+ branch : [version-2-0, version-2-2, devel]
31
33
include :
32
34
- target :
33
35
os : linux
34
- builder : ubuntu-20.04
36
+ builder : ubuntu-latest
37
+ shell : bash
38
+ - target :
39
+ os : linux-gcc-14 # This is to use ubuntu 24 and install gcc 14. Should be removed when ubuntu-latest is 26.04
40
+ builder : ubuntu-24.04
35
41
shell : bash
36
42
- target :
37
43
os : macos
38
- builder : macos-12
44
+ cpu : amd64
45
+ builder : macos-13
46
+ shell : bash
47
+ - target :
48
+ os : macos
49
+ cpu : arm64
50
+ builder : macos-latest
39
51
shell : bash
40
52
- target :
41
53
os : windows
42
- builder : windows-2019
54
+ builder : windows-latest
43
55
shell : msys2 {0}
44
56
45
57
defaults :
51
63
continue-on-error : ${{ matrix.branch == 'devel' }}
52
64
steps :
53
65
- name : Checkout
54
- uses : actions/checkout@v3
66
+ uses : actions/checkout@v4
55
67
56
68
- name : Install build dependencies (Linux i386)
57
69
if : runner.os == 'Linux' && matrix.target.cpu == 'i386'
97
109
- name : Restore Nim DLLs dependencies (Windows) from cache
98
110
if : runner.os == 'Windows'
99
111
id : windows-dlls-cache
100
- uses : actions/cache@v2
112
+ uses : actions/cache@v4
101
113
with :
102
114
path : external/dlls-${{ matrix.target.cpu }}
103
115
key : ' dlls-${{ matrix.target.cpu }}'
@@ -121,6 +133,8 @@ jobs:
121
133
run : |
122
134
if [[ '${{ matrix.target.cpu }}' == 'amd64' ]]; then
123
135
PLATFORM=x64
136
+ elif [[ '${{ matrix.target.cpu }}' == 'arm64' ]]; then
137
+ PLATFORM=arm64
124
138
else
125
139
PLATFORM=x86
126
140
fi
@@ -152,10 +166,19 @@ jobs:
152
166
bash build_nim.sh nim csources dist/nimble NimBinaries
153
167
echo '${{ github.workspace }}/nim/bin' >> $GITHUB_PATH
154
168
169
+ - name : Use gcc 14
170
+ # Should be removed when ubuntu-latest is 26.04
171
+ if : ${{ matrix.target.os == 'linux-gcc-14' }}
172
+ run : |
173
+ # Add GCC-14 to alternatives
174
+ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 14
175
+ # Set GCC-14 as the default
176
+ sudo update-alternatives --set gcc /usr/bin/gcc-14
177
+
155
178
- name : Run tests
156
179
run : |
157
180
nim --version
158
181
nimble --version
182
+ gcc --version
159
183
nimble install -y --depsOnly
160
184
env NIMLANG=c nimble test
161
- env NIMLANG=cpp nimble test
0 commit comments