3333name : Upload Artifact 
3434        uses : actions/upload-artifact@v4 
3535        with :
36-           name : tools-x64- win 
36+           name : tools-win-${{ runner.arch }}  
3737          path : | 
3838            bin/picotool-*-x64-win.zip 
3939            bin/pico-sdk-tools-*-x64-win.zip 
7575      - name : Upload Artifact 
7676        uses : actions/upload-artifact@v4 
7777        with :
78-           name : tools-mac-arm64  
78+           name : tools-mac-${{ runner.arch }}  
7979          path : | 
8080            bin/picotool-*-mac.zip 
8181            bin/pico-sdk-tools-*-mac.zip 
@@ -110,7 +110,7 @@ jobs:
110110      - name : Upload Artifact 
111111        uses : actions/upload-artifact@v4 
112112        with :
113-           name : tools-mac-x64  
113+           name : tools-mac-${{ runner.arch }}  
114114          path : | 
115115            bin/openocd-*-mac.zip 
116116            bin/riscv-toolchain-*.zip 
@@ -129,7 +129,7 @@ jobs:
129129    #      os: [[self-hosted, linux, x64], [self-hosted, linux, arm64]]
130130    strategy :
131131      matrix :
132-         os : [ubuntu-22.04, [self-hosted, linux, arm64]] 
132+         os : [ubuntu-22.04, [self-hosted, linux, arm64, bookworm, 8G ]] 
133133    runs-on : ${{ matrix.os }} 
134134
135135    steps :
@@ -161,3 +161,59 @@ jobs:
161161            bin/openocd-*-lin.tar.gz 
162162            bin/riscv-toolchain-*-lin.tar.gz 
163163
164+ test_binaries :
165+     name : Test Binaries 
166+     needs : [build_linux, build_macos_arm64, build_windows] 
167+     strategy :
168+       fail-fast : false 
169+       matrix :
170+         os : [macos_latest, windows_latest, [self-hosted, linux, arm64, bookworm_desktop], [self-hosted, linux, arm64, trixie_desktop]] 
171+     runs-on : ${{ matrix.os }} 
172+     steps :
173+       - name : Download build (Windows) 
174+         if : ${{ runner.os == 'Windows' }} 
175+         uses : actions/download-artifact@v5 
176+         with :
177+           name : tools-x64-win 
178+       - name : Download build (MacOS Arm64) 
179+         if : ${{ runner.os == 'macOS' }} 
180+         uses : actions/download-artifact@v5 
181+         with :
182+           name : tools-mac-arm64 
183+       - name : Download build (Linux) 
184+         if : ${{ runner.os == 'Linux' }} 
185+         uses : actions/download-artifact@v5 
186+         with :
187+           name : tools-lin-${{ runner.arch }} 
188+ 
189+       - name : Extract build (zip) 
190+         if : ${{ runner.os == 'Windows' }} || ${{ runner.os == 'macOS' }} 
191+         shell : bash  #  Windows only has unzip in bash shell
192+         run : | 
193+           unzip openocd*.zip 
194+           ls 
195+           unzip pico-sdk-tools*.zip 
196+           ls 
197+           unzip picotool*.zip 
198+           ls 
199+           unzip riscv-toolchain*.zip 
200+           ls 
201+ name : Extract build (tar.gz) 
202+         if : ${{ runner.os == 'Linux' }} 
203+         run : | 
204+           tar -xvf openocd*.tar.gz 
205+           ls 
206+           tar -xvf pico-sdk-tools*.tar.gz 
207+           ls 
208+           tar -xvf picotool*.tar.gz 
209+           ls 
210+           tar -xvf riscv-toolchain*.tar.gz 
211+           ls 
212+ 
213+ name : Test everything runs 
214+         run : | 
215+           ./picotool/picotool version 
216+           ./pioasm/pioasm --version 
217+           ./openocd --version 
218+           ./bin/riscv32-unknown-elf-gcc --version 
219+           ./bin/riscv32-unknown-elf-gdb --version 
0 commit comments