-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Versioned Build/Release Process #2419
Comments
The process should also take care of bumping various protocol versions. This means that we shouldn't bump the versions in each PR that changes something, but only when a release is made. So the process needs a way to keep track of all the breaking changes. |
Regarding the changelog, maybe we should have a special
Would produce an entry in the changelog document
We could even shave off the |
Huh, I would be reluctant to adapt such an ad-hoc approach:
Also, can you show an example of a prominent open-source project that uses that? |
Not really... release notes are usually done manually with a short git log just dumped at the end. But it just seems an overhead for us writing all those every week or so. Let alone error prone by missing something important out. |
We could require each PR to also update the "pending changelog" which is then used when preparing the final one? |
In this case I would vote for |
That is a really poor approach and such a changelog has little value. I'm more in favor of a curated changelog. See https://keepachangelog.com/ for more details.
Yes, that is one possibility and quite an established one. One issue I have with it is that there are a lot of rebase/merge conflicts since people generally add things to the same part of the changelog file 🙂. The other possibility which is emerging recently is to have changelog fragments in separate files which are then automatically assembled into the changelog when a release is prepared. This approach resolves the constant rebase/merge conflicts. |
Any examples to link to? |
Is there a place where keepachangelog.com defines where to put stuff like upgrade instructions for our node operators like we did it here: Maybe I'm mixing two things - release notes and a changelog. Upgrade instructions and special stuff the node operators (users) should be careful about are probably in release notes. Changelog is shorter and more "technical" I guess. Libreoffice's release notes: https://wiki.documentfoundation.org/ReleaseNotes/6.3 |
I'm most familiar with such tools in the Python ecosystem. One quite popular is
Although it is geared towards Python projects and works with rST by default, it can be made to work with Markdown and for non-Python projects. Another one is OpenStack's reno which is more complex and uses rST wrapped in YAML, so I think less interesting for us. |
Nice, so I assume this news directory gets cleaned on each release? |
Yes, correct. |
This looks like the best solution I've seen so far, so I would be in favor of using it. |
Yes, release notes and a changelog are two different things. From my experience, release notes typically highlight important changes in a release and talk about upgrading from previous releases. |
In addition we could have UPDATE: Looking at pip "relase notes" here https://pip.pypa.io/en/stable/news/ I think we should just combine both documents into one (and call it whatever) and have instructions for node operators inside the ordinary |
We need to come up with a process for
oasis-core
that will properly tag, build, and release software with some kind of versioning scheme (semantic, date based, etc).Details
Acceptance Criteria
The text was updated successfully, but these errors were encountered: