34 Commits

Author SHA1 Message Date
Ashley Hunter 1b743f8019 test: migrate from jest to vitest with browser testing for brain/helm
Replace Jest with Vitest across the workspace. The brain and helm Angular suites
now run in a real browser (Playwright/Chromium via Vitest browser mode) so they
exercise real layout, focus, pointer events and computed styles that jsdom could
not. The cli, tools, mcp, registry and cli-smoke suites run on Vitest's node
environment.

- Add per-project vite configs and switch test targets to @nx/vitest:test
- Convert jest APIs to vi.* and jest module mocks to vi.mock with importOriginal
- Replace jest-axe with a browser-native axe-core helper and toHaveNoViolations
- Regenerate snapshots in vitest format (content unchanged, format-only)
- Remove all jest packages, configs, the preset and the @nx/jest target default
- Install Playwright Chromium in the CI unit job for the browser suites

Also fixes a brain avatar test that asserted inside a fire-and-forget setTimeout,
which passed vacuously under jsdom and only surfaced once a real browser loaded
the image.
2026-06-13 15:16:45 +01:00
Ashley Hunter 334dd18ebe test(cli): add the cli-smoke setup-matrix harness
Scaffolds real nx (monorepo + standalone) and angular-cli workspaces from the
locally published CLI, runs the generators, runs healthcheck, consumes a
generated component, and builds - covering library/entrypoint x
buildable/non-buildable plus an all-components cell. Runs each cell on its own
runner via a dedicated workflow with a required result check, and stays cheap on
unrelated PRs via a git-diff gate and an in-runner affected check. Adds a
`pnpm smoke` convenience script.
2026-06-10 22:55:47 +01:00
goetzrobin 45b008db12 ci: automate updates to the 300 contributors
Add a scheduled workflow that runs the update-contributors generator daily and
commits newly detected contributors, mirroring the nightly release setup. Also
add the five contributors the generator surfaced that were missing from the
README and the home page list.
2026-06-04 14:02:59 +02:00
Marc Stammerjohann 8847b506b3 chore: update actions/cache and nrwl/nx-set-shas v4 to v5
* removes ci warning for "Node.js 20 actions are deprecated"
2026-06-03 16:18:52 +02:00
Ashley Hunter c920f4ed58 ci: cache Nx, run only affected, and parallelize to cut CI time (#1383)
* docs: add CLAUDE.md with repo conventions for agents

Documents the local CI checks to run before pushing, Conventional Commit
rules (including the commitlint scope enum), and populating the PR template.

* ci: cache Nx, run only affected, and parallelize to cut CI time

Without relying on Nx Cloud:
- shared composite setup action (pnpm + Node + install + Nx cache restore),
  removing the duplicated install boilerplate across jobs
- persist the Nx computation cache via actions/cache so unchanged projects are
  restored as cache hits instead of rebuilt/retested/relinted
- run nx affected (with nrwl/nx-set-shas) for lint/test/build/e2e instead of
  run-many --all, so PRs only touch the projects they change
- unit no longer needs the build job, so it runs in parallel instead of waiting
  ~13 min for the build
- cancel superseded runs on the same ref via concurrency
- blobless full-history clone on the light jobs (keeps affected working)

* ci: run e2e in parallel instead of gating it on the docs build

The e2e suite runs cypress against storybook (its devServerTarget is
ui-storybook:static-storybook), so it is independent of the docs-app build and
no longer needs to wait ~13 min for it.

* perf: trim the docs-app vite build config

- reportCompressedSize: false (skip per-chunk gzip sizing)
- gate rollup-plugin-visualizer behind ANALYZE (was every build)
- drop the deprecated splitVendorChunkPlugin
- make prerender concurrency configurable (default 1; parallel prerender was a
  net slowdown - the renders are CPU-bound single-thread SSR)

* ci: cache the cypress binary in the e2e job

* ci: exclude trpc-app-e2e from affected e2e (not a CI e2e suite)

* ci: restore cypress cache before install; harden prerender concurrency parse

* chore: drop prerender-concurrency experiment scaffolding and restore splitVendorChunkPlugin

Reverts two leftovers from the (rejected) parallel-prerender and Vite 8
experiments: prerender concurrency goes back to a hardcoded 1, and
splitVendorChunkPlugin is restored since it still works on Vite 6 and removing
it only changed chunking with no speed benefit.
2026-06-03 16:07:34 +02:00
Marc Stammerjohann 49d2d3ad70 chore: update pnpm action-setup for ci 2026-04-14 13:01:06 +02:00
Marc Stammerjohann 2715096e16 chore: bump pnpm (#1245)
* chore: bump pnpm

* chore: update ci action versions, setup pnpm w/ pnpm/action-setup and cache pnpm

* chore: remove pnpm setup for commitlint, install deps for e2e job

* chore: update checkout version for check_date job
2026-03-04 12:55:36 +01:00
goetzrobin 114c72ec8c chore: publish only once a day 2026-02-06 18:34:56 +01:00
goetzrobin b16fb42c75 chore: try unsetting env vars to force trusted publishing 2026-02-06 11:24:07 +01:00
Robin Goetz a27d072fbb chore: fix nightly-release to work with npm trusted publishing (#1192)
currently running every 5 minutes for testing. verifying and then changing to regular schedule
2026-02-06 09:36:19 +01:00
moosme 51a579aa36 feat(repo): nx upgrade (#1002)
* feat(repo): nx upgrade

* fix: sidebar

* fix: node version

* fix: relax dependency versions

* fix: remove naming conventions

* fix: format

* fix: remove chromatic

---------

Co-authored-by: Merlin <merlin.moos@oldendorff.com>
2025-11-20 10:14:26 +01:00
robingotz 39514ff4c2 ci: set workflow on schedule and account for commit made by run 2025-01-09 16:52:01 +01:00
robingotz d9b011905d fix: set up npm token correctly 2025-01-09 16:37:10 +01:00
robingotz 856893723c fix: set up secrets tag as env variable 2025-01-09 16:24:21 +01:00
robingotz c40cff67cf fix: use correct workflow trigger 2025-01-09 15:55:59 +01:00
robingotz f668879f6b fix: auto-fix dependencies before release 2025-01-09 15:52:48 +01:00
Robin Goetz cd6e903c04 build: setup nightly release (#524)
* chore: lint and cleanup of touched files

* build: add executor to replace version for ui libs

this executor finds all package.json in the libs/ui directory
and replaces the current version
of @spartan-ng with the one defined in UI_VERSION

* build: update cli files to reflect new versions and add scripts to make publishing easier

* chore: fix linting errors

* build: update semantic release config

* build: use same VERSION env var for ui and cli

* fix: remove confusing comment

* fix: add regex only updating spartan specific versions

and a unit test to make sure we don't accidentally mess with other packages

* fix: remove .DS_Store files and filter helm packages to not add them to package.json

* chore: remove unused script

* chore: add generator that auto-increments current version of released assets

* chore: add scripts for nightly release

* chore: add nightly release workflow

* fix: add missing dash

* chore: try on push for testing

* build: auto fix version number in tools

* ci: set up automatic release and committing of changed files

* ci: give release step write permissions

* ci: check out branch correctly so we can commit it back

* ci: try to push to right place

* chore: reorder package.json

* fix: use newVersion to allow for auto increment script to work

* chore: update branch name

* fix: rename release scripts and interface and add missing generators

* chore: release cli & ui 0.0.1-alpha.379

* chore: fix name for trigger

* chore: try to push to origin nightly-release

* chore: nightly release 2024-12-10 ⚡

* chore: update tools version number

* chore: nightly release 2024-12-10 ⚡

* chore: update github flow to work on main and a schedule

* fix: add back lost test and start commands to package.json

* fix: fix tests and commit message to follow guidelines

* feat: adjust version replacement for new single brain package

* fix: use correct alpha version 381

* fix: add back storybook command to package.json

* fix: typo in @spartan-ng/brain version for pagination helm

* fix: remove tests that don't do anything and add formatting of files

---------

Co-authored-by: Leonidas <leonidas@spartan.ng>
2025-01-08 23:53:00 +01:00
Ashley Hunter fa8785183e build: moving to pnpm, eslint and prettier (#483) 2024-11-20 22:19:10 -05:00
Ben Snyder d1cd6fb89f chore: update to Nx 19.6.5 and Analog 1.7.3 (#380)
* chore: update to Nx 19.6.5

* chore: maintenance update for biomejs, bun, and ci runs

* chore: maintenance update for biomejs, bun, and ci runs
2024-09-23 17:19:13 -04:00
Ben Snyder 8f333ee1fe feat(repo): oxlint lightning-fast linter with more code quality, correctness and performance checks (#270)
* fix(repo): require pnpm v9 with engineStrict set

* fix: bump node version to v20 LTS

* fix(repo): apply formatting and importing sorting required for CI to pass

* feat(repo): oxlint lightning-fast linter with more code quality, correctness and performance checks

---------

Co-authored-by: Robin Goetz <35136007+goetzrobin@users.noreply.github.com>
2024-04-24 15:16:51 +02:00
Ben Snyder e0db372285 fix(repo): upgrade and fix continuous integration (#269)
* fix(repo): require pnpm v9 with engineStrict set

* fix: bump node version to v20 LTS

* fix(repo): apply formatting and importing sorting required for CI to pass
2024-04-24 15:11:22 +02:00
robingotz 1757050580 ci: move from prettier to biome 2024-04-23 21:34:56 +02:00
Marc d2b18388aa ci: update checkout and setup-node version (#202)
* fixing "Node.js 16 actions are deprecated." warnings
2024-03-12 14:08:40 -04:00
Sammy Mohamed ba5908f63c ci: chromtic fail on checkout issue (#153) 2024-02-14 14:00:38 +01:00
robingotz f8d771c3a6 fix: make chromatic/release ci use correct cache-dependecy-path 2024-01-30 19:39:40 +01:00
robingotz b2236c34d4 fix: make chromatic ci compatible with pnpm 2024-01-30 19:37:13 +01:00
robingotz 4db2ebc89d chore: move from yarn to pnpm 2024-01-30 18:58:16 +01:00
robingotz 1c14ef3594 build: disable release ci and trigger regular ci on main again 2023-07-25 08:54:11 -04:00
robingotz 0f26130fa4 build: rename scrollarea and remove explicit building as its done as part of pulish generator 2023-07-19 21:18:18 -04:00
robingotz d395343078 build: add replace-json-property as dev dependency 2023-07-19 20:43:46 -04:00
robingotz 0e0a75be71 build: setup semantic release 2023-07-19 16:25:59 -04:00
robingotz d3dbaaa7d7 build: add chromatic to publish storybook 2023-06-29 12:54:52 -04:00
Robin Goetz c142010ab8 feat: add storybook and e2e tests for it + initial story for switch 2023-06-21 08:58:26 -04:00
Robin Goetz 5582a9b4bd build: setup initial CI and other repository helpers
Taken from the amazing config set up in the Analog repository. This is starting to feel legit...
2023-06-16 13:29:54 -04:00