CI / check (push) Successful in 32s
CI / tests-imaging-browsers (push) Successful in 1m34s
CI / tests-integration (push) Successful in 1m59s
CI / tests-unit (push) Successful in 2m2s
CI / tests-quality (push) Successful in 1m1s
CI / tests-ui (push) Failing after 3m20s
CI / preflight (push) Skipped
CI / deploy (push) Skipped
The deploy gate ran e2e specs that depend on live content and data, so a missing upload (the /help article images) or a legacy malformed avatar figure could turn a safe code deploy red. Split the suites by what they actually guarantee: - Blocking gate (`pnpm test:e2e`, `playwright.config.ts`): only checks the CMS can guarantee itself — anonymous redirects, register form fields, the captcha DOM contract and the cache-control headers (deterministic origin-direct). - Advisory suite (`pnpm test:e2e:quality`, `playwright.quality.config.ts`): broken images, layout overflow and warm-page latency, which depend on live content/upload state and the host. It runs as a `continue-on-error` CI job against the public site so a real content problem stays visible without blocking the pipeline. Also add `scripts/sync-readme-versions.mjs` (+ tests, docs and a CI check) so the pinned versions in README.md can never drift from package.json / .nvmrc.
49 lines
2.0 KiB
Markdown
49 lines
2.0 KiB
Markdown
# Scripts Documentation
|
|
|
|
This directory contains utility scripts for managing the EpicNext-Cms project.
|
|
|
|
## Scripts Overview
|
|
|
|
| Script | Description |
|
|
| :--- | :--- |
|
|
| `dashboard.sh` | Main interactive menu to run all other scripts. |
|
|
| `deploy.sh` | Safely redeploys the application by freeing the port first. |
|
|
| `logs.sh` | View logs for cms and mariadb services. |
|
|
| `backup.sh` | Creates a database backup in `/backups`. |
|
|
| `db-restore.sh` | Restores a database backup. |
|
|
| `db-optimize.sh` | Optimizes database tables. |
|
|
| `docker-prune.sh` | Cleans up unused Docker resources. |
|
|
| `verify-deploy.sh` | Checks if the CMS is reachable after deployment. |
|
|
| `check-env.sh` | Validates `.env` against `.env.example`. |
|
|
| `check-security.sh` | Runs `pnpm audit` and checks for image updates. |
|
|
| `monitor.sh` | Shows system disk/container resource usage. |
|
|
| `perf-report.sh` | Runs performance profiling. |
|
|
| `setup-dev.sh` | Configures development environment. |
|
|
| `check-updates.sh` | Checks for package and image updates. |
|
|
| `sync-readme-versions.mjs` | Syncs the versions in `README.md` with `package.json` / `.nvmrc`. |
|
|
| `maintenance.sh` | Toggles maintenance mode flag. |
|
|
| `doctor.sh` | Runs a system diagnostic report. |
|
|
| `setup-cron.sh` | Configures automated cron jobs. |
|
|
| `alert.sh` | Sends notifications to a configured webhook. |
|
|
|
|
## Usage
|
|
Run any script directly, or use the dashboard:
|
|
```bash
|
|
./scripts/dashboard.sh
|
|
```
|
|
|
|
### Keeping the README versions in sync
|
|
|
|
Bumping a dependency (or the pinned Node.js version) leaves `README.md` stale.
|
|
Rather than editing it by hand, run:
|
|
|
|
```bash
|
|
pnpm readme:versions # rewrite README.md to match package.json / .nvmrc
|
|
pnpm readme:versions:check # verify only; exits 1 when out of date (used in CI)
|
|
```
|
|
|
|
It manages the `pnpm` and `Node.js` rows of the System Requirements table and
|
|
the "Core stack" line. The CI `check` job runs the `--check` variant, so a
|
|
version change cannot reach `main` with a stale README — the pipeline fails
|
|
until you run `pnpm readme:versions`.
|