gEDA's Release Engineering

gEDA/gaf Release Creation Checklist

Here is a list of steps that are taken every time when creating a new gEDA/gaf release:

  • Manually run all tests. gnetlist has a nice set of regression tests in gnetlist/tests. Open up all schematics in gschem/examples and gschem/tests. Run the tests in gsymcheck/tests. You can do this by running the following in each of the directories:
        make check
  • Run make update-po in all po directories. Commit these changes before continuing.
  • Update all versions running update-versions.sh in the toplevel directory (libgeda’s so version should follow what is described in Autobook's library versioning chapter).
        ./update-versions.sh 1.0.1 20070626 29:1:0
  • Update all the versions and dates in the man pages (gschem.1, gnetlist.1, gsymcheck.1)
  • Update the wiki documentation (this is far far far too manual)
        cd docs
        mkdir wip
        cd wip
        ../scripts/wikifetch.sh
        rm -f *.txt
        mv geda.seul.org/wiki/* .
        rmdir geda.seul.org/wiki
        rmdir geda.seul.org
        ../scripts/postproc.sh
        find . -name *.orig -exec rm -f {} \; -print
        cd ..
        scripts/copygitignores.sh
        cd wip
        ../scripts/populatemkfiles.sh
        vi `find . -name Makefile.am`   (Make sure all files have correct install path)
        cd ..
        diff -r -q wiki wip  | grep -v Only | sed "s/Files /tkdiff /" | sed "s/ and//" | sed "s/differ//" > diffs
        sh diffs  (and examine all changes; you need to have tkdiff installer or use just plain diff above)
        mv wiki wiki.original
        mv wip wiki
        git status  
        git add <any new files>
        git commit -a
  • Update the ChangeLogs by running:
        ./update-changelogs.sh 1.0-20070526..master
        or
        ./update-changelogs.sh 1.0-20070526..stable-1.2  (if you are on a branch)
  • Commit all of the above changes (preferably in between each step)
  • Run: make distcheck and make sure it completes without any errors. After this is complete you will find all the tarballs in the toplevel directory.
  • Copy all these tarballs some place else along with the toplevel README and Makefile
  • Modify the toplevel Makefile to use the Released version of CD_VERSION and DIR_PREFIX environment variables. Comment out repository versions of these variables
  • Untar the tarballs and compare what is inside to what is in the repository. You should only find additional dist files inside the tarballs and no missing required files.
  • Build and test the tarballs one last time.
  • Make sure everything is committed and pushed and then put down the correctly formatted tag:
        git-tag -a 1.3.0-20071229
  • Push the tag to the main repository:
        git push --tags
  • Upload files to the correct place
  • Write release announcement and send to mailing lists
  • Write up release notes and send pointer to mailing lists
  • Update news update the sources download pages on the website with links to the new version
  • Done!
 
geda/release_engineering.txt · Last modified: 2008/01/26 19:08 by ales
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki