diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..bbc2dfa --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,25 @@ +name: Documentation checks + +on: + pull_request: + paths: + - '**/*.md' + push: + branches: [main] + paths: + - '**/*.md' + +permissions: + contents: read + +jobs: + links-and-claims: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - name: Reject workstation-only links and unsupported superlatives + shell: bash + run: | + set -euo pipefail + ! grep -RInE 'file:///' --include='*.md' . + ! grep -RInE 'production-grade|enterprise-grade|expert-level|staff-level|bulletproof' --include='*.md' . diff --git a/README.md b/README.md index 75a70d0..d660d6e 100644 --- a/README.md +++ b/README.md @@ -171,6 +171,9 @@ that pool, avoiding a single-account bottleneck. Full non-local workloads also r - Security CI runs npm audit, creates a CycloneDX SBOM, and scans the lockfile with OSV. - [Published performance reports](https://qa-test-automation-frameworks.github.io/k6-performance-framework/) +This is the most CI-heavy repository in the portfolio; see the [CI workflow map](docs/ci-map.md) +for what each workflow is for and why it exists as a separate gate. + ## Documentation - [Architecture](docs/architecture.md) diff --git a/docs/adr/001-language-typescript.md b/docs/adr/001-language-typescript.md index 00d498f..b1b9be7 100644 --- a/docs/adr/001-language-typescript.md +++ b/docs/adr/001-language-typescript.md @@ -29,4 +29,4 @@ The project requires a build step before k6 execution. Contributors must maintai | Option | Pros | Cons | Rejected Because | | ---------- | ----------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | | JavaScript | Native k6 authoring, no compile step | Weaker contracts, fewer guardrails, less portfolio signal | Does not meet the strict typing and maintainability goals | -| TypeScript | Strong types, IDE support, zero runtime cost after bundling | Requires build tooling | Best fit for production-grade maintainability | +| TypeScript | Strong types, IDE support, zero runtime cost after bundling | Requires build tooling | Best fit for long-term maintainability and review clarity |