Skip to content

Commit 2c84340

Browse files
authored
Merge pull request #7642 from MicroDev1/ci
CI: Fix scheduler
2 parents 00a03c3 + 0e17def commit 2c84340

File tree

2 files changed

+16
-18
lines changed

2 files changed

+16
-18
lines changed

.github/workflows/build.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ jobs:
9393

9494
tests:
9595
needs: scheduler
96-
if: needs.scheduler.outputs.build-boards == 'True'
9796
uses: ./.github/workflows/run-tests.yml
9897
with:
9998
cp-version: ${{ needs.scheduler.outputs.cp-version }}
@@ -109,7 +108,7 @@ jobs:
109108
mpy-cross-mac:
110109
runs-on: macos-11
111110
needs: scheduler
112-
if: ${{ needs.scheduler.outputs.build-boards == 'True' }}
111+
if: needs.scheduler.outputs.build-boards == 'True'
113112
env:
114113
CP_VERSION: ${{ needs.scheduler.outputs.cp-version }}
115114
steps:
@@ -164,7 +163,7 @@ jobs:
164163
build-doc:
165164
runs-on: ubuntu-22.04
166165
needs: scheduler
167-
if: ${{ needs.scheduler.outputs.build-doc == 'True' }}
166+
if: needs.scheduler.outputs.build-doc == 'True'
168167
env:
169168
CP_VERSION: ${{ needs.scheduler.outputs.cp-version }}
170169
steps:
@@ -222,7 +221,7 @@ jobs:
222221
build-windows:
223222
runs-on: windows-2022
224223
needs: scheduler
225-
if: ${{ needs.scheduler.outputs.build-windows == 'True' }}
224+
if: needs.scheduler.outputs.build-windows == 'True'
226225
env:
227226
CP_VERSION: ${{ needs.scheduler.outputs.cp-version }}
228227
defaults:

tools/ci_set_matrix.py

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
all_ports_all_boards,
4343
)
4444

45-
PORT_TO_ARCH = {
45+
PORT_TO_JOB = {
4646
"atmel-samd": "atmel",
4747
"broadcom": "aarch",
4848
"cxd56": "arm",
@@ -110,7 +110,7 @@ def set_output(name: str, value):
110110

111111

112112
def set_boards_to_build(build_all: bool):
113-
if last_failed_jobs.get("mpy_cross") or last_failed_jobs.get("tests"):
113+
if last_failed_jobs.get("mpy-cross") or last_failed_jobs.get("tests"):
114114
build_all = True
115115

116116
# Get boards in json format
@@ -224,33 +224,32 @@ def get_settings(board):
224224
boards_to_build = all_board_ids
225225
break
226226

227-
# Split boards by architecture.
228-
arch_to_boards = {"aarch": [], "arm": [], "atmel": [], "esp": [], "riscv": []}
227+
# Split boards by job
228+
job_to_boards = {"aarch": [], "arm": [], "atmel": [], "esp": [], "riscv": []}
229229

230230
# Append previously failed boards
231-
for arch in arch_to_boards:
232-
if arch in last_failed_jobs:
233-
for board in last_failed_jobs[arch]:
234-
if not board in boards_to_build:
235-
boards_to_build.append(board)
231+
for job in job_to_boards:
232+
if job in last_failed_jobs:
233+
for board in last_failed_jobs[job]:
234+
boards_to_build.add(board)
236235

237236
build_boards = bool(boards_to_build)
238237
print("Building boards:", build_boards)
239238
set_output("build-boards", build_boards)
240239

241-
# Append boards according to arch
240+
# Append boards according to job
242241
for board in sorted(boards_to_build):
243242
port = board_to_port.get(board)
244243
# A board can appear due to its _deletion_ (rare)
245244
# if this happens it's not in `board_to_port`.
246245
if not port:
247246
continue
248-
arch_to_boards[PORT_TO_ARCH[port]].append(board)
247+
job_to_boards[PORT_TO_JOB[port]].append(board)
249248
print(" ", board)
250249

251-
# Set the step outputs for each architecture
252-
for arch in arch_to_boards:
253-
set_output(f"boards-{arch}", json.dumps(arch_to_boards[arch]))
250+
# Set the step outputs for each job
251+
for job in job_to_boards:
252+
set_output(f"boards-{job}", json.dumps(job_to_boards[job]))
254253

255254

256255
def set_docs_to_build(build_doc: bool):

0 commit comments

Comments
 (0)