| 1 |
|
|---|
| 2 | How to release a new version of CIVL
|
|---|
| 3 |
|
|---|
| 4 | 1. Working with your local copy of trunk, make sure all tests pass.
|
|---|
| 5 |
|
|---|
| 6 | 2. Edit the fields named "version" and "date" in interface
|
|---|
| 7 | edu.udel.cis.vsl.civl.config.CIVLConstants to use the new version and today's date.
|
|---|
| 8 | Also, edit README to change the version number and the changes of
|
|---|
| 9 | the new version. Updates CIVL manual accordingly (there is also version number and
|
|---|
| 10 | date referenced in the manual, and they need to be consistent with the release).
|
|---|
| 11 |
|
|---|
| 12 | 3. Commit your trunk or make sure there are no uncommitted
|
|---|
| 13 | modifications.
|
|---|
| 14 |
|
|---|
| 15 | 4. Create the tag: to create version 0.2, for example:
|
|---|
| 16 |
|
|---|
| 17 | svn copy svn://vsl.cis.udel.edu/civl/trunk svn://vsl.cis.udel.edu/civl/tags/0.2
|
|---|
| 18 |
|
|---|
| 19 | 5. Create a new config file for autotest: check out
|
|---|
| 20 | svn://vsl.cis.udel.edu/scripts if you have not already, or update it
|
|---|
| 21 | if you already have a local copy. Create a new file config_civl-0.2.sh
|
|---|
| 22 | (for example) based on one of the other config_civl configuration
|
|---|
| 23 | files. There are 3 points that must be changed: (1) BRANCH should be
|
|---|
| 24 | set to 0.2 (for example); this is the name that will be assigned to
|
|---|
| 25 | this branch, (2) REPO needs to be changed to point to the new tagged
|
|---|
| 26 | version, e.g. svn://vsl.cis.udel.edu/civl/tags/0.2, and (3)
|
|---|
| 27 | WORKER_CONFIG needs to be changed to refer to the same configuration
|
|---|
| 28 | file you are creating, i.e., ${WORKER_SCRIPT_DIR}/config_civl-0.2.sh
|
|---|
| 29 | in this example. Save this file and commit it.
|
|---|
| 30 |
|
|---|
| 31 | 6. Update the autotest scripts on nikolai:
|
|---|
| 32 | ssh tester@nikolai.cis.udel.edu
|
|---|
| 33 | cd repos/scripts/
|
|---|
| 34 | svn update
|
|---|
| 35 |
|
|---|
| 36 | 7. Update the autotest scripts on vsl:
|
|---|
| 37 | ssh vsl.cis.udel.edu
|
|---|
| 38 | eecis_su svn
|
|---|
| 39 | cd ~/scripts/
|
|---|
| 40 | svn update
|
|---|
| 41 |
|
|---|
| 42 | 8. On vsl.cis.udel.edu, eecis_su svn, and edit
|
|---|
| 43 | /home/svn/repositories/civl/hooks/post-commit by changing the second
|
|---|
| 44 | autotest command to refer to the new version configuration file. (You
|
|---|
| 45 | could also add a completely new autotest command; it will work either
|
|---|
| 46 | way.)
|
|---|
| 47 |
|
|---|
| 48 | 9. The autotest script will create the release at the next CIVL commit
|
|---|
| 49 | (to any part of CIVL). If you don't want to wait, you can trigger it
|
|---|
| 50 | manually by executing from vsl, in ~/scripts/autotest:
|
|---|
| 51 |
|
|---|
| 52 | ./run_manager.sh FullPathTo/config_civl-0.2.sh 121
|
|---|
| 53 |
|
|---|
| 54 | where 121 is whatever the revision number was for the release.
|
|---|
| 55 |
|
|---|
| 56 | 10. If there are any problems, you can continue to modify the branch.
|
|---|
| 57 | For example, to incorporate changes from the trunk, update or check
|
|---|
| 58 | out a fresh local copy of the whole project, change into the branch
|
|---|
| 59 | directory, and type svn merge svn://vsl.cis.udel.edu/civl/trunk See
|
|---|
| 60 | the Subversion Book for details on merging changes. Then commit these
|
|---|
| 61 | changes as usual. After each commit, autotest should run automatically
|
|---|
| 62 | and produce the new release. Here is an example:
|
|---|
| 63 |
|
|---|
| 64 | First, check out the tagged branch somewhere:
|
|---|
| 65 | svn co svn://vsl.cis.udel.edu/civl/tags/0.4
|
|---|
| 66 | Second, go to the directory you download:
|
|---|
| 67 | cd 0.4
|
|---|
| 68 | Third, merge changes from the trunk:
|
|---|
| 69 | svn merge svn://vsl.cis.udel.edu/civl/trunk
|
|---|
| 70 | Forth, commit:
|
|---|
| 71 | svn ci -m"Merged updated README from trunk."
|
|---|
| 72 |
|
|---|
| 73 | 11. Test the release: download it from the web page, move the
|
|---|
| 74 | executable file "civl" somewhere in your path (e.g., /tools/bin)
|
|---|
| 75 | and execute it on an example, e.g., "civl verify examples/barrier.cvl".
|
|---|
| 76 |
|
|---|
| 77 | 12. Update Trac milestones: go to https://vsl.cis.udel.edu/trac/civl/,
|
|---|
| 78 | log in, click on Roadmap, click on the milestone name (v0.2, for
|
|---|
| 79 | example), and edit it to indicate completed. You can also indicate
|
|---|
| 80 | that open tickets for that milestone be pushed to the next milestone.
|
|---|
| 81 | Update other milestones (for example, pushing the dates forward) as
|
|---|
| 82 | desired.
|
|---|
| 83 |
|
|---|
| 84 | 13. Update default milestone/version: go to https://vsl.cis.udel.edu/trac/civl/,
|
|---|
| 85 | log in, click on Admin, click on Milestones, choose a new milestone as the default,
|
|---|
| 86 | click Apply changes. Ditto for setting the default version.
|
|---|
| 87 |
|
|---|
| 88 | 14. Send an email to civl-dev and civl-users announcing the new release.
|
|---|