Source Release For hyrax-dependencies: Difference between revisions

From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽
 
(15 intermediate revisions by one other user not shown)
Line 1: Line 1:


; Prerequisite
This task is to ensure that the ''hyrax-dependencies'' project is up to date and tar balls on www.o.o. are current.
: ''Make sure the ''hyrax-dependencies'' project is up to date and tar balls on www.o.o. If there have been changes/updates since the last Hyrax release.''


=== Update Release Files ===
== Update ChangeLog, NEW, and release version ==
Update the text documentation files and version numbers
=== Update the '''ChangeLog''' file. ===
 
==== Update the '''ChangeLog''' file. ====
Use the script <tt>gitlog-to-changelog</tt> (which can be found with Google) to update the '''ChangeLog''' file by running it using the <tt>--since="<date>"</tt> option with a date one day later in time than the newest entry in the current ChangeLog.  
Use the script <tt>gitlog-to-changelog</tt> (which can be found with Google) to update the '''ChangeLog''' file by running it using the <tt>--since="<date>"</tt> option with a date one day later in time than the newest entry in the current ChangeLog.  
: '''gitlog-to-changelog --since="1970-01-01"''' (''Specify a date one day later than the one at the top of ChangeLog'')
: '''gitlog-to-changelog --since="1970-01-01"''' (''Specify a date one day later than the one at the top of ChangeLog'')
Line 14: Line 11:
'''Tip''': ''When you're making the commit log entries, use line breaks so ChangeLog will be readable. That is, use lines < 80 characters long.''
'''Tip''': ''When you're making the commit log entries, use line breaks so ChangeLog will be readable. That is, use lines < 80 characters long.''


==== Update the NEWS file ====
=== Update the Version Numbers ===
If the review of the ChangeLog indicates that there have been changes since the last release, increment the version number in the Makefile.
 
Make sure any change in version number is also reflected in the NEWS file.
 
=== Update the NEWS file ===
To update the NEWS file, just read over the new ChangeLog entries and summarize.
To update the NEWS file, just read over the new ChangeLog entries and summarize.


==== Update the Version Numbers ====
== Commit And Push ==
If the review of the ChangeLog indicates that there have been changes since the last release, increment the version number in the Makefile. Make sure this change in version number is also reflected in the NEWS file.
# Save, commit, and push the changes to master branch.
# Once the ''hyrax-dependencies'' CI build is finished
## Trigger a CI build ''libdap4'' by pushing a small change to the ''libdap4'' master branch. When that CI build has completed successfully,
## Trigger a CI build in the ''bes'' by pushing a small change to the ''bes'' master branch.
# Wait for the successful completion.  
#: If there's a problem with the CI builds at this point you may wish to follow the advice of '''''Herman Wouk''''': ''"When in danger or in doubt, run in circles, scream and shout"''


== Publish and Sign ==


All you need do is build the tar file using <tt>make dist</tt>, sign it, and push (or pull) these files onto www.opendap.org/pub/source.


# Go to the '''hyrax-dependencies''' project on your local machine and run <tt>make dist</tt> which will make a hyrax-dependencies-x.y.tar.gz file in the directory above the top level of the '''hyrax-dependencies''' project.
# Use '''gpg''' to sign the tar bundle:
#: <tt>gpg --detach-sign --local-user security@opendap.org ../hyrax-dependencies-x.y.tar</tt>
# Use '''sftp''' to push the signature file and the tar bundle to the /httpdocs/pub/source directory on www.opendap.org
#: ''(Assuming your current working directory is the top of the '''hyrax-dependencies''' project)''
#: <tt>sftp opendap@www.opendap.org</tt>
#: <tt>cd httpdocs/pub/source</tt>
#: <tt>put hyrax-dependencies-x.y.tar.sig</tt>
#: <tt>put hyrax-dependencies-x.y.tar</tt>
#: <tt>quit</tt>
# Check your work!
## Download the source tar bundle and signature from www.opendap.org.
## Verify the signature:
##: <tt> gpg --verify hyrax-dependencies-x.y.tar.sig hyrax-dependencies-x.y.tar</tt>


 
== Tag The Release ==
# Update version number for the ''hyrax-dependencies'' in the Makefile, for example "1.xx"
# Save, commit, and push the changes to master branch.
# Once the ''hyrax-dependencies'' CI build is finished, trigger builds CI in both ''libdap4'' and ''bes'' by pushing change(s) to the master branch of each.
# Tag, and push the tag.  
# Tag, and push the tag.  
#* ''git tag -m "version-<number>" -a <numbers>''  
#* ''git tag -m "version-<number>" -a <numbers>''  
#* ''git push origin <numbers>''
#* ''git push origin <numbers>''
# Since this is part of Hyrax, also tag this point in the master branch with the Hyrax release number:
 
