33name : CI
44on :
55 push : # test + build + release
6- branches : [ master ]
6+ branches : [ master, arm64-windows ]
77 pull_request : # test + build
88 branches : [ master ]
99 release : # test + build + release
1010 types : [ published ]
1111env :
12- DC : ldc-1.41.0-beta1
12+ DC : ldc-1.41.0
1313
1414defaults :
1515 run :
2020 name : Build vanilla D
2121 strategy :
2222 matrix :
23- os : [ubuntu-latest, macos-15-intel, windows-latest ]
23+ os : [windows-11-arm ]
2424 build : [debug-fast, release-fast]
2525 runs-on : ${{ matrix.os }}
2626 steps :
@@ -40,57 +40,13 @@ jobs:
4040 strategy :
4141 matrix :
4242 os :
43- - runner : ubuntu-latest
44- target : x64-linux
45- - runner : macos-15-intel
46- target : x64-macos
47- # - runner: macos-14
48- # target: arm64-macos
49- - runner : windows-latest
50- target : x64-windows
43+ - runner : windows-11-arm
44+ target : arm64-windows
5145 v :
5246 - build : debug-fast,release-fast
5347 config : nih-cli,nih-static,nih-shared,vbe-static,vbe-shared
5448 - build : debug
5549 config : testsuite
56- include :
57- - os :
58- runner : ubuntu-latest
59- target : wasm32-wasi
60- v :
61- build : debug
62- config : testsuite
63- - os :
64- runner : ubuntu-latest
65- target : wasm32-wasi
66- v :
67- build : release-fast
68- config : nih-cli
69- - os :
70- runner : ubuntu-latest
71- target : arm64-linux
72- v :
73- build : debug
74- config : testsuite
75- - os :
76- runner : ubuntu-latest
77- target : arm64-linux
78- v :
79- build : release-fast
80- config : nih-cli,nih-static,nih-shared,vbe-static,vbe-shared
81- - os :
82- runner : ubuntu-latest
83- target : wasm32-unknown
84- v :
85- build : release-fast
86- config : nih-cli,nih-shared,vbe-shared
87- exclude :
88- # https://github.com/ldc-developers/ldc/issues/4696
89- - os :
90- runner : ubuntu-latest
91- target : arm64-linux
92- v :
93- build : debug-fast
9450 name : Build ${{ matrix.os.target }}-${{ matrix.v.build }}-${{ matrix.v.config }}
9551 runs-on : ${{ matrix.os.runner }}
9652 steps :
@@ -116,70 +72,17 @@ jobs:
11672 strategy :
11773 matrix :
11874 os :
119- - runner : ubuntu-latest
120- target : x64-linux
121- - runner : macos-15-intel
122- target : x64-macos
123- # - runner: macos-14
124- # target: arm64-macos
125- - runner : windows-latest
126- target : x64-windows
12775 - runner : windows-11-arm
12876 target : arm64-windows
129- - runner : ubuntu-latest
130- target : wasm32-wasi
131- - runner : ubuntu-latest
132- target : arm64-linux
13377 runs-on : ${{ matrix.os.runner }}
13478 steps :
13579 - uses : actions/checkout@v4
13680 - uses : dlang-community/setup-dlang@v1
13781 with :
13882 compiler : ${{ env.DC }}
139- - uses : jcbhmr/setup-wasmtime@v2
140- if : ${{ matrix.os.target == 'wasm32-wasi' }}
141- - if : ${{ matrix.os.target == 'arm64-linux' }}
142- run : |
143- sudo apt update
144- sudo apt install qemu-user
14583 - name : Test
14684 run : |
14785 ./build/setup.sh
14886 ./build/builder --action=run --remove-build --no-deps --build=debug \
14987 --target-relaxed=${{ matrix.os.target }} --config=testsuite \
15088 --compiler=ldc2 --print-commands --print-callees --pretty --color
151- upload :
152- name : Upload build
153- if : github.event_name != 'pull_request'
154- runs-on : ubuntu-latest
155- needs : [build_no_deps, test]
156- steps :
157- # Cloning is needed for `gh release create` to work. It looks repository up in .git folder
158- - uses : actions/checkout@v4
159- # Download build artifacts of other jobs
160- - uses : actions/download-artifact@v4
161- with :
162- pattern : artifact-*
163- merge-multiple : true
164- path : bin/
165- # Update tag, so that we get proper date and commit on github
166- - name : Update CI tag
167- uses :
richardsimko/[email protected] 168- if : github.ref == 'refs/heads/master'
169- with :
170- tag_name : CI
171- env :
172- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
173- # Create CI release and upload builds
174- - name : Upload
175- env :
176- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
177- run : |
178- ls -R
179- tag=`basename ${{ github.ref }}`
180- if [ $tag = 'master' ]; then
181- tag='CI'
182- fi
183-
184- # --clobber Overwrite existing assets of the same name
185- gh release upload $tag bin/*.zip --clobber
0 commit comments