The settings that apply across the dialectic-playground organization, and where each one is
defined. When a setting has a source of truth in a file, change it there through a pull
request, never in the GitHub UI.
GitHub-owned, Marketplace verified creators, and these named actions for toolchain setup: astral-sh/setup-uv, haskell-actions/setup, julia-actions/setup-julia, shivammathur/setup-php, ruby/setup-ruby, shogo82148/actions-setup-perl, msys2/setup-msys2 (each @*, still SHA-pinned)
Pinning
Every action must be pinned to a full commit SHA (uses: owner/action@<sha> # vX.Y.Z)
Default GITHUB_TOKEN permissions
Read-only; workflows cannot approve pull requests
Workflow runs from outside contributors
Require approval for every outside contributor
Updates
Dependabot (github-actions ecosystem, weekly, grouped) in every repository
.github/workflows/ci.yml, named CI, with every job and step named
Jobs
Container (podman) and Native (both run make check), Shared tooling (except in .github), DCO, CI result
Triggers
Pushes to main, pull requests, manual runs (workflow_dispatch), and a weekly scheduled run (cron: "23 4 * * 1", Mondays 04:23 UTC) that catches toolchain and runner drift even when nothing changes
Required check
A final CI result job (if: always(), actions: read). It fails if any job it needs failed or was cancelled, then lists every job of its own run attempt through the Actions API and fails unless each one succeeded (only DCO may be skipped, outside pull requests). A matrix job reports one combined result to needs, which can hide a cancelled leg such as a runner that never started; the run-wide check catches it.
DCO
A DCO job that fails a pull request if any commit lacks a Signed-off-by: line matching its author (bot commits are exempt)
LICENSE (MIT), .editorconfig, .gitattributes (LF line endings), .gitignore,
.github/CODEOWNERS (@dialectic-playground/maintainers), .github/dependabot.yml,
.github/workflows/ci.yml, Makefile, Containerfile, .devcontainer/devcontainer.json,
tools/dp-run, tools/container.mk, and a README skeleton. Each file shares one base across all
repositories, and any repository-specific lines are marked as such.