File: Release-Process.txt

package info (click to toggle)
ecflow 5.15.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 51,868 kB
  • sloc: cpp: 269,341; python: 22,756; sh: 3,609; perl: 770; xml: 333; f90: 204; ansic: 141; makefile: 70
file content (120 lines) | stat: -rw-r--r-- 4,515 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
Process
==================================================================

0/ **** Check we are not in a high risk period ???

0/ **** DO ***NOT*** switch current link ****************
   **** User support will do this, during an arranged system session
   **** This is because we have member states, using it for their operations.

   **** If we have any scripts in production that are using
   ****    /usr/local/apps/ecflow/current
   **** These make break.
   **** This is **very** important
   **** IDEALLY we need to educate member states *NOT* to use
   ****     /usr/local/apps/ecflow/current

----------------------------------------------------------------------
0/ *make sure ecbuild in cmake.sh matches the metabuilder*

0/ check python doc generation
   requires that ecflow.so has been built
   cd $WK                       # ecflow root directry
   cd Doc/online
   make clean;
   make html                    # fix any rst errors in python api

0/ Create the tarball using cmake, in the build directory with

   cd $WK                       # ecflow root directry
   rm -rf ../bdir               # *REMOVE* build tree
   git pull --rebase            # make sure we use the latest
   ./cmake.sh package_source    # this will place ecflow tar file in your $SCRATCH

0/ Inform user support, allows user support to build/test rpm

   - ** Check the state of bamboo builds and fix.
     These may well use different versions of cmake,boost,python,etc

   - ** Check the size of tar file **, ensure that have not included redundant files.
   <Inform Daniel>

0/ Build release: Two approaches, both use meta-builder:
    1/ git flow release start  5.10.0
       git_tag=release/5.10.0
       Use this approach when multiple people working on the release.
      *Push* branch onto stash, otherwise we cannot pull, from the remote machines
       - In eclipse, you *may* have to push this branch first Team->Push Branch
        *otherwise* the option Team->Push Upstream  may well be greyed out.

    2/ git flow release start  5.10.0
       git flow release finish 5.10.0
       git push
       git push --tags
       git_tag=5.10.0
       When single person making release

0/ Update metabuilder/config.yaml master branch to "5.10.0"
   Then use the meta builder/master to build/install.

0/ Update Documentation

  - https://confluence.ecmwf.int/display/ECFLOW/Release+Notes

  - Generate ecflow python API(only required when updating confluence)
    - module load python3  # rely on user support to have installed sphinx, make expects sphinx-build on $PATH
    - cd $WK/Doc/online; make clean; make html

    Sometimes this crashes, Just re-build Pyext, and try again.
    conf.py has been configured to look for ecflow.so in build otherwise install dir.


0/ Update WIKI:
   This announces the changes in the release
   https://confluence.ecmwf.int/display/ECFLOW/Latest+news

   In both cases add a tag/label for "news". This make the newly added page
   appear in the top half of the latest news

0/ Check attachments:
   ** The eflow tar ball is automatically upload to confluence
   http://confluence.ecmwf.int/display/ECFLOW/Releases

   0 Beta releases :
   https://confluence.ecmwf.int/display/ECFLOW/Pre-Releases

   Add a page with the title of the release.
   In both cases add a tag/label for "news". This make the newly added page
   appear in the top half of the latest news

0/ Update tag 5new
    module load modulemgr
    modulemgr -g module -m cca,ccb,cct,ecgb,leap42,lxc,lxg,lxop-dev,sappa,sappb,vsms1 -f -v tag ecflow 5.10.0 5new

0/ Announce release
   mail group:  ecflow_int@lists.ecmwf.int
   Use: ecflow/Doc/misc/Release-Anouncement.txt
   
   Also User Support will send out an email to external users:
   https://www.ecmwf.int/r/lists/info/ecflow-announce



AFTER the release
=======================================================================================
   o increment the version number in $WK/CMakeLists.txt THEN, run:
     sh -x $WK/cmake.sh

     This will update the version number for $WK/ACore/src/ecflow_version.h
     This file is included in $WK/ACore/src/Version.cpp
     It will also update      $WK/Pyext/ecflow/__init__.py

     Then check this file in, for the other platforms.

0/ record the performance statistics for the release. ( see Doc/misc/test_times )

0/ ** Check the security level of Jira issues for the release.
      If there is nothing sensitive, then set security level to None

0/ Update metabuilder server to use the latest server