mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
Add cli/contributing/changelog/archive: a CLI that trims CHANGELOG.md
to the last N entries (default 7) and writes every older release to
its own file under docs/changelog/ named <padded-semver>-<date>.md
(7.0.0 → 007.000.000-2026-05-08.md). The padded form makes a directory
listing already chronological, and the index in CHANGELOG.md is
rebuilt from the archive directory listing on every run, so it never
drifts away from what is on disk. The tool is idempotent and never
overwrites an existing archive file.
Run the migration once to split the 44-entry CHANGELOG.md into 7
inline entries plus 37 archived per-release files, with the index at
the bottom of CHANGELOG.md linking each archive in descending order.
Add docs/contributing/actions/release.md as the contributor-facing
release procedure (versioning, active window vs. archive, cutting a
release end-to-end, CI hand-off on tag push) and add a docs README
under docs/changelog/ that explains the archive directory layout and
filename schema. Cross-link release.md from pipeline.md and add
"releases" to the actions/ scope description.
Documentation cleanup pass on every page touched in the previous
mapping refactor:
- Remove "is the SPOT for X" / "Single Point of Truth" self-labels
across docs/contributing/, docs/agents/, and docs/changelog/. The
rule in documentation.md forbids self-declared SPOT status; status
is conferred by readers cross-linking, not by the page asserting
it. Rephrase to descriptive phrasing ("This page covers X",
"describes X", "lists X") throughout.
- Drop the orphaned docs/contributing/tools/actions.md duplicate
(101 lines paralleling tools/github/actions/workflows.md, with no
inbound links).
- Fix em-dashes used as thought breaks in dockerfile.md, origin.md,
agents/style.css.md, and suppression.md per documentation.md.
- Unwrap soft-wrapped sentences in iam/common.md, iam/ldap.md,
iam/oidc.md, image/origin.md, requirements.md, and dockerfile.md
so each logical line carries one full sentence.
Add a unit test for the archive CLI under
tests/unit/cli/contributing/changelog/archive/test_main.py covering
_pad_version, _split_into_entries, idempotency, dry-run, no-overwrite
of existing archives, and the multi-run index rebuild.
Quote `# noqa:` in CHANGELOG.md prose with backticks so the
noqa-only-ruff-codes lint does not parse "for" as a non-ruff code.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
31 lines
2.1 KiB
Markdown
31 lines
2.1 KiB
Markdown
# playwright.env.j2
|
|
|
|
This page covers automatically generating and updating role-local `playwright.env.j2` files.
|
|
Use this page for the rendered test input surface, variable naming, and entry-point selection.
|
|
For runner discovery, staging, and repository-side contract rules, see [Playwright Tests](../../../contributing/actions/testing/playwright.md).
|
|
For the matching scenario implementation, see [Role `playwright.spec.js`](playwright.spec.js.md).
|
|
|
|
## Goal
|
|
|
|
- You MUST provide only the environment values that the role-local Playwright suite actually needs.
|
|
- Variable naming and entry-point semantics are governed by the [contrib SPOT for `playwright.spec.js`](../../../contributing/artefact/files/role/playwright.specs.js.md) (Environment Contract + Entry Point). This page only adds template-side mechanics.
|
|
- You MUST render the real entry point, URLs, feature flags, and credentials that the deployed role exposes.
|
|
|
|
## Implement
|
|
|
|
- You MUST define `APP_BASE_URL` consistent with the Entry Point rules in the contrib SPOT, in particular the dashboard routing rule when `services.dashboard.enabled` is set.
|
|
- Expose app-specific base URLs, issuer URLs, feature flags, and credentials only when the spec consumes them.
|
|
- You MUST use `dotenv_quote` for values that may contain spaces, special characters, or shell-sensitive content.
|
|
- When the suite covers multiple personas such as `biber` and `administrator`, you MUST expose separate variables for each scenario instead of overloading one shared credential pair.
|
|
|
|
## Avoid
|
|
|
|
- Do NOT expose unused variables, duplicate values, or secrets that the spec never reads.
|
|
- Do NOT hardcode domains or credentials that should come from role variables, inventory, or lookups.
|
|
|
|
## Review
|
|
|
|
- You MUST check that every environment variable referenced in `playwright.spec.js` is present in the rendered `.env` (the name-alignment MUST is owned by the contrib SPOT Environment Contract).
|
|
- You MUST check that `APP_BASE_URL`, app URLs, issuer URLs, and feature toggles match the deployed role.
|
|
- You MUST check that persona-specific credentials such as `biber` and `administrator` map to the intended scenarios.
|