When you add or remove a file that should be synced to downstream repos:
- Update
.templatesyncignore— add a:!path/to/fileentry (or remove one) - Run CI — the
templatesyncignore_checkjob will catch missing entries - Note the 2-cycle delay — new files require two sync cycles to propagate:
- Cycle 1: the updated
.templatesyncignoreis synced to downstream repos - Cycle 2: the new file is now in the whitelist and gets synced
- Cycle 1: the updated
Users can customize the deploy pipeline without modifying template-managed files:
- GitHub Actions: create
.github/hooks/pre-deploy.shor.github/hooks/post-deploy.sh - GitLab CI: create
.gitlab/pre-deploy.ymlor.gitlab/post-deploy.yml
These files are not template-managed and will not be overwritten by template sync.
.github/workflows/— GitHub Actions (ci.yml, cd.yml, sync-template.yml).gitlab-ci.yml— Root include file for GitLab CI.gitlab/— Split GitLab CI configs (ci.yml, cd.yml, sync-template.yml)
The templatesyncignore_check CI job only runs on the template repository itself:
- GitHub: Automatically detected via the repository's "Template repository" setting — no variables needed
- GitLab: Set
TEMPLATE_PROJECT_PATHas a project-level CI/CD variable (this is already part of the Template Project setup)