64
64
65
65
outputs :
66
66
runner : ${{ steps.plan.outputs.runner }}
67
+ container : ${{ steps.plan.outputs.container }}
67
68
subset : ${{ steps.plan.outputs.subset }}
68
69
size : ${{ steps.plan.outputs.size }}
69
70
@@ -73,11 +74,23 @@ jobs:
73
74
run : |
74
75
# Resolve runner type
75
76
case "${{ github.event.inputs.host }}" in
76
- linux-x86_64) runner="zephyr-runner-v2-linux-x64-4xlarge";;
77
- linux-aarch64) runner="zephyr-runner-v2-linux-arm64-4xlarge";;
78
- macos-x86_64) runner="zephyr-runner-v2-macos-arm64-2xlarge";;
79
- macos-aarch64) runner="zephyr-runner-v2-macos-arm64-2xlarge";;
80
- windows-x86_64) runner="zephyr-runner-v2-windows-x64-2xlarge";;
77
+ linux-x86_64)
78
+ runner="zephyr-runner-v2-linux-x64-4xlarge"
79
+ container="ghcr.io/zephyrproject-rtos/ci:v0.28.3"
80
+ ;;
81
+ linux-aarch64)
82
+ runner="zephyr-runner-v2-linux-arm64-4xlarge"
83
+ container="ghcr.io/zephyrproject-rtos/ci:v0.28.3"
84
+ ;;
85
+ macos-x86_64)
86
+ runner="zephyr-runner-v2-macos-arm64-2xlarge"
87
+ ;;
88
+ macos-aarch64)
89
+ runner="zephyr-runner-v2-macos-arm64-2xlarge"
90
+ ;;
91
+ windows-x86_64)
92
+ runner="zephyr-runner-v2-windows-x64-2xlarge"
93
+ ;;
81
94
esac
82
95
83
96
# Resolve subset count
94
107
95
108
# Export output variables
96
109
echo "runner=${runner}" >> $GITHUB_OUTPUT
110
+ echo "container=${container}" >> $GITHUB_OUTPUT
97
111
echo "subset=${subset}" >> $GITHUB_OUTPUT
98
112
echo "size=${size}" >> $GITHUB_OUTPUT
99
113
@@ -102,6 +116,11 @@ jobs:
102
116
needs : [ prep ]
103
117
runs-on :
104
118
group : ${{ needs.prep.outputs.runner }}
119
+ container : ${{ needs.prep.outputs.container }}
120
+
121
+ defaults :
122
+ run :
123
+ shell : bash
105
124
106
125
strategy :
107
126
fail-fast : false
@@ -131,68 +150,18 @@ jobs:
131
150
- name : Set up test environment (Linux)
132
151
if : ${{ runner.os == 'Linux' }}
133
152
run : |
134
- # Add ccache PPA to install up-to-date ccache
135
- sudo add-apt-repository -y -n ppa:stephanosio/ccache
136
-
137
153
# Add GitHub CLI source
138
- sudo mkdir -p -m 755 /etc/apt/keyrings
139
- sudo curl -L -o /etc/apt/keyrings/githubcli-archive-keyring.gpg \
140
- https://cli.github.com/packages/githubcli-archive-keyring.gpg
141
- sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg
142
- sudo mkdir -p -m 755 /etc/apt/sources.list.d
143
- echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
154
+ mkdir -p -m 755 /etc/apt/keyrings
155
+ wget -O /etc/apt/keyrings/githubcli-archive-keyring.gpg \
156
+ https://cli.github.com/packages/githubcli-archive-keyring.gpg
157
+ chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg
158
+ mkdir -p -m 755 /etc/apt/sources.list.d
159
+ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null
144
160
145
161
# Install required system packages
146
- sudo apt-get update
147
- sudo apt-get install -y \
148
- ccache \
149
- cmake \
150
- device-tree-compiler \
151
- dfu-util \
152
- dos2unix \
153
- file \
154
- g++ \
155
- gcc \
156
- gh \
157
- git \
158
- gperf \
159
- jq \
160
- libmagic1 \
161
- make \
162
- ninja-build \
163
- protobuf-compiler \
164
- python3-dev \
165
- python3-tk \
166
- python3-venv \
167
- wget \
168
- xz-utils
169
-
170
- if [ "${HOSTTYPE}" = "x86_64" ]; then
171
- sudo apt install -y \
172
- g++-multilib \
173
- gcc-multilib
174
- fi
175
-
176
- # Set up Rust
177
- ## Install Cargo package manager
178
- wget -q -O- "https://sh.rustup.rs" | sh -s -- -y --default-toolchain 1.86
179
-
180
- ## Make Cargo globally available
181
- PATH=~/.cargo/bin:$PATH
182
- echo "~/.cargo/bin" >> $GITHUB_PATH
183
-
184
- ## Install uefi-run utility
185
- sudo -E cargo install uefi-run --root /usr
186
- echo "OVMF_FD_PATH=/usr/share/ovmf/OVMF.fd" >> $GITHUB_ENV
187
-
188
- ## Install Rust target support required by Zephyr
189
- rustup target install riscv32i-unknown-none-elf
190
- rustup target install riscv64imac-unknown-none-elf
191
- rustup target install thumbv6m-none-eabi
192
- rustup target install thumbv7em-none-eabi
193
- rustup target install thumbv7m-none-eabi
194
- rustup target install thumbv8m.main-none-eabi
195
- rustup target install x86_64-unknown-none
162
+ apt-get update
163
+ apt-get install -y \
164
+ gh
196
165
197
166
# Set environment variables
198
167
echo "TAR=tar" >> $GITHUB_ENV
0 commit comments