feat: docker and redis setup, tests

This commit is contained in:
2024-03-14 22:07:48 +00:00
parent 7c33e9b886
commit b06c95d9b4
4 changed files with 51 additions and 12 deletions

View File

@@ -1,4 +1,13 @@
if [[ "$OSTYPE" == "linux-gnu"* && -z "$SKIP_DOCKER_CONFIG" ]]; then
#!/usr/bin/env bash
# -----------------------------------------------------------------------------
# Description:
# (macOS) Install Docker.
# (Linux) Setup Docker.
#
if [[ -z "$SKIP_DOCKER_CONFIG" ]]; then
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
docker --version
readonly docker_group="docker"
@@ -11,4 +20,9 @@ if [[ "$OSTYPE" == "linux-gnu"* && -z "$SKIP_DOCKER_CONFIG" ]]; 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

View File

@@ -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

View File

@@ -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

View File

@@ -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",