From fd4e01978b568893e4997e4e376268d09e5eb3e7 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Mon, 29 Feb 2016 16:27:16 -0600 Subject: [PATCH] Move more files from the svn repo here. --- announce-list | 13 + make_offline_doc.sh | 33 +++ release-tasks | 565 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 611 insertions(+) create mode 100644 announce-list create mode 100755 make_offline_doc.sh create mode 100644 release-tasks diff --git a/announce-list b/announce-list new file mode 100644 index 0000000..4cb85c3 --- /dev/null +++ b/announce-list @@ -0,0 +1,13 @@ +dealii@googlegroups.com +aspect-devel@geodynamics.org + +by hand: +na digest http://icl.cs.utk.edu/na-digest/websubmit.html + + +to do by Wolfgang: +ariel@geodynamics.org +cig-all@geodynamics.org +numerical-analysis@listserv.tamu.edu +num.info@hermes.iwr.uni-heidelberg.de +siam-cse@siam.org diff --git a/make_offline_doc.sh b/make_offline_doc.sh new file mode 100755 index 0000000..129e88f --- /dev/null +++ b/make_offline_doc.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +if [ "$#" -ne 3 ]; then + echo "Offline documentation generator for deal.II" + echo "Usage:" + echo " ./make_offline_doc.sh " + echo "Execute in the base directory of a clean checkout for the release." + echo "For an RC use: './make_offline_doc.sh 8 3 0-rc1'" + exit 1 +fi + +MAJOR=$1 +MINOR=$2 +PATCH=$3 + +echo release $MAJOR.$MINOR.$PATCH + +# Generate documentation +rm -rf builddoc +mkdir builddoc +cd builddoc +cmake -DDEAL_II_WITH_MPI=OFF -DCMAKE_BUILD_TYPE=Debug -DDEAL_II_COMPONENT_DOCUMENTATION=ON -DCMAKE_INSTALL_PREFIX=`pwd`/../installeddoc/ ../ +make documentation -j 8 + +cd ../installeddoc + +cd doc/doxygen/deal.II +../../../../contrib/utilities/makeofflinedoc.sh + +cd ../../.. +tar czf ../dealii-$MAJOR.$MINOR.$PATCH-offline_documentation.tar.gz doc +cd .. + diff --git a/release-tasks b/release-tasks new file mode 100644 index 0000000..f6c6ce4 --- /dev/null +++ b/release-tasks @@ -0,0 +1,565 @@ +This file is internal information only. It lists the steps to be done when a +new release shall be issued. + +*** +*** +*** Release preparation: +*** +*** + + +-3/ Send out notice to the mailinglist if anyone has outstanding + issues or patches. This should happen at least a week before the + release process starts. Ask for volunteer testers on Mac. + +Subject: Release preparations + +All, + +we would like to start the release process for deal.II 8.3.0 soon. Please let us +know if you have any last minute things that need to be addressed (bugs, +documentation issues, configuration problems, etc.). + +If you are running the current development version, please update your local +working copy and test if everything compiles, especially if you are running a +less common configuration (mac, old compilers, etc.). + +Thanks! + + +-2/ Check all issues and pull-request on github. Create a list to see if + there are things that we intended to fix before the release. + + +-1/ Update the list of publications. Standard text for the email: + +Subject: Publications based on deal.II + +All, + +as you may know, we try to list all publications based on deal.II at + http://dealii.org/publications.html +We use this list to justify the effort we spend on writing this software, both +to our universities as well as the funding agencies that support its +development. + +In anticipation of the next release, we would like to update this page. If you +have (or know of) a publication that uses deal.II for numerical results and +that isn't already listed, please let us know so we can put it on there. For +this purpose, publications also include MSc, Diploma or PhD theses, or +anything else that may seem appropriate. + +Thanks! + + Send this as BCC to + dealii@googlegroups.com + dealii-developers@googlegroups.com + num.info@ganymed.iwr.uni-heidelberg.de + aspect-devel@geodynamics.org + na-seminar@math.tamu.edu + "Suttmeier, Franz-Theo" + geenen@gmail.com + joerg.willems@oeaw.ac.at + jwalton@math.tamu.edu + lube@math.uni-goettingen.de + mihai@vt.edu,sandu@cs.vt.edu, Krishna Siva Shankar Rudraraju + + +-1a/ update the authors list on the homepage authors.html by + cross-referencing doc/news/changes.h + + Get the list using + egrep '[0-9]+/[0-9]+/[0-9]+' doc/news/changes.h | \ + perl -pi -e 's/^ *\(//g; s#, *[0-9/]+\)##g; s/, */\n/g;' | \ + sort |uniq + + Compare with the commit list: + git log --date=short --format="%an %aE" v8.3.0..HEAD | sort | uniq + + + +-1b/ The list of contributors to the current release should also be copied to + the end of the release paper: + +Developers: + Wolfgang Bangerth + Denis Davydov + Timo Heister + Luca Heltai + Guido Kanschat + Martin Kronbichler + Matthias Maier + Bruno Turcksin + David Wells + Toby Young + +Contributors for 8.4: +Adam Kosik +Alberto Sartori +Alexander Grayver +Alistair Bentley +Andrea Bonito +Angel Rodriguez +Arezou Ghesmati +Aslan Kosakian +Claire Bruna-Rosso +Conrad Clevenger +Daniel Arndt +Daniel Shapero +Daniel Weygand +Florian Sonner +Gennadiy Rishin +Heikki Virtanen +Jan Stebel +Jason Sheldon +Jean-Paul Pelteret +Konstantin Ladutenko +Krzysztof Bzowski +Lei Qiao +Lukas Korous +Maien Hamed +Mauro Bardelloni +Patrick Esser +Praveen Chandrashekar +Rene Gassmoeller +Zhen Tao + + + +Contributors for 8.3: + Daniel Arndt + Benjamin Brands + Praveen C + Denis Davydov + Anton Evgrafov + Arezou Ghesmati + Nicola Giuliani + Lukas Korous + Ross Kynch + Giuseppe Pitton + Fernando Posada + Lei Qiao + Angel Rodriguez + Ian Rose + Florian Sonner + Martin Steigemann + Zhen Tao + Marco Tezzele + David Wells + +Contributors for 8.2: + Alexander Grayver + Andrea Mola + Andrew Baker + Angela Klewinghaus + Arezou Ghesmati + Ben Thompson + Christoph Heiniger + Damien Lebrun-Grandie + Daniel Arndt + David Wells + Denis Davydov + Fahad Alrashed + Giorgos Kourakos + Jean-Paul Pelteret + Kainan Wang + Kevin Drzycimski + Krysztof Bzowski + Lukas Korous + Manuel Quezada de Luna + Markus Bürg + Martin Steigemann + Mayank Sabharwal + Michal Wichrowski + Mihai Alexe + Minh Do-Quang + Shiva Rudraraju + Uwe Köcher + Valentin Zingan + + +0/ Do some basic testing as always + + +0a/ Run the indentation script: + ./contrib/utilities/indent + and push the corresponding changes + +0b/ Check for doxygen formatting problems by running tests/scripts/checkdoxygen.py: + find include -name "*h" -print | xargs -n 1 ./tests/scripts/checkdoxygen.py + and push the corresponding changes + + +0c/ Fix formatting bugs reported by: + + cd include; + find . -name "*h" -print | while read file;do ../contrib/utilities/wrapcomments.py $file >temp;done + + then rewrap comments in include/ + + cd include; + find . -name "*h" -print | while read file;do ../contrib/utilities/wrapcomments.py $file >temp;mv temp $file;done + + make sure you don't mess up polynomials_bdm.h ... + + + Also check: + grep -l '@ref[^"]*"[^"]*$' **/*.h + grep -l '@ref$' **/*.h + + Push the corresponding changes. + + +0d/ Check that doxygen produces no errors when generating offline docs. + Especially check that the tutorial dot graph gets generated + + +0d'/ Run the copyright script: + ./contrib/utilities/update-copyright + and push the corresponding changes + + +0e/ update Trilinos and PETSc to the latest release on the tester and update the blurb at: + doc/external-libs/trilinos.html + doc/external-libs/petsc.html + + +*** Caveat: for a minor version x.y.Z, +*** 1-3 must be performed on the corresponding release branch, e.g. 'dealii-8.2' +*** AND on HEAD + + +1/ Create new changes file: + - run: + cd doc/news + cp changes.h 8.2.1-vs-8.3.0.h + git add 8.2.1-vs-8.3.0.h + - empty the contents of changes.h: remove everything between 3x
    + - edit the headers of the new file: +/** + * @page changes_between_8_1_and_8_2 Changes between Version 8.1 and 8.2 + +

    +This is the list of changes made between the release of deal.II version +8.1.0 and that of 8.2.0. All entries are signed with the names of the +author. +

    + - edit the version numbers in the now empty changes.h + + +1a/ Adjust doc/users/doxygen.html to link to the to-be-created TAG file. + + +2/ Commit the changes: + + git commit -a -m "update changes and news for release" + [ pull request ] + + +3/ create the new release paper, upload to arxiv, link in publications.html + TH: it might make sense to delay this. The paper won't be done in time... + +4/ If a x.y.0 release, it is now time to create a release branch: + + git branch dealii-8.2 # exactly 'dealii-X.Y' to remain consistent! + + # Update VERSION from 8.2.0-pre to 8.2.0-rc1 + # + # Note: Please do not use "8.2.0" directly because the soname is derived + # from the current version number. Therefore, 8.2.0 must only be used for + # the final, tagged and distributed code. + + git commit -a -m "update VERSION" + + git push origin dealii-8.2 # where origin is the remote pointing to + # github.com/dealii/dealii.git + + Note: Without a pull request! + + +5/ Update the VERSION from 8.2.0-pre to 8.3.0-pre on master + + git commit -a -m "update VERSION" + + git push origin master # where origin is the remote pointing to + # github.com/dealii/dealii.git + + Note: Without a pull request! + + +6/ update the official tester to test on the release branch dealii-8.2 + + An empty checkout in a folder 'dealii-8.2' can be obtained via + + git clone --branch dealii-8.2 git://github.com/dealii/dealii.git deal-8.2 + +6a/ On mainline, do something like this to require the current dev version + for the tutorials and in the documentation: + + perl -pi -e 's/8.4 QUIET/8.5.0 QUIET/g;' examples/*/CMakeLists.txt + + also check doc/users/* and tests/*: + + grep "FIND_PACKAGE(deal.II" -r doc/ tests/ + + git commit -a -m "Require the current version of deal.II." + [ pull request ] + + +7/ Create an AUTHORS file in the top-level directory of the branch that + contains a text-only copy of the authors.html file from the website. + You can start from + lynx -dump -nolist https://www.dealii.org/authors.html >AUTHORS + and format it like this: + https://github.com/dealii/dealii/blob/dealii-8.3/AUTHORS + + Update LICENSE to point to the AUTHORS file: + + "[...] refers to the people listed in the file AUTHORS." + + git add AUTHORS + git commit -a -m "update AUTHORS" + + git push origin dealii-8.2 + + Note: Without a pull request! + + +7a/ Send prerelease announcement to dealii-developers@googlegroups.com + +Subject: Release testing, part1 (step 7a) + +Dear developers, + +we are in the process of releasing a new version of deal.II. + +It would be great if you could test it on your machine with your typical +configuration. For this update your git repository and switch to the +release branch: + git remote update + git checkout dealii-8.3 + +If no further regressions show up we will release [planned date] + +Thanks, +Wolfgang Bangerth, Timo Heister, Guido Kanschat, and Matthias Maier + + + +8/ Remove unfinished tutorial programs. + For 8.3, these are steps 47, 50 + + a) Delete directories on the branch: + + cd examples + git rm -r step-47 step-50 + git commit -a -m "removed unfinished steps (release tasks step 8)." + + b) These steps should also not be listed on the branch in + doc/doxygen/tutorial/tutorial.h.in + + [ pull request ] + + + c) Make sure all images are moved to the homepage repository. See: + https://svnhp.dealii.org/trunk/homepage/images/steps/readme.txt + + +9/ Write up a short release note and save it as announce-8.3 +9a/ Write the release paper in the release-papers/ subdirectory + +10/ Test the branch thoroughly: + + a) Run a full testsuite run locally, + + b) Have a look at the test results on cdash + + c) Configure, build and run all examples by hand (the testsuite only + runs a subset of it): + + cd [install]/examples + for i in step-* ; do \ + (cd $i ; cmake -DDEAL_II_DIR=../.. . ; make ; make run) ; done + + This step will require looking at the output and checking whether + anything untoward is happening. + + +11/ In a clean source directory of the dealii-8.2 branch, do + mkdir builddoc + cd builddoc + cmake -DDEAL_II_COMPONENT_DOCUMENTATION=ON -DCMAKE_INSTALL_PREFIX=$PWD/../installeddoc ../ + make -j 10 documentation + cd doc + cmake -P cmake_install.cmake + cd ../../installeddoc/doc + for i in `find . | egrep '\.html$'` ; do \ + perl ../../doc/doxygen/scripts/validate-xrefs.pl $i ; done + + If some of the deleted tutorial programs were linked to somewhere + else, resolve the unresolved links by adding corresponding files + to the doc/doxygen/headers directory. The content of such files + looks like shown here: + svn cat http://www.dealii.org/svn/dealii/branches/releases/Branch-7-0/deal.II/doc/doxygen/headers/step-32.h + + +[ some time with bugfixing and commits on the release branch ] + + +*** +*** +*** Publish a release, or release candidate. +*** +*** + + +12/ Push the button: + + a) Change VERSION to 8.2.0 for a release and to 8.2.0-rc1 for a release + candiate and commit: + git commit -m "update VERSION for release" + + b) (Signed) tag the commit with: + + # for the final release: + git tag -s -m "deal.II Version 8.3.0" v8.3.0 + # or alternatively for a release candidate: + git tag -s -m "deal.II Pre-Release Version 8.3.0-rc1" v8.3.0-rc1 + + You need a working gnupg key for this. (You should have anyway :-P) + + c) Push changes to github: + + # where origin is the remote pointing to github.com/dealii/dealii.git + git push origin dealii-8.3 + git push origin v8.3.0 + + +13/ Create the tar files: + + a) github automatically generates a source tarball from the current + repository state, see https://github.com/dealii/dealii/releases + + b) Download the source tarball from github, verify that its contents is + what we expect, e.g. + + # in a clean git repository: + git checkout v8.2.0 # or git checkout v8.2.0-rc1 + rm -r * + tar --strip-components=1 -xvf dealii-8.2.0.tar.gz (or dealii-8.2.rc1.tar.gz) + git status + + Now, the last git status must not show any modified contents! + TH: this is not true, because of .gitattributes, so ignore changes in ./tests/ + + Cryptographically sign it (detached, armored signature): + + gpg --detach-sign --armor dealii-8.2.0.tar.gz + + (Guido, Timo and Matthias have a suitable gpg in the "pgp strong set") + + c) Create full offline_doc tarball + + In a clean working copy of the tagged release version run the script + + ./make_offline_doc.sh 8 2 0 + # or alternatively for a release candidate + ./make_offline_doc.sh 8 2 0-rc1 + + to create dealii-8.2.0-offline_documentation.tar.gz + (dealii-8.2.0-rc1-offline_documentation.tar.gz). This step needs to be + done on a machine that has both a reasonably new doxygen version as + well as a dot version that can produce pngs. wolfgang's bloc507d has + both of these programs installed in /home/bangerth/bin/x86/bin. + + d) Also sign it: + + gpg --detach-sign --armor dealii-8.2.0-offline_documentation.tar.gz + + +14a/ Create a pre-release on github: + + https://github.com/dealii/dealii/releases/new + + Tag: dealii-8.2.0-rc1 @master + Release title: deal.II pre-release version 8.2.0-rc1 + + Description: "" + + Attach dealii-8.2.0-rc1.tar.gz (yes, once again) + Attach dealii-8.2.0-rc1.tar.gz.asc + Attach dealii-8.2.0-rc1-offline_documentation.tar.gz + Attach dealii-8.2.0-rc1-offline_documentation.tar.gz.asc + +14b/ Create a release on github: + + https://github.com/dealii/dealii/releases/new + + Tag: dealii-8.2.0 @master + Release title: deal.II version 8.2.0 + + Description: + [Short version of release notes as found in announce-8.2] + A full list of changes can be found at + http://www.dealii.org/developer/doxygen/deal.II/changes_between_8_2_1_and_8_3.html + + Attach dealii-8.2.0.tar.gz (yes, once again) + Attach dealii-8.2.0.tar.gz.asc + Attach dealii-8.2.0-offline_documentation.tar.gz + Attach dealii-8.2.0-offline_documentation.tar.gz.asc + + +*** +*** Caveat: Every further commit on an actual release at this point forces +*** an increase in the patch number, i.e. 8.2.0 -> 8.2.1. +*** +*** Go back to 12/ until a release is tagged +*** + + +15/ Generate the documentation on the webserver. + Guido: Man nehme scripts/make_documentation.sh aus unserem privaten SVN-Repository und ersetze in der cmake-Zeile "Git ..." durch "X.Y.Z" + +16/ Adjust header.include on homepage: + change links to the documentation of the most recent version + change the link to the changes_after_X_Y_Z.html file + (possibly other items -- please update this list) + + +17/ Ask Luca for Mac packages. Those can be added as additional download + options to the freshly created release. Mention new naming convention + "dealii-8.2.0-.*" for attachments + + +18/ Finish writing the announcement + + +18b/ Adjust news.html in the deal.II homepage repo: new entry for the + release using the link to the copied changes.h file from above; commit. + Rotate the news entry also in the short news blurb on the front page in + index.html + +19/ announce the release by sending an email to announce-list (file in this + directory) with subject: + Finite Element Software deal.II Version 8.2.0 released + + +19a/ Send a note to the Facebook and Google+ accounts + + +19b/ Update the deal.II wikipedia page: http://en.wikipedia.org/wiki/Deal.II + + +19d/ Send thank-you email and list the people already referenced in step -1b above + Sample text: + +I would like to follow up on the announcement of this release by publicly +saying again how much we appreciate the many contributions from those who +have sent it code, bug reports, fixed grammar and typos, or have helped in +any other way. Many thanks! + +The ChangeLog lists at least the following people to whom thanks are due +(though I am certain that I am forgetting someone): + + +20/ Celebrate! -- 2.39.5