...

Text file src/oss.terrastruct.com/d2/ci/release/aws/ssh.sh

Documentation: oss.terrastruct.com/d2/ci/release/aws

     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