Validate shared contracts in bounded test lanes

This commit is contained in:
ms2k 2026-07-15 21:00:59 +09:00
commit d07a4085db
5 changed files with 2203 additions and 221 deletions

View file

@ -1,6 +1,8 @@
.git .git
.local .local
docs docs/journal
docs/protocol
docs/spec
scratchpad scratchpad
states states
target target

View file

@ -16,7 +16,9 @@ FROM rust-tools AS rust-check
WORKDIR /workspace WORKDIR /workspace
COPY Cargo.toml Cargo.lock rust-toolchain.toml ./ COPY Cargo.toml Cargo.lock rust-toolchain.toml ./
COPY .config .config COPY .config .config
COPY contracts contracts
COPY crates crates COPY crates crates
COPY docs/api docs/api
CMD ["sh", "-c", "cargo fmt --all --check && cargo clippy --workspace --all-targets --all-features -- -D warnings && cargo nextest run --workspace --all-features && cargo test --workspace --doc"] CMD ["sh", "-c", "cargo fmt --all --check && cargo clippy --workspace --all-targets --all-features -- -D warnings && cargo nextest run --workspace --all-features && cargo test --workspace --doc"]
FROM ${NODE_IMAGE} AS node-runtime FROM ${NODE_IMAGE} AS node-runtime
@ -33,6 +35,8 @@ RUN pnpm install --frozen-lockfile
FROM web-dependencies AS web-check FROM web-dependencies AS web-check
COPY web/ ./ COPY web/ ./
COPY contracts /workspace/contracts
COPY docs/api /workspace/docs/api
FROM web-check AS web-fast FROM web-check AS web-fast
CMD ["sh", "-c", "pnpm check && pnpm lint && pnpm build && pnpm test:unit && pnpm test:component && pnpm test:e2e"] CMD ["sh", "-c", "pnpm check && pnpm lint && pnpm build && pnpm test:unit && pnpm test:component && pnpm test:e2e"]

View file

@ -13,7 +13,8 @@
"build": "vite build", "build": "vite build",
"preview": "vite preview", "preview": "vite preview",
"check": "tsc --noEmit -p ./tsconfig.app.json && tsc --noEmit -p ./tsconfig.node.json && tsc --noEmit -p ./tsconfig.test.json && pnpm --filter @remora/svelte-check-compat check", "check": "tsc --noEmit -p ./tsconfig.app.json && tsc --noEmit -p ./tsconfig.node.json && tsc --noEmit -p ./tsconfig.test.json && pnpm --filter @remora/svelte-check-compat check",
"lint": "oxlint --threads 1 --deny-warnings src tests *.config.ts && prettier --check .", "lint": "oxlint --threads 1 --deny-warnings src tests *.config.ts && prettier --check . && pnpm run lint:api",
"lint:api": "NODE_OPTIONS=--max-old-space-size=2048 redocly lint ../docs/api/openapi.yaml --extends=spec",
"test": "vitest run --config vitest.config.ts", "test": "vitest run --config vitest.config.ts",
"test:unit": "vitest run --config vitest.unit.config.ts", "test:unit": "vitest run --config vitest.unit.config.ts",
"test:component": "vitest run --config vitest.browser.config.ts", "test:component": "vitest run --config vitest.browser.config.ts",
@ -26,6 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@playwright/test": "1.61.1", "@playwright/test": "1.61.1",
"@redocly/cli": "2.33.1",
"@sveltejs/vite-plugin-svelte": "7.2.0", "@sveltejs/vite-plugin-svelte": "7.2.0",
"@vitest/browser-playwright": "4.1.10", "@vitest/browser-playwright": "4.1.10",
"oxlint": "1.74.0", "oxlint": "1.74.0",

1981
web/pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,8 @@
packages: packages:
- tools/* - tools/*
allowBuilds:
core-js: false
minimumReleaseAgeExclude: minimumReleaseAgeExclude:
- [email protected] - [email protected]