-
Notifications
You must be signed in to change notification settings - Fork 52
New version release procedure #588
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
Open
davidhassell
wants to merge
12
commits into
cf-convention:main
Choose a base branch
from
davidhassell:release-CF-1.12
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 9 commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
b7584a9
RELEASE.md
davidhassell 16c8ee5
Merge branch 'main' of github.com:cf-convention/cf-conventions into r…
davidhassell 6b8699d
merge upstream
davidhassell e4b03e5
history
davidhassell eed590a
tidy
davidhassell eb57bf0
tidy
davidhassell 5302482
tidy
davidhassell 36a18ef
tidy
davidhassell 9c913bb
tidy
davidhassell b1c96a7
Typo
davidhassell 04dbdcf
typos
davidhassell 42d6815
doi and post-release updates
davidhassell File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,127 @@ | ||
| # Release procudure for a new version of CF | ||
|
|
||
|
|
||
| ## Update the revision history in file **history.adoc** | ||
|
|
||
| - Check that the history is up to date. Every non-trivial issue or merged pull request without an issue should be referenced. | ||
| - Replace the line _`=== Working version (most recent first)`_ with the line `=== Version <VN> (<DATE>)`, substituting `<VN>` with the release version and `<DATE>` with the current date (e.g. `Version 1.12 (04 December 2024)`). | ||
|
|
||
|
|
||
| ## Create the new documents | ||
|
|
||
| Go to your fork of https://github.com/cf-convention/cf-conventions and create the new documents: | ||
| ``` | ||
| cd ~/cf-conventions | ||
| export CF_FINAL=True | ||
| make clean | ||
| make all | ||
| ``` | ||
|
|
||
|
|
||
| ## Copy the new documents to the website repository | ||
|
|
||
| Go to your fork of https://github.com/cf-convention/cf-convention.github.io, create a new branch from "main", copy the new documents into this branch and submit the changes as a puull request back to https://github.com/cf-convention/cf-convention.github.io. The following is an example of how this may be done, but other git formulations are possible: | ||
davidhassell marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ``` | ||
| # In the following, substitute <VN> for the release version | ||
|
|
||
| cd ~/cf-convention.github.io | ||
|
|
||
| git checkout main | ||
|
|
||
| # Make sure "main" is up to date | ||
| git pull upstream main | ||
|
|
||
| # Create new branch | ||
| git checkout -b new-documents-for-<VN> | ||
|
|
||
| # Copy the new files | ||
| mkdir -p Data/cf-conventions/cf-conventions-<VN> | ||
|
|
||
| cp ~/cf-conventions/build/cf-conventions.html ~/cf-convention.github.io/Data/cf-conventions/cf-conventions--<VN>/cf-conventions.html | ||
|
|
||
| cp ~/cf-conventions/build/cf-conventions.pdf ~/cf-convention.github.io/Data/cf-conventions/cf-conventions--<VN>/cf-conventions.pdf | ||
|
|
||
| cp ~/cf-conventions/build/conformance.html ~/cf-convention.github.io/Data/cf-documents/requirements-recommendations/conformance--<VN>.html | ||
|
|
||
| cp ~/cf-conventions/build/conformance.pdf ~/cf-convention.github.io/Data/cf-documents/requirements-recommendations/conformance-<VN>.pdf | ||
|
|
||
| # Commit the new files and push them to your fork's remote repository | ||
| git add ~/cf-convention.github.io/Data/cf-conventions/cf-conventions-<VN>/cf-conventions.html \ | ||
| ~/cf-convention.github.io/Data/cf-conventions/cf-conventions-<VN>/cf-conventions.pdf \ | ||
| ~/cf-convention.github.io/Data/cf-documents/requirements-recommendations/conformance-<VN>.html \ | ||
| ~/cf-convention.github.io/Data/cf-documents/requirements-recommendations/conformance-<VN>.pdf | ||
|
|
||
| git commit -a -m "New files for version <VN>" | ||
|
|
||
| git push origin HEAD | ||
|
|
||
| # Now create the pull request, and merge it into ~/cf-convention.github.io | ||
| ``` | ||
|
|
||
|
|
||
| ## Update version number related content on the website | ||
|
|
||
| - In file **conventions.md** | ||
| - Add a new HTML entry for the new versions of the conventions documents | ||
| - Increment the draft version of the conventions documents. | ||
| - Remove the "latest released version" text from the previous latest release. | ||
| - Add a new HTML entry for the new versions of the conformance document | ||
| - Increment the draft version of the conformance documents to next version after the release. | ||
|
|
||
| - In file **faq.md** | ||
| - Update CF version numbers to the release version. | ||
|
|
||
| - In file **index.md** | ||
| - Update CF version numbers to the release version. | ||
|
|
||
| - In file **software.md** | ||
| - Update CF version numbers to the release version. | ||
|
|
||
|
|
||
| ## Create a new GitHub release | ||
|
|
||
| - Go to https://github.com/cf-convention/cf-conventions/releases | ||
|
|
||
| - Follow the instructions at https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes, with the following details: | ||
|
|
||
| - "Choose a tag" for the new version on the "main" branch: The tag should be called `v<VN>.0`, substituting `<VN>` with the release version (e.g. `v1.12.0`). | ||
| - Set the release title to `CF-<VN>`, substituting `<VN>` the release version (e.g. `CF-1.12`). | ||
| - Click "Generate release notes". This will automatically generate a description of the release. | ||
| - Edit the description to remove the list of contributors, instead adding any new people who have made substantive contributions to the list at http://cfconventions.org/conventions_contributors.html. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is this the same thing as at line 134? |
||
| - Select "Set as the latest release". | ||
| - Select "Publish release". | ||
|
|
||
|
|
||
| ## Update file **CITATION.cff** | ||
|
|
||
| - Update the _version:_ field with the new version. | ||
|
|
||
| - Update the _doi:_ field in with the pre-reserved DOI. | ||
davidhassell marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
|
|
||
| ## Update file **.zenodo.json** | ||
|
|
||
| - Update the _version_ field in with the new version. | ||
|
|
||
| - Update the *publication_date*_ field in with the date. | ||
|
|
||
| - Update the _files_ field with the new PDF file sizes and checksums. These must be the checksums of the actual files uploaded to https://github.com/cf-convention/cf-convention.github.io. MD5 checksums can be calculated with: | ||
|
|
||
| ``` | ||
| # In the following, substitute <VN> for the release version | ||
|
|
||
| cd ~/cf-convention.github.io/Data | ||
| ls -o cf-conventions/cf-conventions-<VN>/cf-conventions.pdf | ||
| ls -o cf-documents/requirements-recommendations/conformance-<VN>.pdf | ||
| mdsum --digest md5 cf-conventions/cf-conventions-<VN>/cf-conventions.pdf | ||
| mdsum --digest md5 cf-documents/requirements-recommendations/conformance-<VN>.pdf | ||
| ``` | ||
|
|
||
| # Post release | ||
|
|
||
| After the release has been completed, make the following changes to re-ininstate the draft status of the conventions for the next version after the release: | ||
|
|
||
| - In file **version.adoc**, change the value of the the _:version:_ field to be the next version after the release version (e.g. `1.13`) | ||
|
|
||
| - In file **history.adoc**, insert a new heading at the top of the section: `=== Working version (most recent first)` | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
puull