@@ -17,18 +17,20 @@ jobs:
1717 - name : Disable Windows Defender
1818 run : Set-MpPreference -DisableRealtimeMonitoring $true
1919 shell : powershell
20- - uses : actions/checkout@v3
20+ - uses : actions/checkout@v4
21+ # Build and Test
2122 - name : Run task 'build'
2223 shell : cmd
2324 run : ./build.cmd build
2425 - name : Run task 'in-tests-core'
2526 shell : cmd
2627 run : ./build.cmd in-tests-core -e
28+ # Upload Artifacts with Unique Name
2729 - name : Upload test results
28- uses : actions/upload-artifact@v3
30+ uses : actions/upload-artifact@v4
2931 if : always()
3032 with :
31- name : test-windows-core-trx
33+ name : test-windows-core-trx-${{ github.run_id }}
3234 path : " **/*.trx"
3335
3436 test-windows-full :
@@ -37,71 +39,118 @@ jobs:
3739 - name : Disable Windows Defender
3840 run : Set-MpPreference -DisableRealtimeMonitoring $true
3941 shell : powershell
40- - uses : actions/checkout@v3
42+ - uses : actions/checkout@v4
43+ # Build and Test
4144 - name : Run task 'build'
4245 shell : cmd
4346 run : ./build.cmd build
4447 - name : Run task 'in-tests-full'
4548 shell : cmd
4649 run : ./build.cmd in-tests-full -e
50+ # Upload Artifacts with Unique Name
4751 - name : Upload test results
48- uses : actions/upload-artifact@v3
52+ uses : actions/upload-artifact@v4
4953 if : always()
5054 with :
51- name : test-windows-full-trx
55+ name : test-windows-full-trx-${{ github.run_id }}
5256 path : " **/*.trx"
5357
5458 test-linux :
5559 runs-on : ubuntu-latest
5660 steps :
57- - uses : actions/checkout@v3
61+ - uses : actions/checkout@v4
62+ # Set up the environment
5863 - name : Set up Clang
59- uses : egor-tensin/setup-clang@v1
64+ uses : egor-tensin/setup-clang@ef434b41eb33a70396fb336b1bae39c76d740c3d # v1.4
6065 with :
6166 version : latest
6267 platform : x64
6368 - name : Set up zlib-static
6469 run : sudo apt-get install -y libkrb5-dev
70+ - name : Set up node
71+ uses : actions/setup-node@v4
72+ with :
73+ node-version : " 22"
74+ - name : Set up v8
75+ run : npm install jsvu -g && jsvu --os=linux64 --engines=v8 && echo "$HOME/.jsvu/bin" >> $GITHUB_PATH
76+ - name : Install wasm-tools workload
77+ run : ./build.cmd install-wasm-tools
78+ # Build and Test
6579 - name : Run task 'build'
6680 run : ./build.cmd build
6781 - name : Run task 'unit-tests'
6882 run : ./build.cmd unit-tests -e
6983 - name : Run task 'in-tests-core'
7084 run : ./build.cmd in-tests-core -e
85+ # Upload Artifacts with Unique Name
7186 - name : Upload test results
72- uses : actions/upload-artifact@v3
87+ uses : actions/upload-artifact@v4
7388 if : always()
7489 with :
75- name : test-linux-trx
90+ name : test-linux-trx-${{ github.run_id }}
7691 path : " **/*.trx"
7792
7893 test-macos :
79- runs-on : macos-13
94+ name : test-macos (${{ matrix.os.arch }})
95+ runs-on : ${{ matrix.os.runs-on }}
96+ strategy :
97+ matrix :
98+ os :
99+ - runs-on : ' macos-latest'
100+ jsvu-os : ' mac64arm'
101+ arch : ' arm64'
102+ - runs-on : ' macos-13'
103+ jsvu-os : ' mac64'
104+ arch : ' x64'
80105 steps :
81- - uses : actions/checkout@v3
106+ - uses : actions/checkout@v4
107+ - name : Set up node
108+ uses : actions/setup-node@v4
109+ with :
110+ node-version : " 22"
111+ - name : Set up v8
112+ run : npm install jsvu -g && jsvu --os=${{ matrix.os.jsvu-os }} --engines=v8 && echo "$HOME/.jsvu/bin" >> $GITHUB_PATH
113+ - name : Install wasm-tools workload
114+ run : ./build.cmd install-wasm-tools
115+ # Build and Test
82116 - name : Run task 'build'
83117 run : ./build.cmd build
84118 - name : Run task 'unit-tests'
85119 run : ./build.cmd unit-tests -e
86120 - name : Run task 'in-tests-core'
87121 run : ./build.cmd in-tests-core -e
122+ # Upload Artifacts with Unique Name
88123 - name : Upload test results
89- uses : actions/upload-artifact@v3
124+ uses : actions/upload-artifact@v4
90125 if : always()
91126 with :
92- name : test-macos-trx
127+ name : test-macos(${{ matrix.os.arch }}) -trx-${{ github.run_id }}
93128 path : " **/*.trx"
94-
129+
130+ test-pack :
131+ runs-on : ubuntu-latest
132+ steps :
133+ - uses : actions/checkout@v4
134+ - name : Set up Clang
135+ uses : egor-tensin/setup-clang@v1
136+ with :
137+ version : latest
138+ platform : x64
139+ - name : Set up zlib-static
140+ run : sudo apt-get install -y libkrb5-dev
141+ - name : Run task 'pack'
142+ run : ./build.cmd pack
143+
95144 spellcheck-docs :
96145 runs-on : ubuntu-latest
97146 steps :
98- - uses : actions/checkout@v3
99- - uses : actions/setup-node@v3
147+ - uses : actions/checkout@v4
148+ - uses : actions/setup-node@v4
100149 name : Setup node
101150 with :
102- node-version : " 18 "
151+ node-version : " 22 "
103152 - name : Install cSpell
104- run : npm install -g cspell@8 .0.0
153+ run : npm install -g cspell@9 .0.2
105154 - name : Copy cSpell config
106155 run : cp ./build/cSpell.json ./cSpell.json
107156 - name : Run cSpell
0 commit comments