# RIOT CI meeting 08.11.2021 ## Participants - Tom - Francisco - Kaspar - Koen - Leandro - Karl - @maribu - Martine ## Agenda - make CI faster! ## Performance Ideas ### lossless - cancel earlier (current: after 500 failed) - Kaspar will adjust the murdock backend to keep failed jobs after cancelled, then we set to 20 failed. - staged build (e.g., all apps for one board, one app for all boards. only continue on success.) - Marian will write script for figuring out default BOARD - Kaspar will integrate in murdock-scripts - manual Quickbuild / Fullbuild label - fix labels, do it - cache results based on tree hash - let's do it. - add hardware - filter build based on heuristics (e.g., if only tests/foo changes, only build test/foo. if only .md changed, don't compile.) -> try, start simple - remove support alltogether (boards, arch) ### lossy - don't build what doesn't link (e.g., blacklist memory list) -> nah - don't build variants -> make part of heuristics, put to the end -> yes ### action points - [ ] define "quick build" - [ ] make target or script to get default board for each application / test -> @marian - [x] "undust" github get label script/function -> need "LABELS=$(get_labels $prnum)" that is in-tree and can be called from murdock-scripts - [ ] implement tree hash based cache -> @kaspar030 - [ ] Autoupdate riotbuild images on HAW+ cpus @tom - [ ] Fast fail on Kconfig tests -> compare list of modules + pkgs before building @leandro - [ ] figure out heuristics (if only test/foo changes) - [ ] "simple" first, make extensible @marian - [ ] use also to filter too similar board variants (nucleos, esp32, nrf52)