Ignore File Patterns
Skip push redeploys for documentation, metadata, and other non-runtime changes.
Purpose
When some file changes do not change a running Service, use ignoreFiles to
prevent a redeploy. Examples are documentation, generated
metadata, examples, and workflow files.
Lifecycle skips a push redeploy only when all active related Services ignore all changed files. If Lifecycle cannot prove the push is safe to skip, it redeploys.
Confirm availability
An administrator must enable ignore-file enforcement for the deployment. When enforcement is off, Lifecycle redeploys even when all patterns match.
This deployment switch has no supported UI, typed API, or Helm value. An
administrator must use a supported operator procedure for the installed
release. See Runtime configuration surfaces.
If no such procedure exists for the installed release, do not rely on
ignoreFiles. A correct repository configuration alone does not enable
enforcement.
Config
Define shared patterns under environment.ignoreFiles. Add service-specific
patterns under services[].ignoreFiles.
This config means:
docs/**and**/*.mdapply toapiandfrontend.openapi/**applies only toapi.- A push that changes only
docs/readme.mdcan skip the two Services. - A push that changes only
openapi/schema.yamlcan skip only when all active affected Services ignore that path.
Each Service inherits the Environment patterns. Service patterns apply only to that Service.
Rules
Lifecycle matches patterns against GitHub file paths.
| Rule | Example |
|---|---|
Use / paths | docs/setup.md |
| Repo-relative | docs/**, not /docs/** |
| Case-sensitive | docs/** does not match Docs/guide.md |
| Dotfiles match | .github/** matches .github/workflows.yml |
| Broad globs work | **/* matches all files |
Paths are repo-relative and case-sensitive. docs/** and Docs/** are
different paths. Patterns must not start with /.
Each Environment or Service list accepts at most 50 patterns. Each pattern can
be at most 200 characters, cannot be empty, cannot start with /, and cannot
contain a .. path segment. Lifecycle redeploys if the policy data is not
correct.
Example patterns:
Lifecycle accepts broad patterns such as **/*. Use them only when the
Service must ignore all push file changes from that repository.
Active Services
Only active Services that use the pushed repository and branch must match the ignore patterns.
Optional Services count only when they are deployed in the current
Environment. If worker is optional and not deployed, its ignoreFiles
config does not change the skip decision.
If one active affected Service does not ignore a changed file, Lifecycle redeploys.
Changes that always cause a redeploy
Lifecycle always redeploys when lifecycle.yaml, lifecycle.yml,
.lifecycle.yaml, or .lifecycle.yml changes, when the current deploy is in
a failure state, and for static Environments. Auto-tracked API Environments
also redeploy without this check.
Lifecycle also redeploys when:
- a changed file does not match all related active Service ignore patterns
- Lifecycle cannot safely read the changed file list
Debug
If a push redeployed when you expected it to skip, check:
- If enforcement status is unknown, ask the deployment owner.
- Did the push change a supported Lifecycle configuration filename?
- Did all changed files match the patterns and letter case?
- Did all related active Services have a matching pattern?
- Is an optional Service active in the Environment?
- Is the current deploy in an error state?
- Is the Environment static or an auto-tracked API Environment?
If you are not sure that a pattern is safe, keep it narrow. One more redeploy is safer than a skipped runtime change.