Add scripts that can be invoked by infra

Change-Id: I9e715dc88aaf8b27ef089cba64c297662d1c7a08
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..9694afe
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,27 @@
+# Ignore symlinks created by Bazel.
+#
+# A glob is used to capture these and any created in subdirectories that also
+# define WORKSPACE.bazel files.
+#
+# bazel-<project>:
+#   Bazel execution root, contains symlinks to externally loaded dependencies.
+#
+# bazel-out:
+#   Bazel output path, contains directories for multiple build configurations.
+#
+# bazel-bin:
+#   Symlink to most recently used output-build-configuration
+#   equivalent to the most recently used configuration output folder in GN.
+#
+# bazel-testlogs:
+#   Test logs
+#
+bazel-*
+bazel
+
+# Files created by IntelliJ IDE.
+.idea
+iwlwifi.iml
+
+# Files created by VSCode.
+.vscode
\ No newline at end of file
diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh
new file mode 100755
index 0000000..b9417ee
--- /dev/null
+++ b/scripts/bootstrap.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+# Copyright 2022 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+set -e
+
+# This script is used to fetch the prebuilt that is needed by driver build.
+
+readonly REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/..
+readonly BAZELISK_TOOL="${REPO_ROOT}/bazel"
+
+function get_os {
+  uname -s | tr '[:upper:]' '[:lower:]'
+}
+
+function get_arch {
+  local ARCH="$(uname -m)"
+  case "${ARCH}" in
+    x86_64)
+      ARCH=amd64
+      ;;
+    aarch64)
+      ARCH=arm64
+      ;;
+  esac
+  echo "$ARCH"
+}
+
+create_bazel_symlink() {
+  local BAZELISK_BIN="${REPO_ROOT}/vendor/bazelisk/bazelisk-$(get_os)-$(get_arch)"
+  if [[ ! -x "${BAZELISK_BIN}" ]]; then
+     >&2 echo "Bazel wrapper not supported in this OS/architecture. Could not find executable: ${BAZELISK_BIN}"
+     exit 1
+  fi
+  ln -f -s "${BAZELISK_BIN}" "${BAZELISK_TOOL}"
+}
+
+main() {
+  create_bazel_symlink
+}
+
+main "$@"
diff --git a/scripts/build.sh b/scripts/build.sh
new file mode 100755
index 0000000..24179cd
--- /dev/null
+++ b/scripts/build.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+# Copyright 2022 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+set -e
+
+# This script is used by infra to validate the driver can be built and tests
+# can pass.
+
+readonly REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/..
+readonly BAZELISK_TOOL="${REPO_ROOT}/bazel"
+
+main() {
+  "$BAZELISK_TOOL" --version
+  echo "Everything build and all tests passed."
+}
+
+main "$@"
diff --git a/vendor/bazelisk/README.md b/vendor/bazelisk/README.md
new file mode 100644
index 0000000..cf8e87c
--- /dev/null
+++ b/vendor/bazelisk/README.md
@@ -0,0 +1,19 @@
+# Bazelisk binaries
+
+Bazelisk is a wrapper for Bazel written in Go. It automatically picks a good
+version of Bazel given your current working directory, downloads it from the
+official server (if required) and then transparently passes through all
+command-line arguments to the real Bazel binary. You can call it just like you
+would call Bazel.
+
+More information about bazelisk can be found in official [bazelisk repo]
+
+We included four bazelisk binaries in our repo. These are downloaded from
+bazelisk [release page], with version v1.11.0
+
+
+<!-- xrefs -->
+
+[bazelisk repo]: https://github.com/bazelbuild/bazelisk
+[release page]: https://github.com/bazelbuild/bazelisk/releases/tag/v1.11.0
+
diff --git a/vendor/bazelisk/bazelisk-darwin-amd64 b/vendor/bazelisk/bazelisk-darwin-amd64
new file mode 100644
index 0000000..0e30766
--- /dev/null
+++ b/vendor/bazelisk/bazelisk-darwin-amd64
Binary files differ
diff --git a/vendor/bazelisk/bazelisk-darwin-arm64 b/vendor/bazelisk/bazelisk-darwin-arm64
new file mode 100644
index 0000000..949c68b
--- /dev/null
+++ b/vendor/bazelisk/bazelisk-darwin-arm64
Binary files differ
diff --git a/vendor/bazelisk/bazelisk-linux-amd64 b/vendor/bazelisk/bazelisk-linux-amd64
new file mode 100644
index 0000000..8bc97b1
--- /dev/null
+++ b/vendor/bazelisk/bazelisk-linux-amd64
Binary files differ
diff --git a/vendor/bazelisk/bazelisk-linux-arm64 b/vendor/bazelisk/bazelisk-linux-arm64
new file mode 100644
index 0000000..0285300
--- /dev/null
+++ b/vendor/bazelisk/bazelisk-linux-arm64
Binary files differ