This change reverses the responsibility for which files the updaters are run on. Now each updater can specify the list of files and wether the files should be created when they do not exist yet. This simplifies the handling of each update in releaserpleaser.go, as we can just iterate over all updaters and call it for each file of that updater. Also update the flags to allow users to easily define which updaters should run.
1.8 KiB
Updating arbitrary files
In some situations it makes sense to have the current version committed in files in the repository:
- Documentation examples
- A source-code file that has the version for user agents and introspection
- Reference to a container image tag that is built from the repository
releaser-pleaser can automatically update these references in the Release PR.
Markers
The line that needs to be updated must have the marker
x-releaser-pleaser-version somewhere after the version that should be updated.
For example:
// version/version.go
package version
const Version = "v1.0.0" // x-releaser-pleaser-version
Extra Files
You need to tell releaser-pleaser which files it should update. This happens through the CI-specific configuration.
GitHub Action
In the GitHub Action you can set the
extra-files input with a list of the files. They need to be formatted as a single multi-line string with one file path per line:
jobs:
releaser-pleaser:
steps:
- uses: apricote/releaser-pleaser@v0.4.0
with:
extra-files: |
version.txt
version/version.go
docker-compose.yml
GitLab CI/CD Component
In the GitLab CI/CD Component you can set the
extra-files input with a list of files. They need to be formatted as a single multi-line string with one file path per line:
include:
- component: $CI_SERVER_FQDN/apricote/releaser-pleaser/run@v0.4.0
inputs:
extra-files: |
version.txt
version/version.go
docker-compose.yml
Related Documentation
- Reference