...
1#!/bin/sh
2set -eu
3. "$(dirname "$0")/../../../ci/sub/lib.sh"
4cd -- "$(dirname "$0")/../../.."
5
6help() {
7 cat <<EOF
8usage: $0 [--dry-run] [--run=regex] ...
9
10Run a command on every builder instance.
11EOF
12}
13
14main() {
15 while flag_parse "$@"; do
16 case "$FLAG" in
17 h|help)
18 help
19 return 0
20 ;;
21 dry-run)
22 flag_noarg && shift "$FLAGSHIFT"
23 DRY_RUN=1
24 ;;
25 run)
26 flag_reqarg && shift "$FLAGSHIFT"
27 JOBFILTER="$FLAGARG"
28 ;;
29 *)
30 flag_errusage "unrecognized flag $FLAGRAW"
31 ;;
32 esac
33 done
34 shift "$FLAGSHIFT"
35
36 REMOTE_HOST=$CI_D2_LINUX_AMD64 && runjob linux-amd64 ssh "$REMOTE_HOST" "$@"
37 REMOTE_HOST=$CI_D2_LINUX_ARM64 && runjob linux-arm64 ssh "$REMOTE_HOST" "$@"
38 REMOTE_HOST=$CI_D2_MACOS_AMD64 && runjob macos-amd64 ssh "$REMOTE_HOST" "$@"
39 REMOTE_HOST=$CI_D2_MACOS_ARM64 && runjob macos-arm64 ssh "$REMOTE_HOST" "$@"
40 REMOTE_HOST=$CI_D2_WINDOWS_AMD64 && runjob windows-amd64 ssh "$REMOTE_HOST" "$@"
41}
42
43main "$@"
View as plain text