Files
Cleanuparr/e2e/Makefile
2026-09-11 15:17:25 +03:00

82 lines
2.5 KiB
Makefile

.PHONY: up up-core up-core-fast up-clients up-arr up-arr-fast up-lazylibrarian \
up-stack-core up-stack-clients up-stack-arr up-stack-lazylibrarian up-app \
down test install setup seed-arr seed-lazylibrarian
COMPOSE = docker compose -f docker-compose.e2e.yml
WAIT = --remove-orphans --wait --wait-timeout 150
# The app reaches these through depends_on, so a stack started without it must name them.
WIREMOCKS = wiremock-arr wiremock-dlc wiremock-notify wiremock-blocklist
# nginx depends_on app, so naming it would drag the app into the stack half.
APP_SERVICES = app nginx
CORE_STACK = keycloak $(WIREMOCKS)
CLIENTS_STACK = $(CORE_STACK) tracker qbittorrent transmission deluge utorrent rutorrent
ARR_STACK = $(CORE_STACK) wiremock-indexer tracker qbittorrent sonarr radarr
LAZYLIBRARIAN_STACK = $(CORE_STACK) wiremock-indexer tracker qbittorrent lazylibrarian
setup:
bash ./scripts/setup-test-data.sh
up: down setup
$(COMPOSE) up -d --build $(WAIT)
up-core: down setup
$(COMPOSE) up -d --build $(WAIT) $(APP_SERVICES) $(CORE_STACK)
# Same stack as up-core, built from patched sources so the Seeker can be triggered on demand.
up-core-fast: down setup
bash ./scripts/with-patches.sh $(COMPOSE) build app
$(COMPOSE) up -d $(WAIT) $(APP_SERVICES) $(CORE_STACK)
up-clients: down setup
$(COMPOSE) up -d --build $(WAIT) $(APP_SERVICES) $(CLIENTS_STACK)
up-arr: down setup
$(COMPOSE) up -d --build $(WAIT) $(APP_SERVICES) $(ARR_STACK)
# Same stack as up-arr, patched like up-core-fast.
up-arr-fast: down setup
bash ./scripts/with-patches.sh $(COMPOSE) build app
$(COMPOSE) up -d $(WAIT) $(APP_SERVICES) $(ARR_STACK)
up-lazylibrarian: down setup
$(COMPOSE) up -d --build $(WAIT) $(APP_SERVICES) $(LAZYLIBRARIAN_STACK)
# CI raises the stack while a separate job is still building the app image.
up-stack-core: down setup
$(COMPOSE) up -d $(WAIT) $(CORE_STACK)
up-stack-clients: down setup
$(COMPOSE) up -d $(WAIT) $(CLIENTS_STACK)
up-stack-arr: down setup
$(COMPOSE) up -d $(WAIT) $(ARR_STACK)
up-stack-lazylibrarian: down setup
$(COMPOSE) up -d $(WAIT) $(LAZYLIBRARIAN_STACK)
up-app:
$(COMPOSE) up -d $(WAIT) $(APP_SERVICES)
# Rebuilds e2e/arr-seed from scratch.
# Needs internet: Sonarr reads Skyhook and Radarr reads TMDB.
seed-arr:
bash ./scripts/seed-arr.sh
# Rebuilds e2e/lazylibrarian-seed from scratch.
# Needs internet: LazyLibrarian reads OpenLibrary.
seed-lazylibrarian:
bash ./scripts/seed-lazylibrarian.sh
down:
$(COMPOSE) down -v
install:
npm install
npx playwright install --with-deps chromium
test:
npx playwright test