releasepost
Repost changelogs to your static site generator git repository
It can generate json, markdown, and asciidoctor files.
Config
releasepost relies on a configuration file to identify what release to monitor and where to repost it. The configuration file uses the YAML format and accepts the following parameters:
Changelogs
name defines the changelog name to monitor. It is used to identify a changelog configuration among differentts ones.
dir defines the directory where to mirror the release note
kind defines the kind of changelog to mirror, for example github
formats defines a list of format parameters for the mirrored changelog.
spec defines specific parameters to a kind of mirror.
The following example can be used for a HUGO website
Command
export GITHUB_TOKEN=<insert read-only token>
releasepost --config .releaserepost.yaml
Configuration
.releaserepost.yaml
changelogs:
- kind: github
dir: content/en/docs/changelogs/updatecli
formats:
- extension: asciidoc
indexfilename: _index
- extension: json
indexfilename: _index
spec:
owner: updatecli
repository: udash
GitHub
Credentials
GitHub integration requires a read-only personal access token. The token must have enough permission to read release information.
Configuration
changelogs:
- kind: github
spec:
# Define the GitHub owner
owner: updatecli
# Define the GitHub repository
repository: updatecli
# Define the release type to retrieve
typefilter:
draft: false
prerelease: false
release: true
latest: true
# Define the GitHub url
url: https://github.com
# Define the username used to authenticate
username: john
# Define the token used to authenticate
token: xxx
The following environment variables will be used as a fallback
GITHUB_REPOSITORY
used to set owner and repositoryGITHUB_TOKEN
used to set the tokenGITHUB_URL
used to set the GitHub urlGITHUB_ACTOR
used to set the GitHub username
Integration
Updatecli
Releasepost is designed to work with Updatecli where releasepost is responsible to generate the correct files based on third changelogs and Updatecli to automate the process of publishing them to a git repository
TODO: Show an updatecli demo
Contributing
As a community-oriented project, all contributions are greatly appreciated!
Here is a non-exhaustive list of possible contributions:
- ⭐️ this repository.
- Propose a new feature request.
- Highlight an existing feature request with 👍.
- Contribute to any repository in the updatecli organization
- Share the love
FAQ
Can releasepost generate changelog?
No, they are already great tools for doing that.
-
Release Drafter can automatically generate the next changelogs based on pullrequest labels. If the generated changelog is wrong, you can still update labels on already merged pullrequest and then retrigger release drafter to update the the generated changelog.
-
Conventional Changelog can automatically generate the next changelogs based on commit following conventional commit. If the generated changelog is wrong, you can still modify your git history...
-
Changie is another great tool to generate changelog
The purpose of releasepost is to retrieve already published changelogs and to republish them, for example on a project website.
Why using _index instead of index on HUGO project?