diff --git a/script/install.d/20-docker.sh b/script/install.d/20-docker.sh index 9119aa3..adec750 100644 --- a/script/install.d/20-docker.sh +++ b/script/install.d/20-docker.sh @@ -1,14 +1,28 @@ -if [[ "$OSTYPE" == "linux-gnu"* && -z "$SKIP_DOCKER_CONFIG" ]]; then - docker --version +#!/usr/bin/env bash - readonly docker_group="docker" - if ! grep -q "$docker_group" /etc/group; then - echo "Adding docker group" - sudo groupadd "$docker_group" - fi +# ----------------------------------------------------------------------------- +# Description: +# (macOS) Install Docker. +# (Linux) Setup Docker. +# - if ! groups "$USER" | grep -q "\b$docker_group\b"; then - echo "Adding user to docker group" - sudo usermod -aG docker "$USER" +if [[ -z "$SKIP_DOCKER_CONFIG" ]]; then + if [[ "$OSTYPE" == "linux-gnu"* ]]; then + docker --version + + readonly docker_group="docker" + if ! grep -q "$docker_group" /etc/group; then + echo "Adding docker group" + sudo groupadd "$docker_group" + fi + + if ! groups "$USER" | grep -q "\b$docker_group\b"; then + echo "Adding user to docker group" + sudo usermod -aG docker "$USER" + fi + elif [[ "$OSTYPE" == "darwin"* ]]; then + if ! command -v docker &> /dev/null; then + brew install --cask docker + fi fi fi diff --git a/script/install.d/50-redis.sh b/script/install.d/50-redis.sh new file mode 100644 index 0000000..fda8772 --- /dev/null +++ b/script/install.d/50-redis.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +# ----------------------------------------------------------------------------- +# Description: +# Install Redis. +# + +if ! command -v redis-client &>/dev/null; then + if [[ "$OSTYPE" == "linux-gnu"* ]]; then + curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg + echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list + sudo apt-get install -qq redis + elif [[ "$OSTYPE" == "darwin"* ]]; then + brew install redis + fi +fi \ No newline at end of file diff --git a/script/test b/script/test index d3f6499..d31b3e0 100755 --- a/script/test +++ b/script/test @@ -7,10 +7,17 @@ set -euo pipefail # IMAGE=${IMAGE:-"andrejusk/dotfiles"} -tag=${TAG:-$(cat /proc/sys/kernel/random/uuid)} +uuid=$( + uuidgen 2> /dev/null \ + || cat /proc/sys/kernel/random/uuid 2> /dev/null \ + || echo $RANDOM +) +tag=${TAG:-"$uuid"} + +echo "Building $IMAGE:$tag" docker build . \ - --build-arg UUID=$tag \ + --build-arg UUID=$uuid \ --cache-from $IMAGE \ --tag $IMAGE:$tag \ --target test diff --git a/tests/test_binaries.py b/tests/test_binaries.py index 458904e..62bf7f9 100644 --- a/tests/test_binaries.py +++ b/tests/test_binaries.py @@ -50,6 +50,8 @@ binaries: List[Text] = [ "terraform", "docker" if not os.environ.get("SKIP_DOCKER_CONFIG") else None, "neofetch", + "redis-cli", + "redis-server", # language: python "pyenv",