Skip to content

feat: July 2026 enterprise-grade expansion (language + quality + security + testing packs) - #2

Merged
rldyourmnd merged 11 commits into
mainfrom
feat/enterprise-grade-2026
Jul 7, 2026
Merged

feat: July 2026 enterprise-grade expansion (language + quality + security + testing packs)#2
rldyourmnd merged 11 commits into
mainfrom
feat/enterprise-grade-2026

Conversation

@rldyourmnd

Copy link
Copy Markdown
Contributor

Summary

The July 2026 enterprise-grade expansion. Grows the reusable library from 23 to
42 workflows
and the catalog from 46 to 67 capabilities (38 pinned tools),
holding the existing three-tier model and every convention. Ten atomic commits;
validate_all (9/9), actionlint, and zizmor are green across all 42
workflows after each.

  • Language packs (8 new): Dart/Flutter, C/C++, Qt, Kotlin/Android, Swift, R,
    HTML/CSS, SQL — joining Python, Node, Go, Rust, Java, .NET, container, Terraform.
  • Quality gates (3): coverage-gate, docs-quality, pr-hygiene.
  • Free SAST/SCA/IaC (5): Semgrep, OSV-Scanner, Grype, hadolint, Checkov —
    free on every tier including private-free, where CodeQL and dependency
    review are paid. All gate-only (no security-events).
  • Advanced testing (3): mutation-testing, fuzzing, benchmark.
  • Level-3 opt-in (2 self-contained examples): AI code review, release-please.

Every new third-party action was SHA-pinned with a version comment, resolved live
via gh, and verified against its action.yml input contract. New docs page
docs/15-language-and-quality-packs.md; examples/ gains
languages/ quality/ security/ testing/ level3/. VERSION → 0.3.0.

Type of change

  • New reusable workflow / capability (19 reusable workflows + 2 Level-3 examples)

Threat-model note

New attack surface = the newly pinned third-party actions and a few write scopes.
Containment:

  • Every action is pinned to a full commit SHA (version comment) and verified
    against its action.yml; CLIs are checksum-verified (OSV-Scanner) or
    version-pinnable (Semgrep, sqlfluff).
  • Top-level permissions: {}; each job requests the minimum. Write scopes are
    isolated to the jobs that need them and documented so callers grant only those.
  • New security scanners are gate-only (no security-events: write) — they add
    no code-scanning permission on any tier.
  • No ${{ inputs.* }} / ${{ github.event.* }} in run: (env-indirection);
    persist-credentials: false; harden-runner egress audit; no pull_request_target.

Permissions diff

Most jobs are contents: read. Escalations, per job, justified:

pr-hygiene labeler:   + pull-requests: write               # apply labels
pr-hygiene stale:     + issues: write, pull-requests: write # sweep stale items
benchmark:            contents: read -> contents: write     # gh-pages history (auto_push)
coverage-gate:        contents: read (codecov_token secret)
ai-review (example):  + pull-requests: write               # post review comments
release-please (ex):  + contents: write, pull-requests: write # open release PR

Checklist

  • All third-party actions pinned to a full 40-char commit SHA with a # vX.Y.Z comment.
  • Least-privilege permissions (top-level {}, per-job minimal scopes).
  • timeout-minutes on every job; concurrency in the caller examples.
  • persist-credentials: false on every actions/checkout.
  • No ${{ inputs.* }} / ${{ github.event.* }} inside run: (env-indirection).
  • Dual-tier toggles (enable_harden_runner) preserved; new scanners gate-only.
  • actionlint passes locally (all 42 workflows).
  • zizmor passes locally (all 42 workflows; only auto-suppressed notes).
  • README + docs/ + catalog/ updated; each new workflow has a catalog entry + example.
  • CHANGELOG.md updated under [0.3.0]; VERSION bumped.
  • [~] Commits DCO signed-off (-s) + Conventional Commits. Not GPG/SSH-signed locally (signing unset); required_signatures on main is satisfied by a signed squash-merge.

Tier impact

  • Public (free full suite)
  • Private free tier — expanded: free SAST/SCA/IaC now covers the private-free gap
  • Private paid tier (GHAS)

Verification ceiling

GitHub Actions runtime is not executed in this environment, so new reusable
workflows are held to the repo's existing static bar (validate_all + actionlint +
zizmor + catalog + example) — identical to the pre-existing packs. Runtime proof
happens when a downstream repo (or a sandbox) calls them.

rldyourmnd added 11 commits July 8, 2026 05:19
…ble CI

The terraform_version input still defaults to 'latest' for a caller-overridable reusable workflow, but the description now steers callers toward an exact version or range for reproducible builds — closing the one floating-version gap flagged in the standards audit.

Signed-off-by: Danil Silantyev <danilsilantyevwork@gmail.com>
…I packs

Three new dual-tier reusable workflows following the established pack pattern (permissions {}, SHA-pinned actions with version comments, env-indirected caller commands, harden-runner gating, timeouts). dart-flutter-ci pins subosito/flutter-action; web-ci and sql-ci reuse the pinned setup-node/setup-python. Each ships a catalog capability entry, an examples/languages/ caller, and regenerated capability-matrix + workflow-inventory. validate_all + actionlint + zizmor all green.

