@@ -11,18 +11,20 @@ jobs:
1111 fail-fast : false
1212 matrix :
1313 os :
14- - windows-latest
15- - ubuntu-latest
16- - macos-13 # x86
17- - macos-14 # arm64
14+ - windows-2019
15+ - ubuntu-22.04
1816 d :
1917 - " ldc-latest"
20- node :
21- - 20
22- pnpm :
23- - 9
2418 compiler :
25- - llvm
19+ - llvm-19
20+ include :
21+ - os : macos-14 # arm64
22+ d : " ldc-latest"
23+ compiler : " appleclang"
24+ - os : macos-13 # x86
25+ d : " ldc-latest"
26+ compiler : " appleclang"
27+
2628 steps :
2729 - uses : actions/checkout@v4
2830 with :
@@ -41,40 +43,30 @@ jobs:
4143 D:\.pnpm-store
4244 D:\.pnpm
4345 ./.dub
44- key : " cache-OS:${{ matrix.os }}-D:${{ matrix.d }}-CXX:${{ matrix.compiler }}-${{ hashFiles('./dub.selections.json', './pnpm-lock.yaml')}} }}"
46+ key : " cache-OS:${{ matrix.os }}-D:${{ matrix.d }}-CXX:${{ matrix.compiler }}-${{ hashFiles('./dub.selections.json', './pnpm-lock.yaml','./package.json', './.nvmrc', './dub.sdl' )}} }}"
4547 restore-keys : |
4648 "cache-OS:${{ matrix.os }}-D:${{ matrix.d }}-CXX:${{ matrix.compiler }}-"
4749
4850 # Setup compilers and tools
4951 - name : Setup Cpp
50- if : ${{ !contains(matrix.os, 'macos') }}
5152 uses : aminya/setup-cpp@v1
5253 with :
5354 compiler : ${{ matrix.compiler }}
5455 cmake : true
5556 ninja : true
5657
57- - name : Setup Cpp
58- if : ${{ contains(matrix.os, 'macos') }}
59- uses : aminya/setup-cpp@v1
60- with :
61- cmake : true
62- ninja : true
63-
6458 - name : Setup D
65- uses : dlang-community/setup-dlang@v1
59+ uses : dlang-community/setup-dlang@v2
6660 with :
6761 compiler : ${{ matrix.d }}
6862
6963 - name : Setup Node
7064 uses : actions/setup-node@v4
7165 with :
72- node-version : ${{ matrix.node }}
66+ node-version-file : " .nvmrc "
7367
7468 - name : Setup Pnpm
7569 uses : pnpm/action-setup@v4
76- with :
77- version : ${{ matrix.pnpm }}
7870
7971 # Build and Test
8072
9890 if : startsWith(github.ref, 'refs/tags/')
9991 runs-on : ubuntu-latest
10092 needs : build
101- strategy :
102- matrix :
103- node :
104- - 20
105- pnpm :
106- - 9
10793 steps :
10894 - name : Merge Artifacts
10995 uses : actions/upload-artifact/merge@v4
@@ -142,12 +128,10 @@ jobs:
142128 - name : Setup Node
143129 uses : actions/setup-node@v4
144130 with :
145- node-version : ${{ matrix.node }}
131+ node-version-file : " .nvmrc "
146132
147133 - name : Setup Pnpm
148134 uses : pnpm/action-setup@v4
149- with :
150- version : ${{ matrix.pnpm }}
151135
152136 - name : Install dependencies
153137 run : pnpm install
0 commit comments