Skip to content
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

Release procedure #372

Closed
wants to merge 13 commits into from
63 changes: 63 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Release process for a new version of the CF conventions
Complete the following steps in the order presented.

## Documents

* Check that the version (e.g. `1.10`) in `cf-conventions.adoc` is correct.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be handled with changes to version.adoc (uncomment the "final" attribute) now that PR #344 / issue #343 are merged/closed?

Same below with release date and version in cf-conventions.adoc and conformance.adoc.
(On second look, I don't think the the "final" attribute handles the date.)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah ha! I'd forgotten about that. This will make things much easier. Am I right in think that all we need to do is change // :final: to :final: in version.adoc, then? and change it back after the artefacts have been created?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not even that should be necessary. The way this (supposedly) works is that in the workflow a command line switch is added iff the build is due to a release, which automatically produces the final version.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @zklaus and @ethanrd - sounds good, but how do does the build now that it is a release? The current procedure simply get the results of the most recent run of the guhub actions. What am I missing? Thanks,

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @davidhassell - I believe a new release should cause the workflow that @zklaus mentions above to build with the final attribute/tag.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, Ethan, that makes sense to me, now. I'll update the procedure with that in mind.

* Set the release date in `cf-conventions.adoc`.
* Check that the version in `conformance.adoc` is correct.
* Check that the history in `history.adoc` is up to date. Every Pull
Request merged to the convention document should be
referenced. Check that all merged Pull Requests that contributed to
erget marked this conversation as resolved.
Show resolved Hide resolved
the new version have the appropriate GitHub Milestone attached to
them.


## Repository
When all Pull Requests have been merged:

* Tag the `main` branch with the new version (e.g. `v1.10.0`).
* Create a new "Latest release" that contains a link to the Pull
davidhassell marked this conversation as resolved.
Show resolved Hide resolved
Requests that contributed to the new version. Include a link to the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sentence starting on this line looks like it might be a leftover from something.

What is the appropriate GitHub Milestone?

contributing the Pull Requests labelled with the appropriate GitHub
milestone. *Note: It is possible to combine these two items whilst
setting up the new latest release in GitHub.)*
* Get the new documents from the Artefacts of the latest GitHub Actions:
* `cf-conventions.html`
* `cf-conventions.pdf`
* `images/*`
* `conformance.html`
* `conformance.pdf`

## Set new draft version
* Set the new *next* version in `cf-conventions.adoc`, and change the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, I think this is now handled in version.adoc. Also, it looks like "[ |-]draft" is added to the version string if the "final" attribute is not defined but the date is not added if "final" is defined. I can't remember if there was a reason the release date wasn't handled by this mechanism.

release date to "draft"
* Set the new *next* version in `conformance.adoc`.

## Add the release documents
* Move to the cf-convention.github.io repository
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hyperlink?

* Commit the new release documents into the `Data` folder as follows, where `<vn>` is replaced with the new version (e.g. `1.10`):
* `Data/cf-conventions/cf-conventions-<vn>/cf-conventions.html`
* `Data/cf-conventions/cf-conventions-<vn>/cf-conventions.pdf`
* `Data/cf-conventions/cf-conventions-<vn>/images/*`
* `Data/cf-documents/requirements-recommendations/conformance-<vn>.html`
* Ensure that the PDF file is not stored with LFS. These documents are
available as Artefacts from the latest GitHub Actions run in the
cf-conventions repository.

## At cf-convention.github.io, update website links and headings for the new version

* The following files need updating (although be aware that changes
to the web site may introduce new links in other files, in which
case this list should be updated as part of the release):
* `documents.md`
* `faq.md`
* `latest.md`
* `requirements-and-recommendations.md`
* `software.md`

## Announce the release

* Wait until all changes are visible via the web site, and then
announce the release on `cf-convention/discuss/issues`. There may
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hyperlink to https://github.com/cf-convention/discuss/issues/new/ ? For quality of life.

already be a open issue in which to do this.