Skip to content

Release Process

Tony Craig edited this page Aug 17, 2024 · 46 revisions

Overview of Release Process

  • Determine type of release, minor or major
  • Create release project at https://github.com/CICE-Consortium/CICE/projects and create list of potential release issues/tasks/PRs
    • Get work done
    • Update documentation including doc/source/intro/major_updates.rst (??)
  • When release is ready
    • Update/Verify version, copyright, documentation
    • Create pre-release candidate on Consortium Main and test
    • Copy release to branch and tag
    • Update version index table
      • Update release page based on tag
      • Verify documentation is created
      • Create zenodo page and link
      • Update test results for release tag
      • Verify science results (output) as needed
  • Update News
  • Send out release email


Detailed Template for CICE release (Icepack uses the same process)

  • Verify submodules are up to date, create a PR if not
  • Run Icepack interface documentation update, ./icepack.setup --docintfc
  • Update version/release number
    • run "cice.setup --version", then "cice.setup --setvers 6.0.2", then confirm with "cice.setup --version"
    • commit and create a PR
  • Review Copyright and PR updates if needed (https://docs.google.com/document/d/1S6bdbJg4VpqkoO12p2Zap3JbLNnPHbSJhHWF4jwzwtQ) and check copyrights in code.
  • Verify that html and pdf documentation is generated fine on current main, commit/PR any fixes
  • Test release candidate on multiple platforms (after all PRs are complete)
  • Review and Update release notes,
  • In github, copy the release candidate to release branch and tag the release. Naming convention is CICEm.n.p. (This is done directly in the Consortium repo so be a little careful)
    • git clone https://github.com/cice-consortium/cice cice.602
    • cd cice.602
    • git tag CICE6.0.2 (or git tag CICE6.1.0) (tag before pulling onto the release branch)
    • git branch --list --all
    • checkout old branch and update OR create new branch
      • git checkout CICE6.0; git log (make sure you're pointing at the prior release); git pull origin main; git log OR
      • git branch CICE6.1; git checkout CICE6.1; git log
    • git status (should show nothing)
    • git push origin $branchname (CICE6.0 or CICE6.1 in this example)
    • git push origin $tagname (CICE6.0.2 or CICE6.1.0 in this example)
  • Update release table
    • edit Release Table
    • add new line for new tag, update all links, set zenodo to TBD
  • Update release notes.
    • Pushing the tag should create a draft release, click on the release link in the Release Table
    • Edit the release information
    • Copy the text from Recent Changes and publish
    • Update Recent Changes page, clear out all changes and reset the last release information
  • Verify the repo link in the Release Table
  • Verify the html and pdf links in the Release Table
    • If they don't exist, trigger readthedocs manually
      • login to readthedocs.org
      • got to "My Projects"
      • click on "cice-consortium cice"
      • click on "Versions"
      • click "Activate" on the new tag at the bottom of the page
      • click on "Active" and "Save"
    • Wait a few minutes and verify the html and pdf links in Release Table
  • Update the tests link in the Release Table
    • Go to Test Results wiki page
    • Edit the main page and add a link to the new tag and save
    • Edit the sidebar and add a link to the new tag and save
    • Copy the current results
      • Click on "Main by hash", all of the test results for the release candidate should be there
      • Click on edit and copy the appropriate text, but don't edit the page
    • Go back to the Test Results page
    • Click on the new tag link to create a new page
    • Paste the results into this page and save
    • Continue to update the tag page as new test results for the release tag are produced
  • Verify the output link in the Release Table is working and pointing to reasonable data
  • Add the zenodo link
    • Create the zenodo page at zenodo
    • Edit the Release Table
    • Update the zenodo link
  • Update the News and Highlights page
  • Send out release email
s if needed

Template for zenodo software record

When a release is tagged, GitHub sends the information to zenodo, which assigns a DOI and creates a draft page for the release. The draft must be edited for correctness. The record will not appear on the CICE-Consortium community page until it has been edited. To find it, log in to zenodo.org and click on 'Upload'.

Another method is to Edit the previous release on Zenodo, deleting the previous file and uploading a new one (which creates a new DOI), and then update the entries as needed.

Template:

  • Filename(s) should already be populated
  • Communities: Add CICE-Consortium
  • Upload type should already be Software
  • DOI number should already be assigned
  • Publication date listed will be the date of the GitHub tag
  • Title will be the title assigned to the tag
  • Authors: 1st author Consortium Lead, remaining authors in alphabetical order. All people assigned to work on Consortium issues and code since the last release are Authors. Look at prior release for a starting list, and check PRs or Contributors under the Settings tab to find new additions.
  • Affiliations (cut and paste):
  • Los Alamos National Laboratory
  • Naval Research Laboratory Stennis Space Center
  • National Center for Atmospheric Research
  • Environment and Climate Change Canada
  • Danish Meteorological Institute
  • National Oceanographic and Atmospheric Administration
  • Geophysical Fluid Dynamics Laboratory
  • Institute of Oceanology, Polish Academy of Sciences
  • Edit description as needed
  • Edit version number
  • Language: English
  • Keywords: sea ice model, Icepack, CICE (as appropriate)
  • Access right: Open Access
  • License: Other (Open)
  • Save and Publish

Template for zenodo dataset record

When a new forcing dataset is created, we need to upload it manually to zenodo, which assigns a DOI. To upload a dataset, log in to zenodo.org and click on 'Upload'.

If a dataset is being modified, you can Edit the previous version on Zenodo or create a new version if an entirely new file needs to be uploaded.

Template:

  • Files: Need to drag and drop the file here and then click "Start upload" green button in the upper right corner. Maximum size is 50GB.

  • Communities: Add CICE-Consortium

  • Upload type should be Dataset

  • DOI number will be assigned

  • Publication date should match the date string on the file being uploaded.

  • Title will be descriptive followed by - YYYY.MM.DD that matches the date string on the file being uploaded (e.g. "Icepack Forcing Data - 2020.03.26").

  • Authors: CICE-Consortium

  • Affiliation: CICE-Consortium

  • Edit description with the following text block (change data name as appropriate)

    This file contains the DATA NAME forcing data for CICE. 

    The latest information about CICE forcing data and files can be found at the Resource Index under the "Input Data" link.

    These data are provided by the CICE Consortium (https://github.com/CICE-Consortium).

  • Edit version number: YYYY.MM.DD to match the date string on the file being uploaded.

  • Language: English

  • Keywords: sea ice model, Icepack, CICE (as appropriate)

  • Access right: Open Access

  • License: "Creative Commons Attribution 4.0 International"

  • Save and Publish