Signed-off-by: Danil Silantyev <danilsilantyevwork@gmail.com>
cpp-ci: CMake configure/build/test with opt-in clang-format + cppcheck static gates and optional ccache. qt-ci: pinned install-qt-action (aqtinstall) with cache over the same CMake pattern. Both dual-tier, permissions {}, SHA-pinned (install-qt-action, ccache-action verified against their action.yml input contracts), env-indirected commands, harden-runner gated. Catalog + examples + tools + regenerated docs. validate_all + actionlint + zizmor green.
Signed-off-by: Danil Silantyev <danilsilantyevwork@gmail.com>
kotlin-android-ci: pinned setup-java + setup-gradle (Gradle cache) with optional Android SDK; ktlint/detekt via caller lint_command. swift-ci: macOS-default (10x minutes) with optional swift-actions setup for Linux, SwiftLint + swift-format gates; harden-runner Linux-only. r-ci: pinned r-lib setup-r (public RSPM) + caller install/lint/test. All action input contracts verified against action.yml. Catalog + examples + tools + regenerated docs. validate_all + actionlint + zizmor green.
Signed-off-by: Danil Silantyev <danilsilantyevwork@gmail.com>
…able workflows

coverage-gate: Codecov (+ optional Coveralls) upload behind a caller coverage command, codecov_token secret. docs-quality: lychee link-check + typos spell-check + markdownlint, free on every tier. pr-hygiene: multi-job bundle (commitlint, PR-title Conventional-Commits check, opt-in labeler + stale) with per-job least-privilege permissions. All action input contracts verified. Catalog + examples/quality + 9 tools entries + regenerated docs. validate_all + actionlint + zizmor green.
Signed-off-by: Danil Silantyev <danilsilantyevwork@gmail.com>
…ov security packs

Free SAST/SCA/IaC coverage on every tier — including private-free, where CodeQL and dependency review are paid GHAS. semgrep-ci (pip, gate-only, metrics off), osv-scan (checksum-pinned binary), grype-scan (anchore/scan-action), hadolint-ci, iac-scan (Checkov). All gate-only (no security-events permission needed). osv-scanner v2 CLI (scan source) and every action input contract verified. Catalog + examples/security + 5 tools entries + regenerated docs. validate_all + actionlint + zizmor green.

Signed-off-by: Danil Silantyev <danilsilantyevwork@gmail.com>
…e workflows

mutation-testing: language-dispatched toolchain (mutmut/cargo-mutants/Stryker) via caller commands. fuzzing: Rust cargo-fuzz on nightly with a bounded time budget, scheduled. benchmark: language-dispatched toolchain + github-action-benchmark regression alert (contents: write for gh-pages history). Catalog + examples/testing + github-action-benchmark tool entry + regenerated docs. validate_all + actionlint + zizmor green.
Signed-off-by: Danil Silantyev <danilsilantyevwork@gmail.com>
… with Level-3 examples

Two opt-in Level-3 patterns delivered as self-contained caller examples (workflow: null capabilities), matching the trusted-publishing example convention. examples/level3/ai-review.yml (Claude Code Action; CodeRabbit/Qodo noted as alternatives, human review stays the gate) and examples/level3/release-please.yml (complements the tag-driven attested release; changesets noted for monorepos). Catalog + regenerated capability-matrix. validate_all green.

Signed-off-by: Danil Silantyev <danilsilantyevwork@gmail.com>
New docs/15-language-and-quality-packs.md consolidates every added pack (languages, quality gates, free SAST/SCA/IaC, advanced testing, Level-3 opt-in) with tier notes and example links. Overview inventory + document index extended and re-dated; README gains an Extended-packs section and refreshed repository map. validate_all (docs-links) green.

Signed-off-by: Danil Silantyev <danilsilantyevwork@gmail.com>
Bump VERSION to 0.3.0 and add the CHANGELOG entry for the July 2026 expansion (language/quality/security/testing packs + Level-3 examples). Re-date generated docs to 2026-07-08 and drop an unused import in generate_docs.py. Full gate stack green: validate_all (9/9), actionlint, and zizmor across all 42 workflows.

Signed-off-by: Danil Silantyev <danilsilantyevwork@gmail.com>
Uniformity pass: the six pre-existing language packs (Python, Node, Go, Rust, Java, .NET) and the infra/tool packs (container, terraform, docs, monorepo changed-paths, cross-platform smoke) now each ship a dedicated examples/ caller and a catalog example reference. Every reusable product workflow is now example-covered (or aggregate-security-covered); no capability with a workflow is left example: null unintentionally. validate_all green.

Signed-off-by: Danil Silantyev <danilsilantyevwork@gmail.com>
@rldyourmnd
rldyourmnd merged commit 1161cbf into main Jul 7, 2026
5 checks passed
@rldyourmnd
rldyourmnd deleted the feat/enterprise-grade-2026 branch July 7, 2026 23:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant