You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
run: npm run build:sso && npm run build:billing && npm run build:admin && npm run build:backup && npm run build:websockets && npm run build:reporting && npm run build:ai && npm run build:crypto
run: npm run build:sso && npm run build:billing && npm run build:admin && npm run build:backup && npm run build:websockets && npm run build:reporting && npm run build:ai
61
58
62
59
# The dev-only satellite-test-kit is imported by core's bin/test.integration.ts
63
60
# (and each satellite's), which core's tsconfig typechecks. Build it before the
@@ -204,7 +201,6 @@ jobs:
204
201
npm run test:coverage --workspace @adonisjs-lasagna/websockets
205
202
npm run test:coverage --workspace @adonisjs-lasagna/reporting
206
203
npm run test:coverage --workspace @adonisjs-lasagna/ai
207
-
npm run test:coverage --workspace @adonisjs-lasagna/crypto
208
204
209
205
# Satellite ABI compatibility (B5): the reference third-party satellite
210
206
# is built + tested against the freshly-built core above. Its typecheck
@@ -216,6 +212,16 @@ jobs:
216
212
npm run build:template
217
213
npm run test --workspace @adonisjs-lasagna/satellite-template
218
214
215
+
# The starter scaffolder encodes the golden install path as data. Its unit
216
+
# suite pins that plan (peers configured before core, config/database.ts
217
+
# written after) and the two install defects the generated config closes.
218
+
# The suite never spawns a process, so it needs no database and no network;
219
+
# the win32 npm invocation is covered by injecting the platform instead.
220
+
- name: Build + test the starter scaffolder
221
+
run: |
222
+
npm run build:starter
223
+
npm run test --workspace create-lasagna-saas
224
+
219
225
# The shared integration harness underwrites core + every satellite, so it
220
226
# carries its own unit suite (the pure exit-code/glob/spec-import logic +
221
227
# the boot-safety metatest) behind a self-contained coverage floor
@@ -296,14 +302,6 @@ jobs:
296
302
path: coverage/.v8/ai-unit
297
303
if-no-files-found: warn
298
304
299
-
- name: Upload raw satellite unit coverage (V8) — crypto
> **Stability: release candidate.** The isolation core is feature complete and green in CI against real Postgres and Redis, but the `stable` label is withheld until an independent security review and production mileage close. The satellite **packages** (admin, SSO, billing, backup, websockets, reporting) are **release candidate** too; the opt-in in-core features (quotas, webhooks, metrics, audit logs, branding, feature flags, impersonation) are **experimental**. Full breakdown and the 1.x semver promise in the [stability matrix](https://arcoders.github.io/Adonisjs-lasagna-saas-tenancy/reference/stability).
19
+
> **Stability: release candidate.** The isolation core is feature complete and green in CI against real Postgres and Redis, but the `stable` label and the `1.0.0` version are both withheld until an independent security review and production mileage close. It ships `0.3.0`, so semver promises nothing across a minor. The satellite **packages** (SSO, billing, backup, reporting, AI) ship `0.1.0` and are **experimental**, as are the opt-in in-core features (quotas, webhooks, metrics, audit logs, branding, feature flags, impersonation). Full breakdown in the [stability matrix](https://arcoders.github.io/Adonisjs-lasagna-saas-tenancy/reference/stability).
20
20
21
21
I built this because the AdonisJS ecosystem deserved a proper multi
22
22
tenancy foundation, and because every SaaS I touched eventually outgrew
0 commit comments