Skip to content

Commit 1910488

Browse files
committed
Tidy up and add some more test OSes
1 parent 6af6f6c commit 1910488

File tree

1 file changed

+20
-30
lines changed

1 file changed

+20
-30
lines changed

.github/workflows/build.yml

Lines changed: 20 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,11 @@ env:
1212
jobs:
1313
build_windows:
1414
name: Build Windows
15-
# runs-on: [self-hosted, Windows, x64]
1615
runs-on: 'windows-latest'
1716

1817
steps:
1918
- name: Checkout
2019
uses: actions/checkout@v4
21-
# - name: Setup SSH Auth
22-
# if: runner.environment == 'github-hosted'
23-
# uses: webfactory/[email protected]
24-
# with:
25-
# ssh-private-key: ${{ secrets.SSH_KEY }}
2620
- name: Setup MSYS2
2721
uses: msys2/setup-msys2@v2
2822
- name: Build
@@ -51,32 +45,27 @@ jobs:
5145
5246
build_macos:
5347
name: Build MacOS
54-
# runs-on: [self-hosted, macOS]
5548
runs-on: 'macos-14'
5649

5750
steps:
5851
- name: Checkout
5952
uses: actions/checkout@v4
6053
- name: Set up arm64 Homebrew
61-
if: runner.environment == 'github-hosted'
6254
id: set-up-homebrew
6355
uses: Homebrew/actions/setup-homebrew@master
64-
- name: Build
56+
- name: Build arm64
6557
run: ./build_macos.sh
6658
- name: Uninstall arm64 Homebrew
67-
if: runner.environment == 'github-hosted'
6859
run: |
6960
NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
7061
rm -rf /opt/homebrew || true
7162
- name: Set up x86_64 Homebrew
72-
if: runner.environment == 'github-hosted'
7363
run: |
7464
NONINTERACTIVE=1 arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
7565
- name: Install x86_64 pkg-config & cmake
76-
if: runner.environment == 'github-hosted'
7766
run: |
7867
arch -x86_64 /usr/local/bin/brew install pkg-config cmake
79-
- name: Build
68+
- name: Build x86_64
8069
run: arch -x86_64 ./build_macos.sh
8170
- name: Merge Universal Binaries
8271
run: ./merge_macos.sh
@@ -101,22 +90,15 @@ jobs:
10190
10291
build_linux:
10392
name: Build Linux
104-
# strategy:
105-
# matrix:
106-
# os: [[self-hosted, linux, x64], [self-hosted, linux, arm64]]
10793
strategy:
94+
fail-fast: false
10895
matrix:
10996
os: [ubuntu-22.04, [self-hosted, linux, arm64, bookworm, 8G]]
11097
runs-on: ${{ matrix.os }}
11198

11299
steps:
113100
- name: Checkout
114101
uses: actions/checkout@v4
115-
# - name: Setup SSH Auth
116-
# if: runner.environment == 'github-hosted'
117-
# uses: webfactory/[email protected]
118-
# with:
119-
# ssh-private-key: ${{ secrets.SSH_KEY }}
120102
- name: Build
121103
run: ./build_linux.sh
122104
- name: Upload Artifact
@@ -141,30 +123,33 @@ jobs:
141123
test_binaries:
142124
name: Test Binaries
143125
needs: [build_linux, build_macos, build_windows]
126+
if: always() && contains(needs.*.result, 'success')
144127
strategy:
145128
fail-fast: false
146129
matrix:
147-
os: [macos-latest, macos-13, windows-latest, [self-hosted, linux, arm64, bookworm_desktop], [self-hosted, linux, arm64, trixie_desktop]]
130+
# Test all GitHub supported versions, except for windows-11-arm
131+
os: [macos-15, macos-15-intel, macos-14, windows-2025, windows-2022, windows-11-arm, ubuntu-24.04, ubuntu-22.04, ubuntu-24.04-arm, ubuntu-22.04-arm, [self-hosted, linux, arm64, trixie_desktop], [self-hosted, linux, arm64, bookworm_desktop]]
148132
runs-on: ${{ matrix.os }}
149133
steps:
150134
- name: Download build (Windows)
151-
if: ${{ runner.os == 'Windows' }}
135+
if: runner.os == 'Windows'
152136
uses: actions/download-artifact@v5
153137
with:
154-
name: tools-win-${{ runner.arch }}
138+
# Only built for x64, but arm should still run it fine
139+
name: tools-win-X64
155140
- name: Download build (MacOS)
156-
if: ${{ runner.os == 'macOS' }}
141+
if: runner.os == 'macOS'
157142
uses: actions/download-artifact@v5
158143
with:
159144
name: tools-mac-universal
160145
- name: Download build (Linux)
161-
if: ${{ runner.os == 'Linux' }}
146+
if: runner.os == 'Linux'
162147
uses: actions/download-artifact@v5
163148
with:
164149
name: tools-lin-${{ runner.arch }}
165150

166151
- name: Extract build (zip)
167-
if: ${{ runner.os == 'Windows' || runner.os == 'macOS' }}
152+
if: runner.os == 'Windows' || runner.os == 'macOS'
168153
shell: bash # Windows only has unzip in bash shell
169154
run: |
170155
unzip -o pico-sdk-tools*.zip
@@ -176,7 +161,7 @@ jobs:
176161
unzip -o riscv-toolchain*.zip || true
177162
ls
178163
- name: Extract build (tar.gz)
179-
if: ${{ runner.os == 'Linux' }}
164+
if: runner.os == 'Linux'
180165
run: |
181166
tar -xvf pico-sdk-tools*.tar.gz
182167
ls
@@ -187,16 +172,21 @@ jobs:
187172
tar -xvf riscv-toolchain*.tar.gz || true
188173
ls
189174
175+
- name: Clean runner (MacOS)
176+
if: runner.os == 'macOS'
177+
run: |
178+
NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
179+
190180
- name: Test default stuff runs
191181
run: |
192182
./picotool/picotool version
193183
./pioasm/pioasm --version
194184
- name: Test openocd runs
195-
if: ${{ env.SKIP_OPENOCD != 1 }}
185+
if: env.SKIP_OPENOCD != 1
196186
run: |
197187
./openocd --version
198188
- name: Test riscv-toolchain runs
199-
if: ${{ env.SKIP_RISCV != 1 }}
189+
if: env.SKIP_RISCV != 1
200190
run: |
201191
./bin/riscv32-unknown-elf-gcc --version
202192
./bin/riscv32-unknown-elf-gdb --version

0 commit comments

Comments
 (0)