Manage the changelog automatically #505
Labels
No Label
backport/done
backport/v1.0
backport/v1.1
backport/v1.10
backport/v1.11
backport/v1.12
backport/v1.13
backport/v1.14
backport/v1.15
backport/v1.2
backport/v1.3
backport/v1.4
backport/v1.5
backport/v1.6
backport/v1.7
backport/v1.8
backport/v1.9
bounty
changelog
dependencies
frontport/done
frontport/main
good first issue
Hacktoberfest
hacktoberfest-accepted
in progress
kind/api
kind/breaking
kind/bug
kind/build
kind/deployment
kind/deprecated
kind/docs
kind/enhancement
kind/feature
kind/lint
kind/misc
kind/moderation
kind/package
kind/proposal
kind/question
kind/refactor
kind/regression
kind/security
kind/summary
kind/testing
kind/translation
kind/ui
kind/upstream-related
kind/usability
kind/ux
lgtm/done
lgtm/need 1
lgtm/need 2
performance/bigrepo
performance/cpu
performance/memory
performance/speed
priority/critical
priority/low
priority/maybe
priority/medium
proposal/rejected
reviewed/confirmed
reviewed/duplicate
reviewed/fixed
reviewed/invalid
reviewed/not-a-bug
reviewed/wontfix
skip-changelog
stale
status/blocked
status/needs-feedback
status/wip
theme/2fa
theme/authentication
theme/avatar
theme/backup-restore
theme/docker
theme/federation
theme/issues
theme/kanban
theme/markdown
theme/migration
theme/mobile
theme/pr
theme/signing
theme/sqlite
theme/timetracker
theme/webhook
theme/wiki
No Milestone
No project
No Assignees
1 Participants
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: lunny/gitea#505
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Currently writing the changelog is pretty cumbersome, we should take take the approach of Gitlab to write changelog records in yml format and automatically generate the changelog out of that. Every PR author can write a new yml file into a specific folder so that we can generate the changelog automatically. You can see the records of Gitlab at https://gitlab.com/gitlab-org/gitlab-ce/tree/master/changelogs/unreleased.
Format
I think the format used by Gitlab is already pretty fine, but I would also add a
kind
flag for grouping:kind
: Group the changelog records by this flag as we currently got forv1.0.0
releasetitle
: A possibly short title to explain the changepull_request
: Optionally the number of the pull request used as a referenceissue
: Optionally the number of the meta issue for multiple pull requestsauthor
: The name of the author who contributed the changeDirectories
For entirely new features I would suggest to put the file into
changelog/unreleased
, if it's already clear which version will be the target for this change we should put it intochangelog/v1.1.0
, for the filename I would suggest the formatYYYYMMDD-short-title.yml
.Scripting
To generate the changelog I would like to write a Go script to
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/40421711-manage-the-changelog-automatically?utm_campaign=plugin&utm_content=tracker%2F47456670&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F47456670&utm_medium=issues&utm_source=github).scripts/
that generates theCHANGELOG.md
file out of the yml files. We can even integrate this into the CI process and add a commit which includes[skip ci]
in the commit message to update this on every merge on master and the release branches.I don't think we need to bother with
changelog/v1.1.0
etc, just seems cumbersome. For backports this will be fixed anyhow with the separate PR.As for
kind
I'd like to havesecurity
as well, since those have a higher backport priority :)As for the rest, ?
But if you manage the changelog records within version directories you can always regenerate the entire changelog. I'm OK to put everything into unreleased and move that to a version directory directly before the release.
(not saying we should copy them right of but) GitLabs changelog-script removes the old files when it's done, so the versioned ones would be m00t ;)
And I don't like the Gitlab approach to simply dropping the files. You are not easily able to regenerate the changelog.
@tboerger that's easy, just go back in time ?
but sure, lets keep them in versioned folders :)
I'd prefer
PR#-short-title.yml
:)as in a binary or something you
go run scripts/changelog.go
? (I'm partial to the latter)I think teabot could detect the PR merged and automatically send a PR to add a new changelog to .yml file. If teabot make a bad changelog we can add some commmits to the PR or close this PR. If we need teabot resend a PR. We can give a "RESEND PR". This will reduce many work and not conflict with above.
@lunny the idea is to have it done automagically on any tag-event so having the bot send a PR would be counter-productive in this case :)
Than you can add it only after opening the PR.
Use
go run
and add a ignore build tag.It usually changes during the course of a PR so it makes sense to add it later on ?
Any PR to send for v1.1? Or should I move it to v1.2?
@tboerger I'm currently working on this, saw this one
But your spec includes the PR-number as well :trollface: (I still wanna enforce PR-number on files to avoid collisions...)