Skip to main content

CI/CD Workflows

All workflows live in .github/workflows/.

Core

WorkflowFileTriggerDescription
Deploydeploy.ymlPush to main, manualPull code, generate .env files via Ansible, deploy changed apps.
Provision VPSprovision.ymlManualBootstrap VPS, run full Ansible playbook, sync secrets back to vault.
Setup Self-Hosted Runnerssetup-runners.ymlManualRegister GitHub Actions self-hosted runners on the VPS.
Server Infoserver-info.ymlManualPrint system info, Docker status, and disk usage from the VPS.

Maintenance

WorkflowFileTriggerDescription
Backupbackup.ymlDailySnapshot application data and upload to secure storage.
Daily Cleanupcleanup.ymlDailyPrune Docker images/volumes and rotate system logs.
Update Submodulesupdate-submodules.ymlPush to mainKeep git submodule references up to date.
Update LICENSEupdate-license.ymlPush to mainKeep LICENSE year up to date.

Quality & Security

WorkflowFileTriggerDescription
Pre-commit CIpre-commit-ci.yamlPull requestRun pre-commit hooks (linting, formatting) on changed files.
Lint PRlint-pr.yamlPull requestEnforce Conventional Commits titles for Pull Requests.
CodeQL Analysiscodeql.yamlPush, PRStatic security analysis for potential vulnerabilities.
Gitleaksgitleaks.yamlPull requestScan for accidental secret commits in changed files.

Release & Housekeeping

WorkflowFileTriggerDescription
Releaserelease.yamlPush to mainSemantic release — bumps version and updates CHANGELOG.
Auto-merge PRautomerge.ymlPull requestAuto-merge Dependabot or authorized PRs that pass CI.
Template Repo Synctemplate-repo-sync.yamlWeeklySync files from the upstream template repository.
Cleanup Cachescleanup-caches.yamlPR closedRemove GitHub Actions cache for merged/closed branches.