# Copyright 2019 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Force regeneration of every board configuration in order to include the
# postsubmit builders as binpkg sources.
# crbug.com/898996

for board_root in /build/*; do
  board_name=${board_root##*/}
  if [[ -e "/build/${board_name}/etc/make.conf.board" ]]; then
    /mnt/host/source/chromite/bin/setup_board \
        --board=${board_name} \
        --skip-board-pkg-init \
        --skip-chroot-upgrade \
        --regen-configs &
  fi
done
wait
