Skip to content

Scripts for building ESGF releases, creating repo mirrors and pushing binaries.

Notifications You must be signed in to change notification settings

rbrooks6/esgf-build

 
 

Repository files navigation

Readme doc for setting up build environment and optionally the rsync mirror.

1. Ensure that allrepos.txt is found and current.
2. Ensure that updateall.sh lists all of the components refered to in allrepos.txt.
3. Set value of active_branch in updateall.sh to 'devel' or 'master', depending on what you are building against.
4. Execute updateall.sh, to sequentially checkout the latest commit from the active branch. It also creates the taglist file, which you should check, to see if there are any commits after the last annotated tags.
5. If any retagging is needed, do so. Remember to use annotated tags. 
git tag -a '<version>' 'message'
ex: git tag -a 'v1.3.22-centaur-release' 'for whatever release'

6. Check paths to JAVA and PYTHON installation directories listed in buildall.sh. Use Sun Java 8 and Python 2.7

7. Ensure fulllist in buildall.sh lists all of the components refered to by allrepos.txt and updateall.sh, and execute buildall.sh.
8. Check buildlogs directory for log files to ensure that it's a clean build.
9. Check values of script_maj_version, script_version and script_release in packagedists.sh and execute it.

At this point, you have the packaged tarballs in final-dists. This is ready for extraction and upload to the dist mirror.

Steps for extraction and upload to the dist-mirror (and optionally, setting up a dist mirror)

1. esgfdist.sh sets up and updates a dist mirror that you run. If run without arguments, it actually performs an update; with any argument, it does a dry-run.
It assumes you have your ssh keys setup on coffee, for passwordless ssh.
IMPORTANT: always perform 'esgfdist.sh test' before you attempt to upload files.
2. In the transfer.sh file, set devel=1, if you are doing a devel binary upload. Set devel=0, for a master upload. Execute transfer.sh to extract your freshly built binaries.
3. Check the values of devel, script_version, script_release and script_maj_version in update-esgnode.sh and execute it. Preferably, change the srcdir value to a clean clone of esgf-installer, which shouldn't have any unsaved changes.
4. Excute 'esgfupload.sh test' to check what files would be updated on coffee. Check in particular binary versions. Execute esgfupload.sh to push out the binaries to coffee. Trigger a local mirror update, with esgfdist.sh, to verify that both your mirror and coffee are in perfect sync.

Done!

About

Scripts for building ESGF releases, creating repo mirrors and pushing binaries.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%