.github

March 11, 2026 · View on GitHub

CI License: MIT

Default community health files, reusable workflows, and shared config for h13 repositories.

Reusable Workflows

Call from any repo via uses: h13/.github/.github/workflows/<name>@<sha>:

WorkflowStackInputsSteps
ci-node.ymlNode.jsnode-versionnpm ci (cached) → npm run lint → npm test
ci-go.ymlGogo test -race → golangci-lint
ci-php.ymlPHPphp-version, php-extensions, working-directory, composer-args, test-commandcomposer install (cached) → composer test
ci-terraform.ymlTerraformterraform-versionterraform fmt/init/validate → tflint
ci-markdown.ymlMarkdownglobmarkdownlint-cli2 (org config auto-applied)

All workflows enforce permissions: { contents: read } (least-privilege).

Example

name: CI
on:
  push:
    branches: [main]
  pull_request:
jobs:
  ci:
    uses: h13/.github/.github/workflows/ci-node.yml@c62d0eebefffc0d3ca156453f0fb7cd3dcb94f4c # main

Versioning

  • All workflow references use SHA pinning (no @v1 tags)
  • SHA pins are auto-updated by Renovate (Dependabot is not used)

Composite Actions

ActionDescription
actions/apply-org-configDownload org config if no local override exists

Automation

WorkflowScheduleDescription
Compliance AuditMonthly (1st)Checks all repos for renovate.json, CI, branch protection, LICENSE, CODEOWNERS
Repo SyncOn push to sync/Syncs PR/issue templates to all non-archived repos (dynamic)

Community Health Files

Org-wide defaults (applied to all repos without their own):

FilePurpose
SECURITY.mdVulnerability reporting policy
CONTRIBUTING.mdContribution guidelines
CODEOWNERSDefault code review ownership
LICENSEMIT license

Dependency Policy

All repositories use Renovate exclusively for dependency management. Dependabot is not used. Shared presets are maintained in h13/renovate-config.

Ecosystem

h13/dotfiles                      ← Dev environment + repo-init
  └─ repo-init --stack=node --github
       ├─ generates → renovate.json ──→ h13/renovate-config
       ├─ generates → .github/workflows/ci.yml (SHA-pinned)
       └─ configures → GitHub settings (branch protection, labels, alerts)

h13/.github                       ← Reusable Workflows + shared config ★
  ├─ ci-{node,go,php,terraform,markdown}.yml (reusable, SHA-pinned)
  ├─ compliance-audit.yml (monthly)
  ├─ repo-sync.yml (dynamic sync to all repos)
  └─ apply-org-config action

h13/renovate-config               ← Shared Renovate presets
  ├─ default.json (config:best-practices)
  ├─ node.json / go.json / php.json / terraform.json
  └─ Stack-specific dependency rules