Org-wide GitHub assets for the promptLM
organization: reusable workflows, org-default community files
(profile/README.md), and config templates referenced by every other repo.
Modules and repositories — what each public repo produces and how they depend on each other.
Prompt lifecycle — how a prompt gets from an author into a running app.
Live at promptLM/.github/.github/workflows/<name>.yml@main. Callers uses:
them with secrets: inherit (Java) or no secrets (Python/TS use OIDC).
| Workflow | Used by | Purpose |
|---|---|---|
release-java-central.yml |
every Java repo publishing to Maven Central | five-job topology: validate → verify → smoke-sign → deploy → promote |
release-python-pypi.yml |
Python publishers | OIDC trusted-publisher, no token, no GPG |
release-ts-npm.yml |
npm publishers | OIDC trusted-publisher + provenance |
oss-checks.yml |
every public repo | gitleaks secret scan + optional license-header check |
hetzner-runner.yml |
repos with long-running tests (acceptance, integration suites) | provision → run → teardown on a Hetzner Cloud VM; ~80% cheaper than ubuntu-latest for jobs > 3 min |
Design rationale and the full release-train topology live in
promptLM/promptlm-release
under docs/ci-workflow-design.md.
Alternative to ubuntu-latest for long-running CI jobs. Reusable workflow
hetzner-runner.yml plus a nightly snapshot bake and daily orphan sweep —
all hosted here. Downstream usage:
jobs:
acceptance:
uses: promptLM/.github/.github/workflows/hetzner-runner.yml@main
with:
test-command: ./scripts/acceptance-tests.sh
secrets: inheritFull setup, cost math, sizing guidance, and troubleshooting:
docs/hetzner-runners.md. For new workflows,
pick the "Hetzner acceptance tests" template under Actions → New workflow.
These are not consumed at build time — copy them into each repo and trim to fit. They live here so the canonical version is one place.
| Template | Drop into | Notes |
|---|---|---|
dependabot.template.yml |
.github/dependabot.yml |
All ecosystems commented; keep what applies per repo |
.licenserc.template.yaml |
.licenserc.yaml |
Apache-2.0 header for Java/TS/TSX/Py/sh; enforced by oss-checks.yml |
profile/README.md is rendered at the top of the
organization page for unauthenticated visitors.