Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 188 lines (125 sloc) 4.923 kb
f45384a Patrick R. Michaud First version of release_guide.pod, based on a proposed version
pmichaud authored
1 =head1 release_guide.pod - guide to Rakudo releases
2
3 Rakudo's development release cycle is based on Parrot's release
4 cycle. Parrot releases the third Tuesday of each month; Rakudo
5 will generally issue its own development release two days after
6 the Parrot release.
7
8 Each development release is given a sequential number and a
9 code name based on an active Perl Mongers group. Rakudo's
10 February 2009 release is #14; prior releases were bundled as
11 part of monthly Parrot releases.
12
13 =head2 Development releases
14
15 2009-02-26 Rakudo #14 "Vienna"
f67507c Patrick R. Michaud Release date and name updates.
pmichaud authored
16 2009-03-20 Rakudo #15 "Oslo"
381d26e Patrick R. Michaud Updates to docs/announce and docs/release_guide.pod .
pmichaud authored
17 2009-04-23 Rakudo #16 "Bratislava"
c4fa3ba Patrick R. Michaud Update docs/release_guide.pod .
pmichaud authored
18 2009-05-21 Rakudo #17 "Stockholm"
f45384a Patrick R. Michaud First version of release_guide.pod, based on a proposed version
pmichaud authored
19
20 =head2 Planned 2009 releases
21
22 Dates are based on Parrot's expected release schedule.
23
381d26e Patrick R. Michaud Updates to docs/announce and docs/release_guide.pod .
pmichaud authored
24 2009-06-18 Rakudo #18 "Pittsburgh"
f45384a Patrick R. Michaud First version of release_guide.pod, based on a proposed version
pmichaud authored
25 2009-07-23 Rakudo #19
26 2009-08-20 Rakudo #20
f67507c Patrick R. Michaud Release date and name updates.
pmichaud authored
27 2009-09-17 Rakudo #21
f45384a Patrick R. Michaud First version of release_guide.pod, based on a proposed version
pmichaud authored
28 2009-10-22 Rakudo #22
29 2009-11-19 Rakudo #23
30 2009-12-17 Rakudo #24
31
381d26e Patrick R. Michaud Updates to docs/announce and docs/release_guide.pod .
pmichaud authored
32 =head2 Suggested .pm group names for future releases
33
34 BristolBath.pm
6d8bf89 Patrick R. Michaud Add another suggested .pm name for upcoming releases.
pmichaud authored
35 Milan.pm
381d26e Patrick R. Michaud Updates to docs/announce and docs/release_guide.pod .
pmichaud authored
36 Seoul.pm
37
2f3a8ab Patrick R. Michaud Update docs/release_guide.pod with typical steps for cutting a release.
pmichaud authored
38 =head2 Steps to create a release (for release managers)
39
40 Each Rakudo development release is timed to occur two
41 days after a Parrot monthly release.
42
43 =over 4
44
45 =item 1.
46
47 A few days before
48 the Parrot release, it's a good idea to:
49
50 =over 4
51
52 =item *
53
54 Remind people of the upcoming release, invite people to
55 update the ChangeLog file, update the ROADMAP, choose a
56 release name, etc.
57
58 =item *
59
60 Verify that the Parrot trunk head is able to build Rakudo
61 and run the spectest suite.
62
63 =item *
64
65 If Parrot's trunk exhibits any problems building or running
66 Rakudo (that require changes to Parrot to fix), immediately
67 report them to the Parrot development team so they can be
68 fixed prior to Parrot's release.
69
70 =item *
71
72 Review the RT queue for tickets that might need resolving
73 prior to the release, addressing them as needed.
74
75 =back
76
77 =item 2.
78
79 Once Parrot issues its monthly release, edit Rakudo's
80 build/PARROT_REVISION file to contain the subversion revision
81 number corresponding to Parrot's monthly release.
82 As always, test to make sure Rakudo still builds and
83 passes its tests. Once build/PARROT_REVISION has been
84 set to the Parrot release, it must not be changed until
85 after the Rakudo release. In other words, we want each
86 monthly release of Rakudo to be able to be built using
87 the immediately prior release of Parrot.
88
89 =item 3.
90
91 The short period following the Parrot release until the
92 Rakudo release is generally intended for fixing bugs,
93 updating documentation, and so on.
94
95 =item 4.
96
97 As the actual release date nears, review the git log history
98 to see if any additional items need to be added to the ChangeLog.
99 This can be conveniently done with "git log --since=yyyy-mm-dd --reverse".
100
101 =item 5.
102
103 When it's time to cut the release, create a new release announcement
104 in docs/announce/YYYY-MM. It's often a good idea to use the
105 previous month's file as a starting point for this. Highlight areas
106 in which the new release is significant. If possible, also give
107 some small details about the choice of release name. (If the
108 details are a bit lengthy, this can often best be done as a separate
109 section at the bottom of the announcement.)
110
111 =item 6.
112
113 Update the release dates and names at the top of this file
114 (docs/release-guide.pod). Also improve these instructions if
115 you find any steps that are missing.
116
117 =item 7.
118
119 Make sure everything compiles and runs from a known clean state:
120
121 $ make realclean
122 $ perl Configure.pl --gen-parrot
123 $ make
124 $ make test
125 $ make spectest
126
127 Continue adjusting things until make spectest passes as expected.
128
129 =item 8.
130
131 Make sure any locally modified files have been pushed back to github.
132
133 =item 9.
134
135 Create an initial tarball by entering "make release VERSION=YYYY-MM",
136 where YYYY-MM is the month for which the release is being made.
137 This will create a candidate tarball file named <rakudo-YYYY-MM.tgz>.
138
139 =item 10.
140
141 Unpack the tar file into another area, and test that it
142 builds and runs properly. If there are any problems,
143 fix them and go back to step 7.
144
145 =item 11.
146
147 Tag the release by its release month ("MMMM-YY") and its code name.
148
149 $ git tag -a -m"tag release #nn" MMMM-YY # e.g., 2009-04
150 $ git tag -a -m"tag release #nn" CODENAME # e.g., "Bratislava"
79d0b9a Patrick R. Michaud Fix "git push --tags" in docs/release_guide.pod .
pmichaud authored
151 $ git push --tags
2f3a8ab Patrick R. Michaud Update docs/release_guide.pod with typical steps for cutting a release.
pmichaud authored
152
153 =item 12.
154
155 Upload the release tarball to github's download area at
156 http://github.com/rakudo/rakudo/downloads .
157
158 =item 13.
159
160 Publish the release announcement (from #5) above to appropriate
161 locations, including rakudo.org, use.perl, perl6-language,
162 perl6-announce, perl6-users, and others.
163
164 =item 14.
165
166 Update the Wikipedia entry at L<http://en.wikipedia.org/wiki/Rakudo>.
167
168 =item 15.
169
170 Promote the release anywhere else you think appropriate.
171
172 =item 16.
173
174 You're done! Celebrate with the appropriate amount of fun.
175
176 =back
381d26e Patrick R. Michaud Updates to docs/announce and docs/release_guide.pod .
pmichaud authored
177
f45384a Patrick R. Michaud First version of release_guide.pod, based on a proposed version
pmichaud authored
178 =head1 COPYRIGHT
2f3a8ab Patrick R. Michaud Update docs/release_guide.pod with typical steps for cutting a release.
pmichaud authored
179
f45384a Patrick R. Michaud First version of release_guide.pod, based on a proposed version
pmichaud authored
180 Copyright (C) 2009, The Perl Foundation.
2f3a8ab Patrick R. Michaud Update docs/release_guide.pod with typical steps for cutting a release.
pmichaud authored
181
f45384a Patrick R. Michaud First version of release_guide.pod, based on a proposed version
pmichaud authored
182 =cut
2f3a8ab Patrick R. Michaud Update docs/release_guide.pod with typical steps for cutting a release.
pmichaud authored
183
f45384a Patrick R. Michaud First version of release_guide.pod, based on a proposed version
pmichaud authored
184 # Local Variables:
185 # fill-column: 100
186 # End:
187 # vim: expandtab shiftwidth=4:
Something went wrong with that request. Please try again.