"pnpm test:browser" is the right command, because workdir is "packages/luna-charts". Removed work-directory, because the build of Dockerfile.test has already the right workdir
Drops the in-pipeline docker build/push step and docker-in-docker
dependency entirely. The test image (built from Dockerfile.test) is
now built and pushed manually/out-of-band, tagged by playwright
version. component-tests just pulls and runs it directly.
docker build was failing intermittently with 'cannot connect to the
docker daemon' because the job started before the docker-dind sidecar
finished starting up. Poll docker info until the daemon responds
before attempting login/build/push.
The job container had no way to reach the docker-dind sidecar, so
'docker compose' failed with 'no such file or directory' on the unix
socket. Set DOCKER_HOST to the dind TCP endpoint and share the pod's
network namespace so the container can reach localhost:2375.
The job container had no way to reach the docker-dind sidecar, so
'docker compose' failed with 'no such file or directory' on the unix
socket. Set DOCKER_HOST to the dind TCP endpoint and share the pod's
network namespace so the container can reach localhost:2375.
The docker.io apt package doesn't ship the compose plugin, and the
npm docker-compose package is an unrelated legacy tool that doesn't
provide the 'docker compose' CLI subcommand. Install the official
compose v2 binary as a docker CLI plugin instead.
act_runner does not automatically read the mounted docker config for
image pulls; credentials must be supplied explicitly per job via the
container.credentials field.
Switch all jobs to run inside git.byting-pandas.ninja/ci/node22-docker,
which bundles Node 22, Docker CLI, and docker-compose. Removes the
actions/setup-node step since Node is already provided by the image.
Base image for the gitea-act-runner build environment, includes
Docker CLI and docker-compose for CI jobs that need to build/push
containers, plus corepack for yarn/pnpm support."
- Changed push branch filter to wildcard '*' to test feature branches before merging
- Kept the missing pnpm/node setup fix for the component-tests job
- Changed push branch filter to wildcard '*' to test feature branches before merging
- Kept the missing pnpm/node setup fix for the component-tests job
Every job runs in an isolated container. The component-tests job
was missing the Node.js and pnpm installation steps, causing
command not found errors (exit code 127) during local execution.
Adds automated checks that were previously only run manually and
locally, closing the last remaining gap before dev can be merged
into main with confidence.
Runs on every push and pull request targeting dev or main:
- lint (eslint)
- format check (prettier --check)
- changeset presence check (non-blocking for now, see comment in
workflow file)
- unit tests (vitest)
- component/browser tests (vitest + playwright, via the existing
Docker test setup)
Fixes: #10
The Playwright version was pinned with a caret range and the test
Dockerfile deleted pnpm-lock.yaml before installing, so every image
build silently re-resolved to the latest matching Playwright version.
This caused the npm package and the Docker base image to drift apart.
- packages/luna-charts/package.json: pin playwright to 1.62.1 exactly
- Dockerfile.test: stop deleting pnpm-lock.yaml before install, and
use --frozen-lockfile so a mismatch between package.json and the
lockfile fails the build loudly instead of resolving silently
Playwright was previously pinned with a caret range (^1.61.1), which
allowed pnpm to silently resolve a newer minor version after the
lockfile was regenerated. This caused a version mismatch with the
Docker test image, which still referenced 1.61.1.
- packages/luna-charts/package.json: pin playwright to 1.62.1 exactly
- Dockerfile.test: bump base image to v1.62.1-noble to match
The README was missing instructions for running the documentation
site and Storybook locally, so contributors had to guess or dig
through package.json scripts to find them. Documents the existing
`pnpm run docs` command and the current Storybook workflow, including
the known limitation that it must be run from within
`packages/luna-charts` until a root-level filter script is set up.
add root command for documentation development
Expose the Astro documentation development server through the root
workspace to simplify the local development workflow. Developers can
now start the documentation site without changing into the docs directory.
Fixes: #12
add repository mirror and issue tracking notice
To prevent fragmentation of feedback, we want all bug reports and
contributions to be centralized on our main self-hosted platform.
GitHub lacks active monitoring for issues, so users need clear
direction on where to officially open them.
Explicitly added @oxc-parser/binding-linux-x64-gnu and @rolldown/binding-linux-x64-gnu as devDependencies. This bypasses issues where pnpm occasionally skips optional native platform bindings during installation, which previously caused CriticalPresetLoadError when loading StencilJS plugins.
Adds a proper project README (description, tech stack, structure,
setup, scripts) and a CONTRIBUTING guide (governance summary,
workflow, PR expectations), both previously missing or placeholder-only.
Adds the containerized Playwright-based test execution environment
(Dockerfile.test, docker-compose.test.yaml) to the Technology
Architecture, which was implemented but never documented.
- Added Section 6.6 "Test Execution Environment" describing the
Docker-based Playwright setup used for local development and CI
- Added the containerized test environment to the "Key Architectural
Decisions" list
- Added a Change Log entry explaining what changed and why
Cleans up leftover configuration from the apps/ → docs/ restructuring
(see ADR-0001 update). Neither file had any effect anymore since the
apps/ directory no longer exists, but both left stale references that
could confuse future contributors.
- pnpm-workspace.yaml: removed the unused "apps/*" package glob
- .changeset/config.json: removed the "ignore": ["apps/docs"] entry,
since docs/ is not tracked as a pnpm workspace package and the
entry had no effect
Corrects two Architecture Decision Records that had drifted from the
actual implementation during this sprint.
- ADR-0002 (Technology Stack): unit testing now uses Vitest instead of
Jest; Playwright's role is clarified as the browser provider used by
Vitest's browser mode rather than a standalone test runner.
- ADR-0001 (Repository Structure): repository diagram updated to
remove the unused apps/ directory, correct the docs/ path to match
the actual Starlight content location, and add the previously
missing adm/ folder.
Both ADRs now include a Change Log section documenting what changed
and why, per the Architecture Change Management process (ADM Phase H).