slack-sieve/Makefile
ilia 4b034d19f6
Some checks failed
CI / skip-ci-check (push) Successful in 4s
CI / secret-scan (push) Failing after 2s
CI / python-ci (push) Successful in 25s
Add triage tests, prepare-export, and UI fixes for Levkin migration.
Cherry-pick heuristics, manifest merge, global file search, scrollbar styling, and pytest/Playwright coverage unblock review and filtered export for mmetl.
2026-06-03 15:42:48 -04:00

49 lines
1.8 KiB
Makefile

.PHONY: help review hydrate preset-skips test test-unit test-e2e fixture
help: ## Show targets
@grep -E '^[a-zA-Z0-9_-]+:.*##' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*## "}; {printf " \033[36m%-16s\033[0m %s\n", $$1, $$2}'
review: ## Start triage UI (http://127.0.0.1:8765)
@chmod +x run.sh
@./run.sh
hydrate: ## Download attachments from official Slack export URLs
@chmod +x scripts/hydrate-export.sh
@./scripts/hydrate-export.sh
preset-skips: ## Apply presets/levkin-skips.json channel skips to manifest.json
@python3 scripts/preset-skips.py
cherry-pick: ## Reset picks and re-run scripts/auto-cherry-pick.py
@python3 scripts/auto-cherry-pick.py
prepare-export: ## Build prepared-export/ from manifest.json
@python3 scripts/prepare-export.py
fixture: ## Build tests/fixtures/mini-export from your Slack export
@python3 scripts/build-test-fixture.py
test: test-unit test-e2e ## Run 100+ pytest + Playwright tests
test-unit: fixture ## Pytest (export, cherry-pick, API)
@test -d .venv || python3 -m venv .venv
@.venv/bin/pip install -q -r requirements-dev.txt
@.venv/bin/python -m pytest tests/ -v --ignore=tests/e2e --cov --cov-report=term-missing:skip-covered
test-cov: test-unit ## Alias with coverage report
test-e2e: fixture ## Playwright UI tests
@npm install --no-save 2>/dev/null || npm install
@npx playwright install chromium
@SLACK_IMPORT_PORT=18765 npm run test:e2e
test-e2e-headed: fixture ## Playwright with visible browser
@npm install --no-save 2>/dev/null || npm install
@npx playwright install chromium
@SLACK_IMPORT_PORT=18765 npx playwright test --headed
test-e2e-ui: fixture ## Playwright interactive UI runner
@npm install --no-save 2>/dev/null || npm install
@npx playwright install chromium
@SLACK_IMPORT_PORT=18765 npx playwright test --ui