Add resource-bounded local verification lanes

Run pinned Rust and browser toolchains in fast and full container lanes with explicit CPU and memory limits.
This commit is contained in:
ms2k 2026-07-15 19:51:53 +09:00
commit ff379fb002

48
Makefile Normal file
View file

@ -0,0 +1,48 @@
.PHONY: check-fast check-full check-fast-host check-full-host rust-check web-install web-check web-test-fast web-test-full
CONTAINER_ENGINE ?= docker
CONTAINER_RUN_FLAGS ?= --memory=16g --memory-swap=24g --cpus=4
PLAYWRIGHT_BROWSERS_PATH := $(CURDIR)/web/.cache/ms-playwright
export PLAYWRIGHT_BROWSERS_PATH
rust-check:
cargo fmt --all --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo nextest run --workspace --all-features
cargo test --workspace --doc
web-install:
pnpm --dir web install --frozen-lockfile
web-check: web-install
pnpm --dir web check
pnpm --dir web lint
pnpm --dir web build
web-test-fast: web-install
pnpm --dir web exec playwright install chromium
pnpm --dir web test:unit
pnpm --dir web test:component
pnpm --dir web test:e2e
web-test-full: web-install
pnpm --dir web exec playwright install chromium firefox webkit
pnpm --dir web test:unit
pnpm --dir web test:component:full
pnpm --dir web test:e2e:full
check-fast:
$(CONTAINER_ENGINE) build --file Dockerfile.test --target rust-check --tag remora-rust-check:local .
$(CONTAINER_ENGINE) run --rm $(CONTAINER_RUN_FLAGS) remora-rust-check:local
$(CONTAINER_ENGINE) build --file Dockerfile.test --target web-fast --tag remora-web-check:local .
$(CONTAINER_ENGINE) run --rm $(CONTAINER_RUN_FLAGS) remora-web-check:local
check-full:
$(CONTAINER_ENGINE) build --file Dockerfile.test --target rust-check --tag remora-rust-check:local .
$(CONTAINER_ENGINE) run --rm $(CONTAINER_RUN_FLAGS) remora-rust-check:local
$(CONTAINER_ENGINE) build --file Dockerfile.test --target web-full --tag remora-web-check:local .
$(CONTAINER_ENGINE) run --rm $(CONTAINER_RUN_FLAGS) remora-web-check:local
check-fast-host: rust-check web-check web-test-fast
check-full-host: rust-check web-check web-test-full