Ensure release and versioning behavior is deterministic and pipeline-owned.
Example (CI-owned version bump step, rather than AI editing multiple build files):
# Example sketch: CI invokes the project’s release/version script
steps:
- name: Bump version
run: |
# Use the repository’s canonical release tooling
# (e.g., ./gradlew release, mvn versions:set, npm version, etc.)
./ci/release/bump-version.sh "$RELEASE_VERSION"
- name: Generate changelog/artifacts
run: ./ci/release/build-release-artifacts.sh "$RELEASE_VERSION"
Apply this policy by: pinning the workflow/rules source for stable usage, and centralizing version/release updates in CI scripts already appropriate for your build tooling.