@@ -100,15 +100,25 @@ jobs:
100100 # always invokes +esp internally
101101 run : cargo xcheck semver-check --chips ${{ matrix.device.soc }} check
102102
103- extras :
104- runs-on : macos-m1-self-hosted
103+ detect-extras-runner :
104+ uses : ./.github/workflows/check_runner.yml
105+ with :
106+ primary-runner : macos-m1-self-hosted
107+ fallback-runner : ubuntu-latest
105108
109+ extras :
110+ needs : detect-extras-runner
111+ runs-on : ${{ needs.detect-extras-runner.outputs.selected-runner }}
106112 steps :
107113 - uses : actions/checkout@v4
108114 - uses : dtolnay/rust-toolchain@v1
109115 with :
110116 toolchain : stable
111117
118+ # Install dependencies for building the extra crates on ubuntu
119+ - name : Install dependencies
120+ if : runner.os == 'Linux'
121+ run : sudo apt-get update && sudo apt-get -y install musl-tools libudev-dev pkg-config
112122 # Build the extra crates
113123 - name : Build the bench-server
114124 run : cd extras/bench-server && cargo build
@@ -150,9 +160,15 @@ jobs:
150160 # --------------------------------------------------------------------------
151161 # host tests
152162
163+ detect-host-tests-runner :
164+ uses : ./.github/workflows/check_runner.yml
165+ with :
166+ primary-runner : macos-m1-self-hosted
167+ fallback-runner : ubuntu-latest
168+
153169 host-tests :
154- runs-on : macos-m1-self-hosted
155-
170+ needs : detect-host-tests-runner
171+ runs-on : ${{ needs.detect-host-tests-runner.outputs.selected-runner }}
156172 steps :
157173 - uses : actions/checkout@v4
158174 # Some of the configuration items in 'rustfmt.toml' require the 'nightly'
@@ -184,4 +200,4 @@ jobs:
184200
185201 # Miri tests in esp-storage
186202 - run : cd esp-storage && cargo +nightly miri test --features=emulation -- --test-threads=1
187- - run : cd esp-storage && cargo +nightly miri test --features=emulation,bytewise-read -- --test-threads=1
203+ - run : cd esp-storage && cargo +nightly miri test --features=emulation,bytewise-read -- --test-threads=1
0 commit comments