#* ''git tag -m "hyrax-<number>" -a hyrax-<numbers>''
== Make The Release On GitHub ==
#* ''git push origin hyrax-<numbers>''
# Goto the [https://github.com/OPENDAP/hyrax-dependencies/tags GitHub 'tags' page for ''hyrax-dependencies''].  
# Make 'release' in github
# Click the "Create release from tag" button
## Goto the [https://github.com/OPENDAP/hyrax-dependencies/tags GitHub 'tags' page for ''hyrax-dependencies''].  
# Enter a title for the release (looks at previous releases for examples)
## Enter a title for the release (looks at previous releases for examples)
# Copy the most recent text from the NEWS file into the describe field
## Copy the most recent text from the NEWS file into the describe field
# Click Save/Update this release.
## Click Update this release or Save draft, this will trigger a 'archive and DOI' process on the Zenodo system.

Latest revision as of 23:25, 24 January 2024

This task is to ensure that the hyrax-dependencies project is up to date and tar balls on www.o.o. are current.

Update ChangeLog, NEW, and release version

Update the ChangeLog file.

Use the script gitlog-to-changelog (which can be found with Google) to update the ChangeLog file by running it using the --since="<date>" option with a date one day later in time than the newest entry in the current ChangeLog.

gitlog-to-changelog --since="1970-01-01" (Specify a date one day later than the one at the top of ChangeLog)

Save the result to a temp file and combine the two files:

cat tmp ChangeLog > ChangeLog.tmp; mv ChangeLog.tmp ChangeLog

If you're making the first ChangeLog entries, then you'll need to create the ChangeLog file first.
Tip: When you're making the commit log entries, use line breaks so ChangeLog will be readable. That is, use lines < 80 characters long.

Update the Version Numbers

If the review of the ChangeLog indicates that there have been changes since the last release, increment the version number in the Makefile.

Make sure any change in version number is also reflected in the NEWS file.

Update the NEWS file

To update the NEWS file, just read over the new ChangeLog entries and summarize.

Commit And Push

  1. Save, commit, and push the changes to master branch.
  2. Once the hyrax-dependencies CI build is finished
    1. Trigger a CI build libdap4 by pushing a small change to the libdap4 master branch. When that CI build has completed successfully,
    2. Trigger a CI build in the bes by pushing a small change to the bes master branch.
  3. Wait for the successful completion.
    If there's a problem with the CI builds at this point you may wish to follow the advice of Herman Wouk: "When in danger or in doubt, run in circles, scream and shout"

Publish and Sign

All you need do is build the tar file using make dist, sign it, and push (or pull) these files onto www.opendap.org/pub/source.

  1. Go to the hyrax-dependencies project on your local machine and run make dist which will make a hyrax-dependencies-x.y.tar.gz file in the directory above the top level of the hyrax-dependencies project.
  2. Use gpg to sign the tar bundle:
    gpg --detach-sign --local-user security@opendap.org ../hyrax-dependencies-x.y.tar
  3. Use sftp to push the signature file and the tar bundle to the /httpdocs/pub/source directory on www.opendap.org
    (Assuming your current working directory is the top of the hyrax-dependencies project)
    sftp opendap@www.opendap.org
    cd httpdocs/pub/source
    put hyrax-dependencies-x.y.tar.sig
    put hyrax-dependencies-x.y.tar
    quit
  4. Check your work!
    1. Download the source tar bundle and signature from www.opendap.org.
    2. Verify the signature:
      gpg --verify hyrax-dependencies-x.y.tar.sig hyrax-dependencies-x.y.tar

Tag The Release

  1. Tag, and push the tag.
    • git tag -m "version-<number>" -a <numbers>
    • git push origin <numbers>

Make The Release On GitHub

  1. Goto the GitHub 'tags' page for hyrax-dependencies.
  2. Click the "Create release from tag" button
  3. Enter a title for the release (looks at previous releases for examples)
  4. Copy the most recent text from the NEWS file into the describe field
  5. Click Save/Update this release.