Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ repos:
- id: check-case-conflict
- id: check-docstring-first
- id: check-executables-have-shebangs
- id: check-shebang-scripts-are-executable
- id: check-json
- id: check-merge-conflict
- id: check-symlinks
Expand All @@ -35,6 +36,17 @@ repos:
additional_dependencies:
- tomli

- repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.11.0.1
hooks:
- id: shellcheck

- repo: https://github.com/scop/pre-commit-shfmt
rev: v3.13.1-1
hooks:
- id: shfmt
args: ["--indent=4", "--case-indent", "--write"]

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.15
hooks:
Expand Down
104 changes: 52 additions & 52 deletions solr-docker-test-env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,61 +33,61 @@ fi

# Parse the flag
case "$1" in
help | --help | -h)
usage
;;

setup)
echo -e "${CYAN}=== Starting Solr Docker Test Environment Setup ===${NC}"

echo -e "${BLUE}→ SOLR_VERSION environment variable: ${SOLR_VERSION:-not set (default: 9 will be used)}${NC}"

# Start docker compose in detached mode
echo -e "${BLUE}→ Running \`docker compose -f docker/docker-compose-solr.yml up -d --quiet-pull\`...${NC}"
docker compose -f docker/docker-compose-solr.yml up -d --quiet-pull

# Wait for the solr-init container to finish (60-second timeout)
echo -e "${BLUE}→ Waiting for solr-init container to complete (timeout: 60 seconds)...${NC}"
if timeout 60 docker container wait solr-init; then
# Capture the exit code of the solr-init container
EXIT_CODE=$(docker inspect solr-init --format='{{.State.ExitCode}}')
echo -e "${BLUE}→ solr-init container exited with code: ${EXIT_CODE}${NC}"

if [ "$EXIT_CODE" -eq 0 ]; then
echo -e "${GREEN}✓ Setup completed successfully!${NC}"

SOLR_VERSION_RUNNING=$(get_solr_version)

echo -e "${GREEN}✓ Solr test server is ready (Solr version: ${SOLR_VERSION_RUNNING})${NC}"
exit 0
help | --help | -h)
usage
;;

setup)
echo -e "${CYAN}=== Starting Solr Docker Test Environment Setup ===${NC}"

echo -e "${BLUE}→ SOLR_VERSION environment variable: ${SOLR_VERSION:-not set (default: 9 will be used)}${NC}"

# Start docker compose in detached mode
echo -e "${BLUE}→ Running \`docker compose -f docker/docker-compose-solr.yml up -d --quiet-pull\`...${NC}"
docker compose -f docker/docker-compose-solr.yml up -d --quiet-pull

# Wait for the solr-init container to finish (60-second timeout)
echo -e "${BLUE}→ Waiting for solr-init container to complete (timeout: 60 seconds)...${NC}"
if timeout 60 docker container wait solr-init; then
# Capture the exit code of the solr-init container
EXIT_CODE=$(docker inspect solr-init --format='{{.State.ExitCode}}')
echo -e "${BLUE}→ solr-init container exited with code: ${EXIT_CODE}${NC}"

if [ "$EXIT_CODE" -eq 0 ]; then
echo -e "${GREEN}✓ Setup completed successfully!${NC}"

SOLR_VERSION_RUNNING=$(get_solr_version)

echo -e "${GREEN}✓ Solr test server is ready (Solr version: ${SOLR_VERSION_RUNNING})${NC}"
exit 0
else
echo -e "${RED}✗ Error: solr-init container failed with exit code ${EXIT_CODE}${NC}"
echo -e "${YELLOW}Fetching logs from solr-init:${NC}"
docker logs solr-init
exit 1
fi
else
echo -e "${RED}✗ Error: solr-init container failed with exit code ${EXIT_CODE}${NC}"
echo -e "${RED}✗ Error: Timeout waiting for solr-init container${NC}"
echo -e "${YELLOW}Fetching logs from solr-init:${NC}"
docker logs solr-init
exit 1
fi
else
echo -e "${RED}✗ Error: Timeout waiting for solr-init container${NC}"
echo -e "${YELLOW}Fetching logs from solr-init:${NC}"
docker logs solr-init
exit 1
fi
;;

destroy)
echo -e "${CYAN}=== Starting Solr Docker Test Environment Teardown ===${NC}"

# Stop docker compose and remove volumes
echo -e "${BLUE}→ Running \`docker compose -f docker/docker-compose-solr.yml down -v\`...${NC}"
docker compose -f docker/docker-compose-solr.yml down -v

echo -e "${GREEN}✓ Teardown completed successfully!${NC}"
echo -e "${GREEN}✓ All containers and volumes removed${NC}"
exit 0
;;

*)
echo -e "${RED}Error: Invalid flag '$1'${NC}"
usage
;;
;;

destroy)
echo -e "${CYAN}=== Starting Solr Docker Test Environment Teardown ===${NC}"

# Stop docker compose and remove volumes
echo -e "${BLUE}→ Running \`docker compose -f docker/docker-compose-solr.yml down -v\`...${NC}"
docker compose -f docker/docker-compose-solr.yml down -v

echo -e "${GREEN}✓ Teardown completed successfully!${NC}"
echo -e "${GREEN}✓ All containers and volumes removed${NC}"
exit 0
;;

*)
echo -e "${RED}Error: Invalid flag '$1'${NC}"
usage
;;
esac
Loading