-
Notifications
You must be signed in to change notification settings - Fork 27
Mesquite Release Protocol
Wayne Maddison edited this page Apr 21, 2023
·
45 revisions
- look at log of reported errors for common crashes/etc.
- bring up to date new features/bug fixes on New Features Github wiki page (check Help>List of new modules)
- test and possibly resave example files
- check prerelease modules (use Help>List of prerelease modules): check code and switch those deemed safe to isPrerelease = false;
- search code for Debugg. (should be no instances in release)
- (major only) test under Windows, Linux, OSX
- for new modules return current release for getVersionOfFirstRelease; replace constant NEXTRELEASE if that had been used.
- (major only) headless recompile
- update Release Dates page
- update How To Cite Mesquite page
- update version number on home pages (index.html and home.html)
- update History of New Features page
- make sure changes are pushed to development branch on GitHub
- transfer list of new features and bugs from Github wiki to History of New Features page
- set build numbers and version numbers in MesquiteModule.java
- set release dates, version, version numbers, prerelease in Mesquite.java
- set release year in copyright string in AboutPanel and logInitString of Mesquite.java (search for previous year released)
- change update.xml URL in Installer and Defaults to real ones if needed
- edit as needed update.xml, install.xml, and notices.xml files. These will be in the docs folder in MesquiteCore.
- push changes to Github
- save copy of the Eclipse workspace (important to help test behaviour of whole builds/workspaces)
- Make sure jars folder is complete
- Move latest docs folder into Mesquite_Folder. Delete index.html and noticesAndUpdates therein.
- Use the OS-specific base Mesquite_Folders by copying the universal base three times, for OS X, Linux and Windows (at least mesquite/ and docs/, perhaps also images, jars, examples).
- Make the downloaded bundles for each OS:
- MacOSX: Use Disk Utility to create a disk image from the folder (e.g. Mesquite 3) that contains Mesquite_Folder. HOWEVER you also need to sign the dmgs that are made using codesign --force --sign "Developer ID Application: Username of Developer" pathToDMG. For macOS 10.15 and later, you need to also notarize the dmg.
- Linux: cd into Mesquite_Folder, and strip out hidden files using find . -name ".*" -exec rm -rf {} \; Then use tar to create .tgz file from Mesquite_Folder, e.g. tar -czf Mesquite_3.80.tgz Mesquite_Folder
- Windows: cd into Mesquite_Folder, and strip out hidden files using find . -name ".*" -exec rm -rf {} \; Then zip directory using NOT the standard MacOS X Compress File feature, but instead something like YemuZip that removes the extraneous files etc. made by the Mac.
- do all needed pull requests. To merge development branch into the master branch in Github, do a pull request with base: master and compare: development. Do this after everything, including notices.xml, is updated.
- do formal release in repository. Upload dmg, zip, tgz files.
- Copy update.xml, install.xml, and notices.xml files to UBC server and to old Github location for older versions to find.
- Users get notified via notices.xml
- Tweet that there's a new version
- Post on MesquiteProject Facebook page
- change log file names to nameDATE.log so that new ones will initiate from point of release
- adjust python files (e.g. mesquiteFeedback.py) if needed
- (one-time setup) Files on server Mesquiteproject.org are
- /Library/WebServer/Mesquite/
- mesquite
- addenda (ad hoc, not much used)
- BeanTree (archival)
- development (archival)
- images (just in case)
- notice
- notices.xml (the main NOTICES file!)
- pairwise (archival)
- salticidae (archival)
- updates
- updates.xml (the main UPDATES file!)
- error.html (file not found, indicates documentation now on wikispaces)
- index.html (indicates documentation now on wikispaces)
- mesquite.html = index.html
- Mesquite_Folder
- docs
- mesquite
- manual.html (indicates documentation now on wikispaces)
- mesquite
- docs
- mesquite 0.98 (archival)
- etc.
- mesquite 2.75 (archival)
- packages (the main additional PACKAGES directory)
- pdap_mesquite
- mesquite
- /Library/WebServer/mesquite_logs (contains logs of phoning home & error reports)
- /Library/WebServer/Mesquite/
- Redirects on mesquiteproject.org are:
- mesquite/index.html to http://www.mesquiteproject.org
- mesquite/mesquite.html to http://www.mesquiteproject.org
- mesquite/Mesquite_Folder/docs/mesquite/manual.html to http://www.mesquiteproject.org
- mesquite/download/index.html to http://www.mesquiteproject.org/Installation.html