taskjuggler 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (443) hide show
  1. data/{tasks/missing.rake → .gemtest} +0 -0
  2. data/CHANGELOG +27 -0
  3. data/Rakefile +8 -9
  4. data/bin/tj3 +2 -1
  5. data/bin/tj3client +2 -1
  6. data/bin/tj3d +2 -1
  7. data/bin/tj3man +2 -1
  8. data/bin/tj3ss_receiver +2 -1
  9. data/bin/tj3ss_sender +2 -1
  10. data/bin/tj3ts_receiver +2 -1
  11. data/bin/tj3ts_sender +2 -1
  12. data/bin/tj3ts_summary +2 -1
  13. data/data/tjp.vim +425 -419
  14. data/examples/Fedora-20/f-20.tjp +2442 -0
  15. data/examples/Fedora-20/icons/fedoralogo.png +0 -0
  16. data/examples/Fedora-20/reports.tji +423 -0
  17. data/lib/header.tmpl +13 -0
  18. data/lib/taskjuggler/AppConfig.rb +5 -0
  19. data/lib/taskjuggler/Attributes.rb +22 -0
  20. data/lib/taskjuggler/Journal.rb +273 -10
  21. data/lib/taskjuggler/Log.rb +9 -8
  22. data/lib/taskjuggler/Project.rb +28 -60
  23. data/lib/taskjuggler/ProjectFileScanner.rb +2 -1
  24. data/lib/taskjuggler/PropertySet.rb +3 -0
  25. data/lib/taskjuggler/PropertyTreeNode.rb +4 -0
  26. data/lib/taskjuggler/Query.rb +2 -1
  27. data/lib/taskjuggler/Resource.rb +0 -103
  28. data/lib/taskjuggler/RichText/RTFQuery.rb +42 -4
  29. data/lib/taskjuggler/SheetHandlerBase.rb +0 -20
  30. data/lib/taskjuggler/SheetReceiver.rb +23 -21
  31. data/lib/taskjuggler/Task.rb +3 -5
  32. data/lib/taskjuggler/TaskJuggler.rb +4 -0
  33. data/lib/taskjuggler/TaskScenario.rb +81 -103
  34. data/lib/taskjuggler/TextParser/Scanner.rb +19 -18
  35. data/lib/taskjuggler/Tj3Config.rb +1 -1
  36. data/lib/taskjuggler/TjpSyntaxRules.rb +180 -45
  37. data/lib/taskjuggler/UTF8String.rb +30 -0
  38. data/lib/taskjuggler/apps/Tj3.rb +1 -1
  39. data/lib/taskjuggler/apps/Tj3Man.rb +54 -2
  40. data/lib/taskjuggler/reports/ICalReport.rb +4 -4
  41. data/lib/taskjuggler/reports/NikuReport.rb +6 -0
  42. data/lib/taskjuggler/reports/Report.rb +5 -5
  43. data/lib/taskjuggler/reports/ReportContext.rb +4 -2
  44. data/lib/taskjuggler/reports/ResourceListRE.rb +10 -1
  45. data/lib/taskjuggler/reports/StatusSheetReport.rb +3 -0
  46. data/lib/taskjuggler/reports/TableReport.rb +8 -3
  47. data/lib/taskjuggler/reports/TimeSheetReport.rb +3 -0
  48. data/lib/updateheader.sh +15 -0
  49. data/manual/Installation +11 -22
  50. data/manual/Software +17 -3
  51. data/manual/html/Day_To_Day_Juggling.html +359 -0
  52. data/manual/html/Getting_Started.html +62 -0
  53. data/manual/html/How_To_Contribute.html +88 -0
  54. data/manual/html/Installation.html +172 -0
  55. data/manual/html/Intro.html +74 -0
  56. data/manual/html/Reporting_Bugs.html +47 -0
  57. data/manual/html/Rich_Text_Attributes.html +174 -0
  58. data/manual/html/Software.html +147 -0
  59. data/manual/html/TaskJuggler_2x_Migration.html +71 -0
  60. data/manual/html/TaskJuggler_Internals.html +61 -0
  61. data/manual/html/The_TaskJuggler_Syntax.html +89 -0
  62. data/manual/html/Tutorial.html +498 -0
  63. data/manual/html/account.html +152 -0
  64. data/manual/html/account.task.html +68 -0
  65. data/manual/html/accountprefix.html +67 -0
  66. data/manual/html/active.html +66 -0
  67. data/manual/html/adopt.task.html +73 -0
  68. data/manual/html/alert level.html +66 -0
  69. data/manual/html/alert.html +66 -0
  70. data/manual/html/allocate.html +92 -0
  71. data/manual/html/alphabet.html +33 -0
  72. data/manual/html/alternative.html +77 -0
  73. data/manual/html/author.html +69 -0
  74. data/manual/html/balance.html +73 -0
  75. data/manual/html/booking.resource.html +122 -0
  76. data/manual/html/booking.task.html +120 -0
  77. data/manual/html/caption.html +96 -0
  78. data/manual/html/cellcolor.column.html +71 -0
  79. data/manual/html/celltext.column.html +68 -0
  80. data/manual/html/center.html +67 -0
  81. data/manual/html/charge.html +89 -0
  82. data/manual/html/chargeset.html +73 -0
  83. data/manual/html/columnid.html +358 -0
  84. data/manual/html/columns.html +73 -0
  85. data/manual/html/complete.html +80 -0
  86. data/manual/html/copyright.html +97 -0
  87. data/manual/html/credit.html +117 -0
  88. data/{benchmarks → manual/html}/css/tjmanual.css +0 -0
  89. data/{benchmarks → manual/html}/css/tjreport.css +0 -0
  90. data/manual/html/currency.html +120 -0
  91. data/manual/html/currencyformat.html +99 -0
  92. data/manual/html/dailymax.html +144 -0
  93. data/manual/html/dailymin.html +132 -0
  94. data/manual/html/dailyworkinghours.html +90 -0
  95. data/manual/html/date.extend.html +77 -0
  96. data/manual/html/date.html +100 -0
  97. data/manual/html/definitions.html +94 -0
  98. data/manual/html/depends.html +110 -0
  99. data/manual/html/details.html +69 -0
  100. data/manual/html/disabled.html +85 -0
  101. data/manual/html/duration.html +133 -0
  102. data/manual/html/efficiency.html +93 -0
  103. data/manual/html/effort.html +134 -0
  104. data/manual/html/email.html +68 -0
  105. data/manual/html/enabled.html +69 -0
  106. data/manual/html/end.column.html +67 -0
  107. data/manual/html/end.html +87 -0
  108. data/manual/html/end.limit.html +69 -0
  109. data/manual/html/end.report.html +99 -0
  110. data/manual/html/end.timesheet.html +94 -0
  111. data/manual/html/endcredit.html +110 -0
  112. data/manual/html/epilog.html +72 -0
  113. data/manual/html/export.html +197 -0
  114. data/manual/html/extend.html +87 -0
  115. data/manual/html/fail.html +69 -0
  116. data/manual/html/fdl.html +430 -0
  117. data/manual/html/flags.account.html +66 -0
  118. data/manual/html/flags.html +66 -0
  119. data/manual/html/flags.journalentry.html +66 -0
  120. data/manual/html/flags.report.html +66 -0
  121. data/manual/html/flags.resource.html +68 -0
  122. data/manual/html/flags.statussheet.html +66 -0
  123. data/manual/html/flags.task.html +68 -0
  124. data/manual/html/flags.timesheet.html +66 -0
  125. data/manual/html/fontcolor.column.html +71 -0
  126. data/manual/html/footer.html +72 -0
  127. data/manual/html/formats.html +80 -0
  128. data/manual/html/functions.html +78 -0
  129. data/manual/html/gapduration.html +93 -0
  130. data/manual/html/gaplength.html +93 -0
  131. data/manual/html/halign.center.html +66 -0
  132. data/manual/html/halign.column.html +67 -0
  133. data/manual/html/halign.left.html +66 -0
  134. data/manual/html/halign.right.html +66 -0
  135. data/manual/html/hasalert.html +71 -0
  136. data/manual/html/header.html +72 -0
  137. data/manual/html/headline.html +69 -0
  138. data/manual/html/hidejournalentry.html +69 -0
  139. data/manual/html/hidereport.html +67 -0
  140. data/manual/html/hideresource.html +73 -0
  141. data/manual/html/hidetask.html +73 -0
  142. data/manual/html/icalreport.html +137 -0
  143. data/manual/html/include.macro.html +70 -0
  144. data/manual/html/include.project.html +71 -0
  145. data/manual/html/include.properties.html +168 -0
  146. data/manual/html/index.html +18 -0
  147. data/manual/html/inherit.extend.html +68 -0
  148. data/manual/html/interval1.html +99 -0
  149. data/manual/html/interval2.html +98 -0
  150. data/manual/html/interval3.html +99 -0
  151. data/manual/html/interval4.html +100 -0
  152. data/manual/html/isactive.html +67 -0
  153. data/manual/html/ischildof.html +67 -0
  154. data/manual/html/isdependencyof.html +75 -0
  155. data/manual/html/isdutyof.html +71 -0
  156. data/manual/html/isfeatureof.html +71 -0
  157. data/manual/html/isleaf.html +66 -0
  158. data/manual/html/ismilestone.html +67 -0
  159. data/manual/html/isongoing.html +67 -0
  160. data/manual/html/isresource.html +66 -0
  161. data/manual/html/istask.html +66 -0
  162. data/manual/html/journalattributes.html +107 -0
  163. data/manual/html/journalentry.html +83 -0
  164. data/manual/html/journalmode.html +83 -0
  165. data/manual/html/left.html +66 -0
  166. data/manual/html/length.html +104 -0
  167. data/manual/html/limits.allocate.html +72 -0
  168. data/manual/html/limits.html +72 -0
  169. data/manual/html/limits.resource.html +80 -0
  170. data/manual/html/limits.task.html +113 -0
  171. data/manual/html/listitem.column.html +66 -0
  172. data/manual/html/listtype.column.html +79 -0
  173. data/manual/html/loadunit.html +99 -0
  174. data/manual/html/logicalexpression.html +110 -0
  175. data/manual/html/logicalflagexpression.html +82 -0
  176. data/manual/html/macro.html +103 -0
  177. data/manual/html/managers.html +109 -0
  178. data/manual/html/mandatory.html +66 -0
  179. data/manual/html/maxend.html +69 -0
  180. data/manual/html/maximum.html +99 -0
  181. data/manual/html/maxstart.html +69 -0
  182. data/manual/html/milestone.html +71 -0
  183. data/manual/html/minend.html +69 -0
  184. data/manual/html/minimum.html +99 -0
  185. data/manual/html/minstart.html +69 -0
  186. data/manual/html/monthlymax.html +99 -0
  187. data/manual/html/monthlymin.html +99 -0
  188. data/manual/html/navbar.html +513 -0
  189. data/manual/html/navigator.html +70 -0
  190. data/manual/html/newtask.html +83 -0
  191. data/manual/html/nikureport.html +216 -0
  192. data/manual/html/note.task.html +68 -0
  193. data/manual/html/now.html +67 -0
  194. data/manual/html/numberformat.html +85 -0
  195. data/manual/html/onend.html +68 -0
  196. data/manual/html/onstart.html +68 -0
  197. data/manual/html/opennodes.html +66 -0
  198. data/manual/html/overtime.booking.html +76 -0
  199. data/manual/html/period.column.html +67 -0
  200. data/manual/html/period.limit.html +69 -0
  201. data/manual/html/period.report.html +69 -0
  202. data/manual/html/period.task.html +69 -0
  203. data/manual/html/persistent.html +66 -0
  204. data/manual/html/precedes.html +86 -0
  205. data/manual/html/priority.html +114 -0
  206. data/manual/html/priority.timesheet.html +68 -0
  207. data/manual/html/project.html +88 -0
  208. data/manual/html/projectid.html +66 -0
  209. data/manual/html/projectid.task.html +68 -0
  210. data/manual/html/projectids.html +66 -0
  211. data/manual/html/projection.html +75 -0
  212. data/manual/html/prolog.html +72 -0
  213. data/manual/html/properties.html +64 -0
  214. data/manual/html/purge.html +69 -0
  215. data/manual/html/rate.html +66 -0
  216. data/manual/html/rate.resource.html +68 -0
  217. data/manual/html/reference.extend.html +77 -0
  218. data/manual/html/remaining.html +117 -0
  219. data/manual/html/replace.html +66 -0
  220. data/manual/html/report.html +333 -0
  221. data/manual/html/reportprefix.html +67 -0
  222. data/manual/html/resource.html +194 -0
  223. data/manual/html/resourceattributes.html +83 -0
  224. data/manual/html/resourceprefix.html +67 -0
  225. data/manual/html/resourcereport.html +69 -0
  226. data/manual/html/resourceroot.html +90 -0
  227. data/manual/html/resources.limit.html +82 -0
  228. data/manual/html/responsible.html +69 -0
  229. data/manual/html/richtext.extend.html +78 -0
  230. data/manual/html/right.html +66 -0
  231. data/manual/html/rollupresource.html +92 -0
  232. data/manual/html/rolluptask.html +69 -0
  233. data/manual/html/scale.column.html +87 -0
  234. data/manual/html/scenario.html +123 -0
  235. data/manual/html/scenario.ical.html +67 -0
  236. data/manual/html/scenarios.export.html +66 -0
  237. data/manual/html/scenarios.html +66 -0
  238. data/manual/html/scenariospecific.extend.html +68 -0
  239. data/manual/html/scheduled.html +68 -0
  240. data/manual/html/scheduling.html +74 -0
  241. data/manual/html/select.html +86 -0
  242. data/manual/html/selfcontained.html +66 -0
  243. data/manual/html/shift.html +128 -0
  244. data/manual/html/shift.resource.html +74 -0
  245. data/manual/html/shift.task.html +74 -0
  246. data/manual/html/shift.timesheet.html +70 -0
  247. data/manual/html/shifts.allocate.html +71 -0
  248. data/manual/html/shifts.resource.html +73 -0
  249. data/manual/html/shifts.task.html +73 -0
  250. data/manual/html/shorttimeformat.html +67 -0
  251. data/manual/html/sloppy.booking.html +77 -0
  252. data/manual/html/sloppy.projection.html +66 -0
  253. data/manual/html/sortjournalentries.html +81 -0
  254. data/manual/html/sortresources.html +73 -0
  255. data/manual/html/sorttasks.html +73 -0
  256. data/manual/html/start.column.html +67 -0
  257. data/manual/html/start.html +78 -0
  258. data/manual/html/start.limit.html +69 -0
  259. data/manual/html/start.report.html +69 -0
  260. data/manual/html/startcredit.html +68 -0
  261. data/manual/html/status.statussheet.html +73 -0
  262. data/manual/html/status.timesheet.html +91 -0
  263. data/manual/html/statussheet.html +124 -0
  264. data/manual/html/statussheetreport.html +125 -0
  265. data/manual/html/strict.projection.html +66 -0
  266. data/manual/html/summary.html +69 -0
  267. data/manual/html/supplement.html +108 -0
  268. data/manual/html/supplement.resource.html +195 -0
  269. data/manual/html/supplement.task.html +329 -0
  270. data/manual/html/tagfile.html +73 -0
  271. data/manual/html/task.html +320 -0
  272. data/manual/html/task.statussheet.html +74 -0
  273. data/manual/html/task.timesheet.html +89 -0
  274. data/manual/html/taskattributes.html +115 -0
  275. data/manual/html/taskprefix.html +67 -0
  276. data/manual/html/taskreport.html +69 -0
  277. data/manual/html/taskroot.html +103 -0
  278. data/manual/html/text.extend.html +77 -0
  279. data/manual/html/textreport.html +66 -0
  280. data/manual/html/timeformat.html +160 -0
  281. data/manual/html/timeoff.nikureport.html +71 -0
  282. data/manual/html/timesheet.html +129 -0
  283. data/manual/html/timesheetreport.html +107 -0
  284. data/manual/html/timezone.export.html +66 -0
  285. data/manual/html/timezone.html +72 -0
  286. data/manual/html/timezone.report.html +66 -0
  287. data/manual/html/timezone.shift.html +70 -0
  288. data/manual/html/timingresolution.html +71 -0
  289. data/manual/html/title.column.html +67 -0
  290. data/manual/html/title.html +68 -0
  291. data/manual/html/toc.html +1330 -0
  292. data/manual/html/tooltip.column.html +72 -0
  293. data/manual/html/trackingscenario.html +80 -0
  294. data/manual/html/treelevel.html +66 -0
  295. data/manual/html/vacation.html +71 -0
  296. data/manual/html/vacation.resource.html +73 -0
  297. data/manual/html/vacation.shift.html +71 -0
  298. data/manual/html/warn.html +69 -0
  299. data/manual/html/weeklymax.html +99 -0
  300. data/manual/html/weeklymin.html +99 -0
  301. data/manual/html/weekstartsmonday.html +66 -0
  302. data/manual/html/weekstartssunday.html +66 -0
  303. data/manual/html/width.column.html +66 -0
  304. data/manual/html/work.html +105 -0
  305. data/manual/html/workinghours.project.html +102 -0
  306. data/manual/html/workinghours.resource.html +79 -0
  307. data/manual/html/workinghours.shift.html +81 -0
  308. data/manual/html/yearlyworkingdays.html +70 -0
  309. data/spec/StatusSheets_spec.rb +0 -6
  310. data/spec/TimeSheets_spec.rb +0 -6
  311. data/spec/Tj3Daemon_spec.rb +2 -0
  312. data/spec/support/DaemonControl.rb +10 -0
  313. data/taskjuggler.gemspec +71 -0
  314. data/tasks/changelog.rake +2 -2
  315. data/tasks/gem.rake +50 -21
  316. data/tasks/manual.rake +1 -1
  317. data/tasks/rdoc.rake +5 -12
  318. data/tasks/spec.rake +1 -1
  319. data/tasks/test.rake +5 -8
  320. data/test/ReferenceGenerator.rb +91 -0
  321. data/test/TestSuite/CSV-Reports/refs/resourcereport.csv +4 -4
  322. data/test/TestSuite/ReportGenerator/Correct/Journal.tjp +21 -0
  323. data/test/TestSuite/ReportGenerator/Correct/JournalMode.tjp +124 -0
  324. data/test/TestSuite/ReportGenerator/Correct/refs/Alerts-1.csv +124 -124
  325. data/test/TestSuite/ReportGenerator/Correct/refs/Journal-1.csv +1 -7
  326. data/test/TestSuite/ReportGenerator/Correct/refs/Journal-2.csv +7 -3
  327. data/test/TestSuite/ReportGenerator/Correct/refs/JournalMode-1.csv +79 -0
  328. data/test/TestSuite/ReportGenerator/Correct/refs/JournalMode-2.csv +208 -0
  329. data/test/TjpGen.rb +152 -0
  330. metadata +1290 -741
  331. data/benchmarks/666tasks.tjp +0 -3183
  332. data/benchmarks/allocate.tjp +0 -30
  333. data/benchmarks/allocatedSlots.tjp +0 -1602
  334. data/benchmarks/booking.tjp +0 -76
  335. data/benchmarks/depends.tjp +0 -113
  336. data/benchmarks/gantt.tjp +0 -57
  337. data/benchmarks/htmltaskreport.tjp +0 -71
  338. data/benchmarks/icons/details.png +0 -0
  339. data/benchmarks/icons/flag-green.png +0 -0
  340. data/benchmarks/icons/flag-red.png +0 -0
  341. data/benchmarks/icons/flag-yellow.png +0 -0
  342. data/benchmarks/icons/resource.png +0 -0
  343. data/benchmarks/icons/resourcegroup.png +0 -0
  344. data/benchmarks/icons/task.png +0 -0
  345. data/benchmarks/icons/taskgroup.png +0 -0
  346. data/benchmarks/icons/trend-down.png +0 -0
  347. data/benchmarks/icons/trend-flat.png +0 -0
  348. data/benchmarks/icons/trend-up.png +0 -0
  349. data/benchmarks/runbench.rb +0 -30
  350. data/benchmarks/scripts/wz_tooltip.js +0 -1301
  351. data/gem_spec.rb +0 -37
  352. data/lib/exchangebug.rb +0 -42
  353. data/lib/ruby-signal-bug.rb +0 -55
  354. data/prj_cfg.rb +0 -50
  355. data/tasks/csts.rake +0 -72
  356. data/tasks/rcov.rake +0 -14
  357. data/tasks/rexml_fix.rb +0 -16
  358. data/tasks/rexml_fix_19.rb +0 -49
  359. data/tasks/show.rake +0 -21
  360. data/tasks/stats.rake +0 -25
  361. data/test/TestSuite/Export-Reports/refs/DST.tjp +0 -60
  362. data/test/TestSuite/Export-Reports/refs/ReleasePlan.tjp +0 -80
  363. data/test/TestSuite/Export-Reports/tp.tjp +0 -49
  364. data/test/TestSuite/HTML-Reports/Alerts.html +0 -424
  365. data/test/TestSuite/HTML-Reports/TimeSheet.html +0 -79
  366. data/test/TestSuite/HTML-Reports/css/tjmanual.css +0 -86
  367. data/test/TestSuite/HTML-Reports/css/tjreport.css +0 -413
  368. data/test/TestSuite/HTML-Reports/icons/details.png +0 -0
  369. data/test/TestSuite/HTML-Reports/icons/flag-green.png +0 -0
  370. data/test/TestSuite/HTML-Reports/icons/flag-red.png +0 -0
  371. data/test/TestSuite/HTML-Reports/icons/flag-yellow.png +0 -0
  372. data/test/TestSuite/HTML-Reports/icons/resource.png +0 -0
  373. data/test/TestSuite/HTML-Reports/icons/resourcegroup.png +0 -0
  374. data/test/TestSuite/HTML-Reports/icons/task.png +0 -0
  375. data/test/TestSuite/HTML-Reports/icons/taskgroup.png +0 -0
  376. data/test/TestSuite/HTML-Reports/icons/trend-down.png +0 -0
  377. data/test/TestSuite/HTML-Reports/icons/trend-flat.png +0 -0
  378. data/test/TestSuite/HTML-Reports/icons/trend-up.png +0 -0
  379. data/test/TestSuite/HTML-Reports/reference.html +0 -51
  380. data/test/TestSuite/HTML-Reports/scripts/wz_tooltip.js +0 -1301
  381. data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +0 -86
  382. data/test/TestSuite/ReportGenerator/Correct/css/tjreport.css +0 -413
  383. data/test/TestSuite/ReportGenerator/Correct/icons/details.png +0 -0
  384. data/test/TestSuite/ReportGenerator/Correct/icons/flag-green.png +0 -0
  385. data/test/TestSuite/ReportGenerator/Correct/icons/flag-red.png +0 -0
  386. data/test/TestSuite/ReportGenerator/Correct/icons/flag-yellow.png +0 -0
  387. data/test/TestSuite/ReportGenerator/Correct/icons/resource.png +0 -0
  388. data/test/TestSuite/ReportGenerator/Correct/icons/resourcegroup.png +0 -0
  389. data/test/TestSuite/ReportGenerator/Correct/icons/task.png +0 -0
  390. data/test/TestSuite/ReportGenerator/Correct/icons/taskgroup.png +0 -0
  391. data/test/TestSuite/ReportGenerator/Correct/icons/trend-down.png +0 -0
  392. data/test/TestSuite/ReportGenerator/Correct/icons/trend-flat.png +0 -0
  393. data/test/TestSuite/ReportGenerator/Correct/icons/trend-up.png +0 -0
  394. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +0 -26
  395. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +0 -2
  396. data/test/TestSuite/ReportGenerator/Correct/scripts/wz_tooltip.js +0 -1301
  397. data/test/TestSuite/Scheduler/Correct/Allocate.html +0 -1075
  398. data/test/TestSuite/Scheduler/Correct/Duration.html +0 -610
  399. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -85
  400. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +0 -413
  401. data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
  402. data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
  403. data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
  404. data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
  405. data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
  406. data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
  407. data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
  408. data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
  409. data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
  410. data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
  411. data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
  412. data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +0 -1301
  413. data/test/TestSuite/StatusSheetTemplates/project.tji +0 -35
  414. data/test/TestSuite/StatusSheetTemplates/project.tjp +0 -56
  415. data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/missing-reports +0 -2
  416. data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/resource1_2002-03-01.tji +0 -0
  417. data/test/TestSuite/StatusSheets/boss.tji +0 -45
  418. data/test/TestSuite/StatusSheets/boss_mail +0 -51
  419. data/test/TestSuite/StatusSheets/dev2_mail +0 -37
  420. data/test/TestSuite/StatusSheets/project.tjp +0 -275
  421. data/test/TestSuite/StatusSheets/run +0 -54
  422. data/test/TestSuite/Syntax/Correct/DST.tjp +0 -11
  423. data/test/TestSuite/Syntax/Correct/ReleasePlan.tjp +0 -32
  424. data/test/TestSuite/Syntax/Correct/css/tjmanual.css +0 -86
  425. data/test/TestSuite/Syntax/Correct/css/tjreport.css +0 -413
  426. data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
  427. data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
  428. data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
  429. data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
  430. data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
  431. data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
  432. data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
  433. data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
  434. data/test/TestSuite/Syntax/Correct/icons/trend-down.png +0 -0
  435. data/test/TestSuite/Syntax/Correct/icons/trend-flat.png +0 -0
  436. data/test/TestSuite/Syntax/Correct/icons/trend-up.png +0 -0
  437. data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +0 -1301
  438. data/test/TestSuite/TimeSheets/dev2_mail1 +0 -84
  439. data/test/TestSuite/TimeSheets/dev2_mail2 +0 -87
  440. data/test/TestSuite/TimeSheets/project.tjp +0 -271
  441. data/test/TestSuite/TimeSheets/receiver.log.mod +0 -1056
  442. data/test/TestSuite/TimeSheets/run +0 -76
  443. data/test/TestSuite/TimeSheets/uu.txt +0 -29
@@ -0,0 +1,2442 @@
1
+ # Fedora 20
2
+ #
3
+ # Copyright 2011 John Poelstra <poelstra@fedoraproject.org>
4
+ # Copyright 2011 Robyn Bergeron <rbergero@fedoraproject.org>
5
+ #
6
+ # Permission is hereby granted, free of charge, to any person
7
+ # obtaining a copy of this software and associated documentation files
8
+ # (the "Software"), to deal in the Software without restriction,
9
+ # including without limitation the rights to use, copy, modify, merge,
10
+ # publish, distribute, sublicense, and/or sell copies of the Software,
11
+ # and to permit persons to whom the Software is furnished to do so,
12
+ # subject to the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be
15
+ # included in all copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
21
+ # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
22
+ # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
23
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24
+ # SOFTWARE.
25
+ #
26
+
27
+ # Current release version
28
+ macro major [20]
29
+ # Last release version
30
+ macro previous_major[19]
31
+ # Next release version
32
+ macro next_major [21]
33
+ # do not change this
34
+ macro content [f]
35
+ # do not change this
36
+ macro content_title [Fedora]
37
+ # GA date of previous release
38
+ macro start_date [2013-04-30]
39
+ # set to one day after "start_date"
40
+ macro start_work [2013-05-01]
41
+ macro end_date [2014-12-31]
42
+ macro prior_project [f19]
43
+
44
+ project ${content}${major} "${content_title}" "${major}" ${start_date} - ${end_date} {
45
+ timeformat "%Y-%b-%d"
46
+
47
+ # Based on Eastern time zone in USA
48
+ timezone "America/New_York"
49
+
50
+ # Setup scenarios
51
+ scenario plan "Original Plan" {
52
+ scenario actual "Actual"
53
+ }
54
+
55
+ # Limit working days
56
+ workinghours sat,sun off
57
+ }
58
+
59
+ # ========= Cornerstones of Fedora Schedules =============
60
+ # This section also serves as a "style guide" for the source file too
61
+
62
+ /*
63
+ 1) EVERY entry should be in the following line order and indented consistently with the rest of the file. This makes the source file consistent and eaiser to read.
64
+ a) task name and description
65
+ b) dependency (if applicable)
66
+ c) length (not "duration") (if applicable)
67
+ d) flags (if applicable)
68
+
69
+ 2) Official Release Engineering Composes happen on Thursdays, except for the final release
70
+
71
+ 3) Syncing releases to mirrors ideally happens on Thursdays... end of day on Friday is worst case
72
+
73
+ 4) Most tasks are scheduled with 'length' instead of 'duration' to get a sense of "work days" required--using 'length' one week = 5 days
74
+ --an eternal debate could be held to discuss whether or not schedule calculations
75
+ should include weekends because community members work at all times and not within strict work days.
76
+
77
+ 5) Use "length" everywhere and "duration" only when something must take into account a weekend day
78
+
79
+ 6) All "Blocker Bug Days" should be on Fridays
80
+
81
+ 7) If a task takes one day or less--schedule with no length--this way it showes up as a milestone and gets included in iCalendar (ics) file
82
+
83
+ 8) Because of bugs in the way TaskJuggler ics files get rendered in some calendars (e.g. Zimbra) we only include zero length (milestone) tasks in the ics file. As a result there are several duplicate tasks with no length that have been added so they appear in the ics file.
84
+
85
+ 9) Use core schedule milestones (flags = key) as anchor points (depends/precedes) for tasks in this schedule file instead of more transient tasks like meetings, compose dates, etc. that may change (or slip) from release to release. This makes building new release schedules easier and require less maintenance and updating.
86
+
87
+ 10) In ALL but limited cases task beginning and ending should be automatically calculated based on logic in this file. When using hard coded dates, explicitly call them out with a comment to hightlight their existence. Hard coded dates are particularly troublesome when slipping a schedule or branching the file to create a new release schedule because they must be adjusted and recalculated manually
88
+
89
+ 11) TaskJuggler does not provide an easy way (that I am aware of) to schedule tasks to happen *before* other tasks. I've created a hack/methodology I call "shadow" tasks. These are unreported tasks that go backwards a certain period of time and serve as an anchor or starting point for the actual task to be reported.
90
+
91
+ 12) The "milestone" declaration is NOT used in this source file. It is redundant and unnecessary. Do not inlude it. All tasks without 'length' or 'duration' are automatically considered "milestone" tasks.
92
+
93
+ */
94
+
95
+ # Define flags for filtered reporting
96
+ flags ambassadors
97
+ flags bugtriage
98
+ flags blocker # use to proof blocker meeting placement
99
+ flags design
100
+ flags devel
101
+ flags docs
102
+ flags elections
103
+ flags fpl
104
+ flags hidden # used to hide tasks that we do not displayed in Fedora reports
105
+ flags infrastructure
106
+ flags interface
107
+ flags key /* use for report of key tasks/high level overview--reflected on Fedora wiki, e.g.
108
+ https://fedoraproject.org/wiki/Releases/15/Schedule */
109
+ flags proto # used for drafting new schedules and shows tasks useful for doing this
110
+ flags pm
111
+ flags pr
112
+ flags marketing
113
+ flags roadmap # major milestones
114
+ flags translation
115
+ flags quality
116
+ flags releng
117
+ flags spins
118
+ flags web
119
+
120
+ task ${content}${major} "${content_title} ${major}" {
121
+
122
+ start ${start_work}
123
+
124
+ task first_day "First Day of Development" {
125
+ flags hidden
126
+ }
127
+
128
+ task PlanningPhase "Planning Phase" {
129
+
130
+ # add for ical
131
+ task start_features_cal "Start Feature Submission" {
132
+ flags key, pm, roadmap
133
+ }
134
+
135
+ task rawhide_spins "Start Nightly Spins Compose Based on Rawhide" {
136
+ depends !!first_day {gaplength 5d}
137
+ flags spins
138
+ }
139
+
140
+ # ADJUST FOR NEW RELEASE
141
+ # HARDCODED date--approximately 2 weeks after GA of previous release
142
+ task file_ticket "File ticket with RHT Eng-ops for Fedora 17 EOL bugzilla closure" {
143
+ start 2013-05-15
144
+ flags pm
145
+ }
146
+
147
+ # ADJUST FOR NEW RELEASE
148
+ # HARDCODED date--approximately 4 weeks after GA of previous release
149
+ # this date is approved by FESCo in accordance with https://fedoraproject.org/wiki/LifeCycle
150
+ # The process behind this task is at: https://fedoraproject.org/wiki/BugZappers/HouseKeeping
151
+ task fedora17_eol "RHT Eng-Ops Fedora 17 EOL auto closure" {
152
+ start 2013-05-29
153
+ flags pm, key
154
+ }
155
+
156
+ task clean_market_wiki "Cleanup Marketing wiki from previous releases" {
157
+ depends !start_features_cal {gaplength 25d}
158
+ length 5d
159
+ flags marketing
160
+ }
161
+
162
+ task cycle_market_wiki "Cycle Marketing wiki pages for current release" {
163
+ depends !start_features_cal {gaplength 25d}
164
+ length 5d
165
+ flags marketing
166
+ }
167
+
168
+ task bug_trackers "Create Tracker Bugs" {
169
+ flags pm
170
+ note "See details at https://fedoraproject.org/wiki/BugZappers/HouseKeeping/FirstDayDevel"
171
+ }
172
+
173
+ task design_concept "Conceptual Design Phase" {
174
+ length 30d
175
+ flags design
176
+ }
177
+
178
+ # ADJUST FOR NEW RELEASE
179
+ # a solid start for the wallpaper is the goal for alpha
180
+ # adjust length so packaging end date lands on Alpha Deadline
181
+ task wallpaper_design "Wallpaper Design for Alpha" {
182
+ depends !design_concept
183
+ length 35d
184
+ flags design
185
+ }
186
+
187
+ } # E N D of PlanningPhase
188
+
189
+
190
+ task supplement_wallpaper "Supplemental Wallpaper Process" {
191
+ flags design
192
+
193
+ # ADJUST FOR NEW RELEASE
194
+ # adjust length of this task so that 'package_supplemental_wallpaper' ends on Beta Deadline
195
+ task supplement_wallpaper_submit "Supplemental Wallpaper Submission Period" {
196
+ length 82d
197
+ }
198
+
199
+ task decide_supplement_wallpaper "Select Official Supplemental Wallpaper" {
200
+ depends !supplement_wallpaper_submit
201
+ }
202
+
203
+ task supplement_license_review "Verify Supplemental Wallpaper Licenses" {
204
+ depends !decide_supplement_wallpaper {gaplength 1d}
205
+ length 10d
206
+ }
207
+
208
+ task package_supplemental_wallpaper "Package Supplemental Wallpaper" {
209
+ depends !supplement_license_review
210
+ length 2d
211
+ }
212
+
213
+ } # end supplemental wallpaper
214
+
215
+ task DevelopmentPhase "Development Phase" {
216
+ start ${start_work}
217
+
218
+ task devel_start "Start Development" {
219
+ flags devel
220
+ }
221
+
222
+ # ADJUST FOR NEW RELEASE--IMPORTANT
223
+ # The length of this task DRIVES THE ENTIRE SCHEDULE
224
+ # and determines when the testing phases starts. The testing
225
+ # phase of the schedule is static (and completely automatically
226
+ # generated by TaskJuggler) from release to release, but the
227
+ # number of days of development varies depending when the previous
228
+ # release ended (GA). As a result the length of this task also
229
+ # influences where the GA date lands.
230
+ # Each "5d" (5 days) is equivalent to one week.
231
+ task develop "Packaging and Development (precedes Alpha)" {
232
+ length 70d
233
+ flags devel, proto
234
+ }
235
+
236
+ } # E N D of DevelopmentPhase
237
+
238
+ task TestingPhase "Testing Phase" {
239
+
240
+ task alpha "Alpha Release" {
241
+
242
+ start ${start_work}
243
+
244
+ task shadow_alpha_blocker "SHADOW: anchor for first blocker meeting" {
245
+ precedes !feature_freeze {gaplength 11d}
246
+ flags hidden
247
+ }
248
+
249
+ task remind_alpha_blocker1 "Reminder: Alpha Blocker Meeting (${content}${major}alpha) #1" {
250
+ depends !shadow_alpha_blocker {gaplength 3d}
251
+ flags pm
252
+ }
253
+
254
+ task alpha_blocker1 "Alpha Blocker Meeting (${content}${major}alpha) #1" {
255
+ depends !shadow_alpha_blocker {gaplength 5d}
256
+ flags releng, quality, devel, blocker, pm
257
+ }
258
+
259
+ task remind_alpha_blocker2 "Reminder: Alpha Blocker Meeting (${content}${major}alpha) #2" {
260
+ depends !alpha_blocker1 {gaplength 3d}
261
+ flags pm
262
+ }
263
+
264
+ task alpha_blocker2 "Alpha Blocker Meeting (${content}${major}alpha) #2" {
265
+ depends !alpha_blocker1 {gaplength 5d}
266
+ flags releng, quality, devel, blocker, pm
267
+ }
268
+
269
+ # raise awareness one week before Alpha compose
270
+ task daily_alpha_blocker "Daily Review & Notification of Open Alpha Blocker Bugs" {
271
+ depends !alpha_blocker2 {gaplength 1d}
272
+ length 4d
273
+ flags releng, quality, devel, pm, blocker
274
+ }
275
+
276
+ task remind_alpha_blocker3 "Reminder: Alpha Blocker Meeting (${content}${major}alpha) #3" {
277
+ depends !alpha_blocker2 {gaplength 3d}
278
+ flags pm
279
+ }
280
+
281
+ task alpha_blocker3 "Alpha Blocker Meeting (${content}${major}alpha) #3" {
282
+ depends !alpha_blocker2 {gaplength 5d}
283
+ flags releng, quality, devel, pm, blocker
284
+ }
285
+
286
+ task remind_alpha_blocker4 "Reminder: Alpha Blocker Meeting (${content}${major}alpha) #4" {
287
+ depends !alpha_blocker3 {gaplength 3d}
288
+ flags pm
289
+ }
290
+
291
+ task alpha_blocker4 "Alpha Blocker Meeting (${content}${major}alpha) #4" {
292
+ depends !alpha_blocker3 {gaplength 5d}
293
+ flags releng, quality, devel, pm, blocker
294
+ }
295
+
296
+ # placeholder if slip--otherwise comment out
297
+ /*
298
+ task alpha_blocker5 "Alpha Blocker Meeting (${content}${major}alpha) #5" {
299
+ depends !alpha_blocker4 {gaplength 5d}
300
+ flags releng, quality, devel, pm, blocker
301
+ }
302
+ */
303
+
304
+ # Feature Freeze is one week before Alpha Change Deadline
305
+ # Automatically calculated based on Alpha Change Deadline
306
+ task shadow_feature_freeze "SHADOW: Anchor Feature Freeze" {
307
+ precedes !alpha_deadline {gaplength 6d}
308
+ flags hidden
309
+ }
310
+
311
+ task feature_freeze "Feature Freeze (Testable|Complete)" {
312
+ depends !shadow_feature_freeze
313
+ flags releng, quality, pm, proto, devel, key, marketing, roadmap, fpl
314
+ }
315
+
316
+ task feature_freeze_deadline_announce "Announce Feature Freeze Reached" {
317
+ depends !feature_freeze
318
+ flags pm
319
+ }
320
+
321
+ task alpha_deadline_remind "Remind Alpha Deadline in 1 week" {
322
+ depends !feature_freeze
323
+ flags pm
324
+ }
325
+
326
+ task spins_freeze "Spins Freeze--All ${content_title} ${major} Spins Identified" {
327
+ depends !shadow_feature_freeze
328
+ flags releng, quality, pm, proto, devel, key, marketing, spins, fpl
329
+ }
330
+
331
+ task talking_points "Create Talking Points" {
332
+ depends !feature_freeze {gaplength 6d}
333
+ length 5d
334
+ flags marketing
335
+ }
336
+
337
+
338
+ task feature_profiles "Feature Profiles" {
339
+ depends !talking_points
340
+ length 20d
341
+ flags marketing
342
+ }
343
+
344
+ # Branch on the same Tuesday as Feature Freeze
345
+ task branch_rawhide "Branch Fedora ${major} from Rawhide" {
346
+ depends !shadow_feature_freeze
347
+ flags releng, devel, pm, proto, key, roadmap, fpl
348
+ }
349
+
350
+ task bugzilla_descrption "Reflect supported versions in Bugzilla product description" {
351
+ depends !shadow_feature_freeze
352
+ flags pm
353
+ }
354
+
355
+ task rawhide_rebase "Rebase Rawhide bugs to Fedora ${major}" {
356
+ depends !shadow_feature_freeze
357
+ flags pm
358
+ }
359
+
360
+ # Create anchor for three weeks before for Feature Submission
361
+ task shadow_feature_submit_remind_3_weeks "SHADOW: Three Weeks Before Feature Submission" {
362
+ precedes !feature_submission_deadline {gaplength 15d}
363
+ flags hidden
364
+ }
365
+
366
+ # Three weeks before Feature Submission Deadline
367
+ task feature_check_remind "Request Feature Status Updates + Remind Submit Deadline" {
368
+ depends !shadow_feature_submit_remind_3_weeks
369
+ flags devel, pm
370
+ }
371
+
372
+ task alpha_releng_tickets "File All Release Engineering Tickets for ${content_title} ${major} Alpha" {
373
+ depends !shadow_feature_submit_remind_3_weeks {gaplength 3d}
374
+ flags releng
375
+ }
376
+
377
+ task feature_submit_remind_2_weeks "Feature Submission Deadline Two Weeks away" {
378
+ depends !shadow_feature_submit_remind_3_weeks {gaplength 6d}
379
+ flags devel, pm
380
+ }
381
+
382
+ #two weeks before spins submission deadilen get wiki pages in order
383
+ task spins_wiki_update "Update All Spins Wiki Pages From Previous Releases" {
384
+ depends !shadow_feature_submit_remind_3_weeks
385
+ flags spins
386
+ }
387
+
388
+ task feature_submit_remind_1_week "Feature Submission Deadline One Week away" {
389
+ depends !shadow_feature_submit_remind_3_weeks {gaplength 11d}
390
+ flags devel, pm
391
+ }
392
+
393
+ # One day before compose
394
+ task alpha_installer_build1 "Submit Installer Build for QA Compose" {
395
+ depends !feature_submit_remind_1_week {gaplength 1d}
396
+ flags devel
397
+ }
398
+
399
+ # Thursday before Feature Submission deadline
400
+ task qa_alpha_compose1 "Create Installable Images for QA testing #1" {
401
+ depends !feature_submit_remind_1_week {gaplength 2d}
402
+ flags releng
403
+ }
404
+
405
+ task alpha_rawhide_install1 "Pre-Alpha Rawhide Acceptance Test Plan #1" {
406
+ depends !qa_alpha_compose1
407
+ length 6d
408
+ flags quality
409
+ }
410
+
411
+ # Create anchor for two weeks before Feature Freeze
412
+ task shadow_feature_submission_deadline "SHADOW: Two weeks before Feature Freeze" {
413
+ precedes !feature_freeze {gaplength 10d}
414
+ flags hidden
415
+ }
416
+
417
+ task feature_submission_deadline "Feature Submission Deadline" {
418
+ depends !shadow_feature_submission_deadline
419
+ flags releng, quality, pm, proto, devel, key, roadmap, fpl
420
+ }
421
+
422
+ task feature_submission_deadline_announce "Announce Feature Submission Closed" {
423
+ depends !shadow_feature_submission_deadline
424
+ flags pm
425
+ }
426
+
427
+ task spins_submission_deadline "Custom Spins Submission Deadline" {
428
+ depends !shadow_feature_submission_deadline
429
+ flags pm, proto, key, spins, fpl
430
+ }
431
+
432
+ task warn_rawhide_rebase "Rawhide Rebase Warning to Package Maintainers" {
433
+ depends !shadow_feature_submission_deadline
434
+ flags pm
435
+ }
436
+
437
+ task ticket_rawhide_rebase "File Rawhide Rebase ticket with RHT Eng-ops" {
438
+ depends !shadow_feature_submission_deadline
439
+ flags pm
440
+ }
441
+
442
+ # One day before compose
443
+ task alpha_installer_build2 "Submit Installer Build for QA Compose" {
444
+ depends !feature_submission_deadline {gaplength 2d}
445
+ flags devel
446
+ }
447
+
448
+ task qa_alpha_compose2 "Create Installable Images for QA testing #2" {
449
+ depends !feature_submission_deadline {gaplength 3d}
450
+ flags releng
451
+ }
452
+
453
+ task alpha_rawhide_install2 "Pre-Alpha Rawhide Acceptance Test Plan #2" {
454
+ depends !qa_alpha_compose2
455
+ length 5d
456
+ flags quality
457
+ }
458
+
459
+ # One day before compose
460
+ task alpha_installer_build3 "Submit Installer Build for QA Compose" {
461
+ depends !qa_alpha_compose2 {gaplength 4d}
462
+ flags devel
463
+ }
464
+
465
+ task qa_alpha_compose3 "Create Installable Images for QA testing #3" {
466
+ depends !alpha_rawhide_install2
467
+ flags releng
468
+ }
469
+
470
+ task alpha_rawhide_install3 "Pre-Alpha Rawhide Acceptance Test Plan #3" {
471
+ depends !qa_alpha_compose3
472
+ length 5d
473
+ flags quality
474
+ }
475
+
476
+ task feature_incomplete_nag "Remind < 85% complete Feature Owners" {
477
+ depends !feature_freeze {gaplength 1d}
478
+ flags pm
479
+ }
480
+
481
+ task feature_incomplete_fesco "Deliver Incomplete Features to FESCo " {
482
+ depends !feature_freeze {gaplength 6d}
483
+ flags pm
484
+ }
485
+
486
+ # KEY ADJUSTMENT POINT
487
+ # Date of Alpha Deadline depends on length of development
488
+ task alpha_deadline "Alpha Change Deadline" {
489
+ depends !!!DevelopmentPhase.develop
490
+ flags releng, quality, pm, devel, key, roadmap, proto, blocker, spins
491
+ }
492
+
493
+ task alpha_deadline_announce "Announce Alpha Change Deadline Reached" {
494
+ depends !alpha_deadline
495
+ flags pm
496
+ }
497
+
498
+ # KEY ADJUSTMENT POINT--manually adjust if length of time before Alpha ships changes
499
+ task alpha_infrastructure_freeze "Alpha Infrastructure Change Freeze" {
500
+ depends !alpha_deadline
501
+ length 10d
502
+ flags infrastructure
503
+ }
504
+
505
+ task alpha_spins_ks "Build spin-kickstarts package from master" {
506
+ depends !alpha_deadline
507
+ flags spins
508
+ }
509
+
510
+ # Happens the same day as Feature Freeze
511
+ task orphan "Orphan Rawhide Packages" {
512
+ depends !feature_freeze
513
+ flags releng, devel
514
+ }
515
+
516
+ task finalize_alpha_wallpaper "Finalize Alpha Wallpaper" {
517
+ depends !!!PlanningPhase.wallpaper_design
518
+ flags design, pm
519
+ length 3d
520
+ }
521
+
522
+ task alpha_wallpaper_deadline "Alpha Wallpaper Deadline" {
523
+ depends !finalize_alpha_wallpaper
524
+ flags design
525
+ }
526
+
527
+ task blog_alpha_wallpaper "Blog About Alpha Wallpaper" {
528
+ depends !finalize_alpha_wallpaper
529
+ flags design
530
+ }
531
+
532
+ # must land a few days before Alpha compose by Releng
533
+ task package_alpha_wallpaper "Package Alpha Wallpaper" {
534
+ depends !finalize_alpha_wallpaper
535
+ length 2d
536
+ flags design
537
+ }
538
+
539
+ task alpha_wallpaper_feedback "Solicit Feedback on Alpha Wallpaper" {
540
+ depends !package_alpha_wallpaper
541
+ length 10d
542
+ flags design
543
+ }
544
+
545
+ # depends on nearly complete version of the wallpaper, otherwise
546
+ # you have to create the splashes twice
547
+ # work on until Beta freeze
548
+ task start_splash_screens "Create Splash Screens" {
549
+ depends !alpha_drop
550
+ length 9d
551
+ flags design
552
+ }
553
+
554
+ # for ics file
555
+ task start_splash_screens_cal "Start Splash Screens" {
556
+ depends !alpha_drop
557
+ flags design
558
+ }
559
+
560
+ # work on until Beta freeze
561
+ task finalize_splash_screens "Finalize Splash Screens" {
562
+ depends !start_splash_screens
563
+ length 4d
564
+ flags design
565
+ }
566
+
567
+ # work on until Beta freeze
568
+ task beta_wallpaper "Prepare wallpaper for Beta" {
569
+ depends !alpha_drop
570
+ length 13d
571
+ flags design
572
+ }
573
+
574
+ # send reminder on Monday before Wednesday meeting
575
+ task remind_alpha_go_not "Reminder: ${content_title} ${major} Alpha Go/No-Go Meeting" {
576
+ depends !create_alpha_compose {gaplength 2d}
577
+ flags pm
578
+ }
579
+
580
+ task alpha_go_not "${content_title} ${major} Alpha Go/No-Go Meeting (17:00 US Eastern)" {
581
+ depends !create_alpha_compose {gaplength 4d}
582
+ flags releng, quality, devel, pm, proto, blocker
583
+ }
584
+
585
+ task trans_software_rebuild1 "Remind f-dev-announce to Rebuild All Translated Packages" {
586
+ depends !feature_freeze {gaplength 5d }
587
+ flags translation
588
+ }
589
+
590
+ task software_string_freeze "Software String Freeze" {
591
+ depends !feature_freeze {gaplength 6d }
592
+ flags devel, translation, pm, proto, releng, key, roadmap
593
+ }
594
+
595
+ task announce_software_string_freeze "Announce Software String Freeze Reached" {
596
+ depends !feature_freeze {gaplength 6d }
597
+ flags pm
598
+ }
599
+
600
+ task software_translation "Software Translation"{
601
+
602
+ # KEY ADJUSTMENT POINT
603
+ # if the alpha slips, add additional time to this task (or maybe not - this may be attached to string freeze dates increasing - double check this! -robyn)
604
+ task trans_software "Software Translation Period" {
605
+ depends !!software_string_freeze
606
+ length 25d
607
+ flags translation
608
+ }
609
+
610
+ # KEY ADJUSTMENT POINT
611
+ # If the alpha slips, add additional time to 'gaplength' for this task which essentially extends the freeze
612
+ task remind_build_trans_software "Remind f-dev-announce to build F${major} collection pkgs for trans team" {
613
+ depends !!software_string_freeze {gaplength 9d}
614
+ flags translation
615
+ }
616
+
617
+ task request_review_image "Create Rel-Eng ticket for Live Image compose for Software Review UI" {
618
+ depends !remind_build_trans_software {gaplength 4d}
619
+ flags translation
620
+ }
621
+
622
+ task build_trans_software "Build F-${major} collection packages for all language translators" {
623
+ depends !request_review_image
624
+ flags releng, devel
625
+ }
626
+
627
+ task compose_review_image "Compose of Live Image of Software Review UI for Translation" {
628
+ depends !build_trans_software
629
+ flags releng
630
+ }
631
+
632
+ task trans_software_review "Review and correct software translation in built UI" {
633
+ depends !build_trans_software {gaplength 1d}
634
+ length 6d
635
+ flags translation
636
+ }
637
+
638
+ task trans_software_rebuild2 "Remind f-dev-announce to Rebuild All Translated Packages" {
639
+ depends !trans_software_review
640
+ flags translation
641
+ }
642
+
643
+ # Should land one week before the "Beta Change Deadline"--affected by "remind_build_trans_software"
644
+ # Double check after adjusting "trans_software" or length of Alpha tasks for a slip
645
+ task trans_software_deadline "Software: Translation Deadline (PO Files complete)" {
646
+ depends !trans_software_review
647
+ flags translation, roadmap, key
648
+ }
649
+
650
+ # for ical file
651
+ task start_trans_rebuild "Software: Start Rebuild all translated packages" {
652
+ depends !trans_software_deadline
653
+ flags devel
654
+ }
655
+
656
+ task trans_rebuild "Software: Rebuild all translated packages" {
657
+ depends !trans_software_deadline
658
+ length 5d
659
+ flags devel
660
+ }
661
+
662
+ } #end software_translation
663
+
664
+ # Send reminder on Monday before Thursday meeting
665
+ task alpha_meeting_reminder "Reminder: Alpha Release Readiness Meeting" {
666
+ depends !feature_freeze {gaplength 10d}
667
+ flags pm
668
+ }
669
+
670
+ task alpha_meeting "${content_title} ${major} Alpha Release Readiness Meeting" {
671
+ depends !alpha_meeting_reminder {gaplength 3d}
672
+ flags releng, pm, quality, docs, design, translation, marketing, web
673
+ }
674
+
675
+ # land on a Tuesday
676
+ task shadow_before_alpha_compose "SHADOW: 1.5 weeks before Alpha Compose" {
677
+ precedes !create_alpha_compose {gaplength 8d}
678
+ flags hidden
679
+ }
680
+
681
+ task create_alpha_tc "Create Alpha Test Compose (TC)" {
682
+ depends !shadow_before_alpha_compose
683
+ flags releng, proto
684
+ }
685
+
686
+ # test Wed to Wed
687
+ task test_alpha_tc "Test Alpha 'Test Compose'" {
688
+ depends !create_alpha_tc {gaplength 1d}
689
+ length 6d
690
+ flags quality, proto
691
+ }
692
+
693
+ task alpha_kernel_build "Submit Kernel Build for Alpha RC Compose" {
694
+ depends !alpha_deadline
695
+ flags devel
696
+ }
697
+
698
+ task alpha_installer_build "Submit Installer Build for Alpha RC Compose" {
699
+ depends !alpha_deadline {gaplength 1d}
700
+ flags devel
701
+ }
702
+
703
+ task create_alpha_compose "Compose Alpha Candidate" {
704
+ depends !alpha_deadline {gaplength 2d}
705
+ flags releng, proto
706
+ }
707
+
708
+ task test_alpha_candidate "Test Alpha Candidate" {
709
+ depends !create_alpha_compose
710
+ length 5d
711
+ flags quality, proto
712
+ }
713
+
714
+ # for ical file
715
+ task start_stage_alpha "Start Stage & Sync Alpha to Mirrors" {
716
+ depends !test_alpha_candidate
717
+ flags releng
718
+ }
719
+
720
+ task notify_mirrors_alpha "Notify Mirrors of ${content_title} ${major} Alpha" {
721
+ depends !start_stage_alpha {gaplength 1d}
722
+ flags releng
723
+ }
724
+
725
+ task stage_alpha "Stage & Sync Alpha to Mirrors" {
726
+ depends !test_alpha_candidate
727
+ length 3d
728
+ flags releng, proto
729
+ }
730
+
731
+ task alpha_export_control "Alpha Export Control Reporting" {
732
+ depends !start_stage_alpha {gaplength 1d}
733
+ flags releng, pm
734
+ }
735
+
736
+ task alpha_announce "Create Alpha Announcement (Marketing & Docs)" {
737
+ depends !alpha_meeting
738
+ length 2d
739
+ flags docs, marketing
740
+ }
741
+
742
+ task alpha_drop "Alpha Public Availability" {
743
+ depends !stage_alpha
744
+ flags releng, docs, quality, design, pm, proto, devel, key, marketing, roadmap, spins, blocker, infrastructure, fpl
745
+ }
746
+
747
+ task ambassador_start "FAmSCo heads Ambassador Wide Meetings Preparing For ${content_title} ${major}" {
748
+ depends !alpha_drop {gaplength 7d}
749
+ length 5d
750
+ flags ambassadors
751
+ }
752
+
753
+ task start_swag "FAmSCo and Regional teams call for Preparation of Media/SWAG" {
754
+ depends !alpha_drop {gaplength 7d}
755
+ flags ambassadors
756
+ }
757
+
758
+ task swag_poc "Regional Team Meetings and Select POC for Swag/Media production" {
759
+ depends !alpha_drop {gaplength 8d}
760
+ length 5d
761
+ flags ambassadors
762
+ }
763
+
764
+ task swag_funding_request "Regional Teams Submit Funding Request For Swag/Media Production" {
765
+ depends !alpha_drop {gaplength 8d}
766
+ length 5d
767
+ flags ambassadors
768
+ }
769
+
770
+ # this task was proposed by Mike McGrath and to be performed by FES
771
+ task nvr_testing "NVR Update Check testing" {
772
+ depends !stage_alpha
773
+ length 1d
774
+ flags quality
775
+ }
776
+
777
+ # KEY ADJUSTMENT POINT
778
+ task alpha_release_notes "Alpha Release Notes" {
779
+
780
+ # create for ical
781
+ task start_alpha_beats "Start Alpha Beat and Feature Page Review" {
782
+ depends !!feature_freeze {gaplength 6d}
783
+ flags docs, quality
784
+ }
785
+
786
+ task validate_beat_writers "Validate Former Beat Writers" {
787
+ depends !!feature_freeze
788
+ length 5d
789
+ flags docs
790
+ }
791
+
792
+ task recruite_beat_writers "Recruit New Beat Writers" {
793
+ depends !validate_beat_writers
794
+ length 5d
795
+ flags docs
796
+ }
797
+
798
+ task comb_alpha_beats "Comb Beats and Feature Pages for Alpha" {
799
+ depends !start_alpha_beats
800
+ length 2d
801
+ flags docs, quality
802
+ }
803
+
804
+ task notify_devel_relnotes "Notify Development About Alpha Release Notes" {
805
+ depends !!alpha_deadline
806
+ flags docs
807
+ }
808
+
809
+ # KEY ADJUSTMENT POINT
810
+ # Beta release notes depend on this task
811
+ # If alpha candidate is not ready on time add extra time for the release notes here
812
+ task prep_alpha_notes "Prepare Alpha Release Notes (1 page)" {
813
+ depends !comb_alpha_beats
814
+ length 6d
815
+ flags docs, quality
816
+ }
817
+
818
+ task post_notes "Post Alpha Release Notes One-Page" {
819
+ depends !prep_alpha_notes {gaplength 1d}
820
+ flags docs
821
+ }
822
+
823
+ } #end alpha_release_notes
824
+
825
+
826
+ # two days to create web banner
827
+ # one day for websites team to add to www.fedoraproject.org
828
+ # should be live one day before the release
829
+ task alpha_banner "Alpha Release Banner" {
830
+ precedes !alpha_drop {gaplength 3d}
831
+
832
+ task alpha_create_banner "Create Alpha Website Banner" {
833
+ length 2d
834
+ flags design
835
+ }
836
+
837
+ task alpha_publish_banner "Add Alpha Banner to Website" {
838
+ length 1d
839
+ flags web
840
+ }
841
+ }
842
+
843
+ # KEY ADJUSTMENT POINT
844
+ # Three weeks for Alpha Testing
845
+ # IF "Beta Deadline" is missed the length of this task is extended--
846
+ # in that case corresponding change needs to be made to "software_translation" task
847
+ task test_alpha "Alpha Testing" {
848
+ depends !stage_alpha
849
+ length 15d
850
+ flags quality, proto
851
+ }
852
+
853
+ task review_bookmarks "Review Firefox Bookmarks For Update" {
854
+ depends !stage_alpha
855
+ length 5d
856
+ flags marketing
857
+ }
858
+
859
+ task update_bookmarks "Update and Package Firefox Bookmarks" {
860
+ depends !review_bookmarks
861
+ length 2d
862
+ flags marketing
863
+ }
864
+
865
+ task tag_bookmarks "Tag Updated Bookmarks Package for ${content_title} ${major}" {
866
+ depends !update_bookmarks
867
+ flags marketing
868
+ }
869
+
870
+ # Explicit task to mark end of alpha
871
+ # Also permits subsequent tasks to cleanly depend on it using "precedes" (because it is zero length)
872
+ task alpha_end "End of Alpha Testing" {
873
+ depends !test_alpha
874
+ flags quality
875
+ }
876
+
877
+ task beta_marketing_notes "Marketing: Beta One Page Release Notes" {
878
+ depends !alpha_end {gaplength 5d}
879
+ length 5d
880
+ flags marketing
881
+ }
882
+
883
+ }
884
+
885
+ task beta "Beta Release" {
886
+
887
+ # KEY ADJUSTMENT POINT--if the Alpha slips, make sure the blocker meeting
888
+ # tasks continue to line up correctly
889
+ # Once the Alpha is staged, start holding Blocker meetings for the Beta
890
+
891
+ task remind_beta_blocker1 "Reminder: Beta Blocker Meeting (${content}${major}beta) #1" {
892
+ depends !!alpha.create_alpha_compose {gaplength 9d }
893
+ flags pm
894
+ }
895
+
896
+ task beta_blocker1 "Beta Blocker Meeting (${content}${major}beta) #1" {
897
+ depends !!alpha.stage_alpha {gaplength 3d }
898
+ flags quality, releng, devel, pm, blocker
899
+ }
900
+
901
+ task beta_releng_tickets "File All Release Engineering Tickets for ${content_title} ${major} Beta" {
902
+ depends !!alpha.stage_alpha {gaplength 2d }
903
+ flags releng
904
+ }
905
+
906
+ task remind_beta_blocker2 "Reminder: Beta Blocker Meeting (${content}${major}beta) #2" {
907
+ depends !beta_blocker1 {gaplength 3d}
908
+ flags pm
909
+ }
910
+
911
+ task beta_blocker2 "Beta Blocker Meeting (${content}${major}beta) #2" {
912
+ depends !beta_blocker1 {gaplength 5d}
913
+ flags releng, quality, devel, pm, blocker
914
+ }
915
+
916
+ # raise awareness one week before Beta compose
917
+ task daily_beta_blocker "Daily Review & Notification of Open Beta Blocker Bugs" {
918
+ depends !beta_blocker2 {gaplength 1d}
919
+ length 4d
920
+ flags releng, quality, devel, pm, blocker
921
+ }
922
+
923
+ task remind_beta_blocker3 "Reminder: Beta Blocker Meeting (${content}${major}beta) #3" {
924
+ depends !beta_blocker2 {gaplength 3d}
925
+ flags pm
926
+ }
927
+
928
+ task beta_blocker3 "Beta Blocker Meeting (${content}${major}beta) #3" {
929
+ depends !beta_blocker2 {gaplength 5d}
930
+ flags releng, quality, devel, pm, blocker
931
+ }
932
+
933
+ task remind_beta_blocker4 "Reminder: Beta Blocker Meeting (${content}${major}beta) #4" {
934
+ depends !beta_blocker3 {gaplength 3d}
935
+ flags pm
936
+ }
937
+
938
+ task beta_blocker4 "Beta Blocker Meeting (${content}${major}beta) #4" {
939
+ depends !beta_blocker3 {gaplength 5d}
940
+ flags releng, quality, devel, pm, blocker
941
+ }
942
+
943
+ # Create anchor one week before for Beta Deadline
944
+ task shadow_beta_deadline "SHADOW: one week before Beta Deadeline" {
945
+ precedes !beta_deadline {gaplength 6d}
946
+ flags hidden
947
+ }
948
+
949
+ task remind_beta_deadline "Remind Beta Deadline in 1 week" {
950
+ depends !shadow_beta_deadline
951
+ flags pm
952
+ }
953
+
954
+ task remind_final_freatures "Remind Features 100% Complete in 1 week" {
955
+ depends !shadow_beta_deadline
956
+ flags pm
957
+ }
958
+
959
+ task beta_spins_ks "Build spin-kickstarts package from master" {
960
+ depends !shadow_beta_deadline
961
+ flags spins
962
+ }
963
+
964
+ task coordinate_swag_design "FAmSCo Coordinate Media/Swag/Poster artwork with Design team" {
965
+ depends !shadow_beta_deadline {gaplength 5d}
966
+ length 10d
967
+ flags ambassadors
968
+ }
969
+
970
+ # Two weeks before the public Beta Release
971
+ task beta_deadline "Beta Change Deadline" {
972
+ depends !!alpha.test_alpha
973
+ flags releng, docs, quality, pm, proto, devel, key, marketing, spins, roadmap
974
+ }
975
+
976
+ task feature_complete "Features 100% Complete Deadline" {
977
+ depends !!alpha.test_alpha
978
+ flags releng, docs, quality, pm, proto, devel, key, marketing, roadmap, fpl
979
+ }
980
+
981
+ # KEY ADJUSTMENT POINT--manually adjust if length of time before Beta ships changes
982
+ task beta_infrastructure_freeze "Beta Infrastructure Change Freeze" {
983
+ depends !!alpha.test_alpha
984
+ length 10d
985
+ flags infrastructure, releng
986
+ }
987
+
988
+ task announce_beta_deadline "Announce Beta Deadline & Feature Complete" {
989
+ depends !!alpha.test_alpha
990
+ flags pm
991
+ }
992
+
993
+ task final_feature_fesco "Deliver features < 100% to FESCo" {
994
+ depends !beta_deadline {gaplength 1d}
995
+ flags pm
996
+ }
997
+
998
+ task brief_ambassadors "Brief Ambassadors on upcoming release" {
999
+ depends !beta_deadline {gaplength 5d}
1000
+ length 5d
1001
+ flags marketing
1002
+ }
1003
+
1004
+ # The Release Slogan is created by the Marketing team based on
1005
+ # the initial artwork theme. The Design Team needs to know
1006
+ # the slogan to create the release banners
1007
+
1008
+ # prepare 6 weeks before GA (2 weeks of work)
1009
+ # go live 1 month before GA
1010
+ # KEY ADJUSTMENT POINT
1011
+ task create_countdown "Create Count Down Graphic" {
1012
+ depends !beta_deadline
1013
+ length 10d
1014
+ flags design
1015
+ }
1016
+
1017
+ task publish_countdown "Publish Count Down Graphic" {
1018
+ depends !create_countdown
1019
+ length 1d
1020
+ flags web
1021
+ }
1022
+
1023
+ task beta_release_notes "Beta Release Notes" {
1024
+
1025
+ task unclaimed_beats "Write Unclaimed Wiki Beats" {
1026
+ depends !!!alpha.alpha_drop
1027
+ length 6d
1028
+ flags docs
1029
+ }
1030
+
1031
+ task port_wiki_publican "Port Wiki to Publican" {
1032
+ depends !unclaimed_beats {gaplength 1d}
1033
+ length 3d
1034
+ flags docs
1035
+ }
1036
+
1037
+ task remind_trans_beta_notes "Remind Translation: Beta Rel Notes POT Coming" {
1038
+ depends !unclaimed_beats
1039
+ flags docs
1040
+ }
1041
+
1042
+ task start_release_notes_pot1 "Start nightly POT files all fed-rel-notes.rpm content" {
1043
+ depends !port_wiki_publican {gaplength 1d}
1044
+ flags docs
1045
+ }
1046
+
1047
+ task release_notes_pot1 "Generate nightly POT files all fed-rel-notes.rpm content" {
1048
+ depends !port_wiki_publican {gaplength 1d}
1049
+ length 13d
1050
+ flags docs
1051
+ }
1052
+
1053
+ task remind_devel_beta_notes"Remind announce-list & f-devel-announce: Wiki Freeze" {
1054
+ depends !unclaimed_beats {gaplength 1d}
1055
+ flags docs
1056
+ }
1057
+
1058
+ task beta_wiki_freeze "Wiki Freeze: Beta Release Notes" {
1059
+ depends !remind_devel_beta_notes {gaplength 2d}
1060
+ flags docs
1061
+ }
1062
+
1063
+ task trans_release_notes "Translate Beta Release Notes" {
1064
+ depends !port_wiki_publican {gaplength 1d}
1065
+ length 14d
1066
+ flags translation
1067
+ }
1068
+
1069
+ # KEY ADJUSTMENT POINT
1070
+ task build_trans_review "Ongoing build translation review htmls" {
1071
+ depends !beta_wiki_freeze
1072
+ length 5d
1073
+ flags docs
1074
+ }
1075
+
1076
+ # KEY ADJUSTMENT POINT
1077
+ task trans_review_beta "Review and correct Beta Release Notes (daily buids html)" {
1078
+ depends !beta_wiki_freeze
1079
+ length 5d
1080
+ flags translation
1081
+ }
1082
+
1083
+ task trans_release_notes_deadline "Translation Deadline: Beta Release Notes (PO Files complete)" {
1084
+ depends !trans_review_beta
1085
+ flags translation, docs
1086
+ }
1087
+
1088
+ task build_beta_relnotes "Build f-r-n.rpm and Push to updates-candidate" {
1089
+ depends !trans_release_notes_deadline
1090
+ length 2d
1091
+ flags docs, translation
1092
+ }
1093
+
1094
+ task final_release_notes_reminder "Reminder: Send Project Wide-Final Release Notes Deadlines" {
1095
+ depends !!beta_deadline {gaplength 7d}
1096
+ flags docs
1097
+ }
1098
+
1099
+ # one day before release which is 2D after meeting
1100
+ task web_notes "Build and Post Beta release-notes to docs.fedoraproject.org" {
1101
+ depends !!beta_meeting {gaplength 2d}
1102
+ flags docs
1103
+ }
1104
+
1105
+ # one day before release which is 2D after meeting
1106
+ task tech_web_notes "Build and Post Fedora Technical Notes to docs.fedoraproject.org" {
1107
+ depends !!beta_meeting {gaplength 2d}
1108
+ flags docs
1109
+ }
1110
+
1111
+ } # end beta_release_notes
1112
+
1113
+
1114
+ task splash_deadline "Deadline: Beta Splash Screens" {
1115
+ depends !!alpha.finalize_splash_screens
1116
+ flags design
1117
+ }
1118
+
1119
+ task package_final_splash "Package: Beta Splash Screens" {
1120
+ depends !!alpha.finalize_splash_screens
1121
+ length 2d
1122
+ flags design
1123
+ }
1124
+
1125
+ task package_beta_wallpaper "Package: Beta Wallpaper"{
1126
+ depends !!alpha.beta_wallpaper
1127
+ length 2d
1128
+ flags design
1129
+ }
1130
+
1131
+ task package_supplemental_wallpaper "Package: Supplemental Wallpaper"{
1132
+ depends !!alpha.beta_wallpaper
1133
+ flags design
1134
+ }
1135
+
1136
+ task beta_meeting_announce "Announce: Beta Release Readiness Meeting" {
1137
+
1138
+ flags pm
1139
+ }
1140
+
1141
+ # KEY ADJUSTMENT POINT if Beta Deadline changes
1142
+ task beta_meeting_reminder "Reminder: Beta Release Readiness Meeting" {
1143
+ depends !beta_deadline {gaplength 4d}
1144
+ flags pm
1145
+ }
1146
+
1147
+ task beta_meeting "${content_title} ${major} Beta Release Readiness Meeting" {
1148
+ depends !beta_meeting_reminder {gaplength 3d}
1149
+ flags releng, pm, quality, docs, design, translation, marketing, web
1150
+ }
1151
+
1152
+ task beta_announce "Create Beta Announcement (Docs & Marketing)" {
1153
+ depends !beta_meeting
1154
+ length 2d
1155
+ flags docs, marketing
1156
+ }
1157
+
1158
+ # placeholder if slip
1159
+ # task beta_blocker4 "Beta Blocker Day (${content}${major}beta) #4" {
1160
+ # depends !!beta_blocker3 {gaplength 5d}
1161
+ # flags releng, quality, devel, pm, blocker
1162
+ # }
1163
+
1164
+
1165
+ task shadow_before_beta_compose "SHADOW: 1.5 weeks before Beta Compose" {
1166
+ precedes !create_beta_compose {gaplength 9d} # with 'precedes', gaplength pushes date backwards
1167
+ flags hidden
1168
+ }
1169
+
1170
+ task beta_installer_build1 "Submit Installer Build for Beta TC Compose" {
1171
+ depends !shadow_before_beta_compose
1172
+ flags devel
1173
+ }
1174
+
1175
+ task create_beta_tc "Create Beta Test Compose (TC)" {
1176
+ depends !shadow_before_beta_compose {gaplength 2d}
1177
+ flags releng, proto
1178
+ }
1179
+
1180
+ task test_beta_tc "Test Beta 'Test Compose'" {
1181
+ depends !create_beta_tc
1182
+ length 6d
1183
+ flags quality, proto
1184
+ }
1185
+
1186
+ task beta_rawhide_install "Pre-Beta Acceptance Test Plan" {
1187
+ precedes !create_beta_tc
1188
+ length 5d
1189
+ flags quality
1190
+ }
1191
+
1192
+ task remind_beta_go_not "Reminder: ${content_title} ${major} Beta Go/No-Go Meeting" {
1193
+ depends !create_beta_compose {gaplength 2d}
1194
+ flags pm
1195
+ }
1196
+
1197
+ task beta_go_not "${content_title} ${major} Beta Go/No-Go Meeting (17:00 US Eastern)" {
1198
+ depends !create_beta_compose {gaplength 4d}
1199
+ flags releng, quality, devel, pm, proto, blocker
1200
+ }
1201
+
1202
+ task beta_kernel_build "Submit Kernel Build for Beta RC Compose" {
1203
+ depends !beta_deadline
1204
+ flags devel
1205
+ }
1206
+
1207
+ task beta_installer_build "Submit Installer Build for Beta RC Compose" {
1208
+ depends !beta_deadline {gaplength 1d}
1209
+ flags devel
1210
+ }
1211
+
1212
+ # KEY ADJUSTMENT POINT if Beta release date slips--add more time to this task
1213
+ task create_beta_compose "Compose Beta Candidate" {
1214
+ depends !beta_deadline {gaplength 2d}
1215
+ flags releng, proto
1216
+ }
1217
+
1218
+ task call_for_events "FAmSCo and Regional Teams Call for Release Events" {
1219
+ depends !beta_deadline {gaplength 12d}
1220
+ flags ambassadors
1221
+ }
1222
+
1223
+ task logistics_budget "Regional Teams Plan Regional Logistics for Release Events & File Budget Requests" {
1224
+ depends !call_for_events
1225
+ length 10d
1226
+ flags ambassadors
1227
+ }
1228
+
1229
+ task test_beta2 "Test Beta Candidate" {
1230
+ depends !create_beta_compose
1231
+ length 5d
1232
+ flags quality, proto
1233
+ }
1234
+
1235
+ task start_stage_beta "Start Stage & Sync Beta to Mirrors" {
1236
+ depends !test_beta2
1237
+ flags releng
1238
+ }
1239
+
1240
+ task notify_mirrors_beta "Notify Mirrors of ${content_title} ${major} Beta" {
1241
+ depends !start_stage_beta {gaplength 1d}
1242
+ flags releng
1243
+ }
1244
+
1245
+ task stage_beta "Stage & Sync Beta to Mirrors" {
1246
+ depends !test_beta2
1247
+ length 3d
1248
+ flags releng, proto
1249
+ }
1250
+
1251
+ task beta_export_control "Beta Export Control Reporting" {
1252
+ depends !start_stage_beta {gaplength 1d}
1253
+ flags releng, pm
1254
+ }
1255
+
1256
+
1257
+ # two days to create web banner
1258
+ # one day for websites team to add to www.fedoraproject.org
1259
+ # should be live one day before the release
1260
+ task beta_banner "Beta Release Banner" {
1261
+ precedes !beta_drop {gaplength 3d}
1262
+
1263
+ task beta_create_banner "Create Beta Website Banner" {
1264
+ length 2d
1265
+ flags design
1266
+ }
1267
+
1268
+ task beta_publish_banner "Add Beta Banner to Website" {
1269
+ length 1d
1270
+ flags web
1271
+ }
1272
+ }
1273
+
1274
+ task shadow_before_beta_drop "SHADOW: One Day before Public Beta release" {
1275
+ precedes !beta_drop {gaplength 2d}
1276
+ flags hidden
1277
+ }
1278
+
1279
+ # Five weeks prior to GA
1280
+ task beta_drop "Beta Release Public Availability" {
1281
+ depends !stage_beta
1282
+ flags docs, releng, quality, pm, translation, proto, design, devel, key, marketing, roadmap, blocker, spins, infrastructure, fpl
1283
+ }
1284
+
1285
+ task event_deadline "Release Event Submission Deadline" {
1286
+ depends !logistics_budget {gaplength 1d}
1287
+ flags ambassadors
1288
+ }
1289
+
1290
+ task budget_allocations "FAmSCo Review Budget Allocations" {
1291
+ depends !event_deadline
1292
+ flags ambassadors
1293
+ }
1294
+
1295
+ task irc_sessions "FAmSCo Regional IRC town halls" {
1296
+ depends !beta_drop {gaplength 8d}
1297
+ length 10d
1298
+ flags ambassadors
1299
+ }
1300
+
1301
+ # Three weeks of public testing
1302
+ # Ends on a Monday and is followed by Final Release Deadline
1303
+ task beta_test "Beta Testing" {
1304
+ depends !stage_beta
1305
+ length 14d
1306
+ flags quality, proto
1307
+ }
1308
+
1309
+ task websites_trans_reminder "Reminder to f-websites-list about POT/PO dates in 7 days" {
1310
+ depends !beta_drop
1311
+ flags translation, web
1312
+ }
1313
+
1314
+ # two weeks to create
1315
+ # should be completely done and ready for hand off to Ambassadors two weeks before GA
1316
+ # Ambassadors should have made prior arrangements to flip artwork over to media producer
1317
+ # at this time.
1318
+ task media "Create DVD/CD label and sleeve artwork" {
1319
+ # not a "great" place to anchor to as it could move
1320
+ # needs to start four weeks before GA
1321
+ depends !beta_drop
1322
+ length 10d
1323
+ flags design
1324
+ }
1325
+
1326
+ task rc_rawhide_install "Pre-RC Acceptance Test Plan" {
1327
+ depends !stage_beta {gaplength 7d}
1328
+ length 4d
1329
+ flags quality
1330
+ }
1331
+
1332
+ task testmile "End of Beta Testing" {
1333
+ depends !beta_test
1334
+ flags quality
1335
+ }
1336
+
1337
+ }
1338
+ } # E N D of TestingPhase
1339
+
1340
+ task LaunchPhase "Launch Phase" {
1341
+
1342
+ # four weeks before GA, ambassadors create release posters
1343
+ # two weeks before GA to art team does final polish to posters
1344
+ # posters are ready on release day
1345
+ task release_posters "Release Party Posters" {
1346
+ depends !!TestingPhase.beta.beta_drop
1347
+ task create_posters "FAmSCo with Design Team Create Release Party Posters" {
1348
+ length 10d
1349
+ flags ambassadors
1350
+ }
1351
+
1352
+ task polish_poster "Polish/Finalize Release Party Posters" {
1353
+ depends !create_posters
1354
+ length 9d
1355
+ flags design
1356
+ }
1357
+ }
1358
+
1359
+ task screenshots "Update and freeze the screenshots page" {
1360
+ depends !!TestingPhase.beta.stage_beta {gaplength 5d}
1361
+ length 5d
1362
+ flags marketing
1363
+ }
1364
+
1365
+ task final_screenshots "Marketing: Final Screen Shots" {
1366
+ depends !screenshots
1367
+ length 5d
1368
+ flags marketing
1369
+ }
1370
+
1371
+ task final_marketing_notes "Marketing: Final One Page Release Notes" {
1372
+ depends !screenshots
1373
+ length 5d
1374
+ flags marketing
1375
+ }
1376
+
1377
+ task briefings "Brief news distribution network" {
1378
+ depends !screenshots
1379
+ length 5d
1380
+ flags marketing
1381
+ }
1382
+
1383
+ task monitor "Monitor news sites to provide corrections & info" {
1384
+ depends !screenshots
1385
+ length 29d
1386
+ flags marketing
1387
+ }
1388
+
1389
+ task rc "Release Candidate" {
1390
+
1391
+ task final_releng_tickets "File All Release Engineering Tickets for ${content_title} ${major} GA" {
1392
+ depends !!!TestingPhase.beta.stage_beta {gaplength 2d }
1393
+ flags releng
1394
+ }
1395
+
1396
+ task remind_ga_blocker1 "Reminder: Final Blocker Meeting (${content}${major}blocker) #1" {
1397
+ depends !!!TestingPhase.beta.create_beta_compose {gaplength 4d}
1398
+ flags pm
1399
+ }
1400
+
1401
+ task ga_blocker1 "Final Blocker Meeting (${content}${major}blocker) #1" {
1402
+ depends !!!TestingPhase.beta.start_stage_beta {gaplength 1d}
1403
+ flags releng, quality, devel, pm, blocker
1404
+ }
1405
+
1406
+ task remind_ga_blocker2 "Reminder: Final Blocker Meeting (${content}${major}blocker) #2" {
1407
+ depends !ga_blocker1 {gaplength 3d}
1408
+ flags pm
1409
+ }
1410
+
1411
+ task ga_blocker2 "Final Blocker Meeting (${content}${major}blocker) #2" {
1412
+ depends !ga_blocker1 {gaplength 5d}
1413
+ flags releng, quality, devel, pm, blocker
1414
+ }
1415
+
1416
+ task remind_ga_blocker3 "Reminder: Final Blocker Meeting (${content}${major}blocker) #3" {
1417
+ depends !ga_blocker2 {gaplength 3d}
1418
+ flags pm
1419
+ }
1420
+
1421
+ task ga_blocker3 "Final Blocker Meeting (${content}${major}blocker) #3" {
1422
+ depends !ga_blocker2 {gaplength 5d}
1423
+ flags releng, quality, devel, pm, blocker
1424
+ }
1425
+
1426
+ # two days before Final Deadline
1427
+ task shadow_before_final_deadline "SHADOW: one day before Final Deadline" {
1428
+ precedes !final_change_deadline {gaplength 2d}
1429
+ flags hidden
1430
+ }
1431
+
1432
+ task kernel_debug "Disable Kernel debug and submit new Kernel build for RC" {
1433
+ depends !shadow_before_final_deadline
1434
+ flags devel
1435
+ }
1436
+
1437
+ task final_change_deadline "Final Change Deadline" {
1438
+ depends !!!TestingPhase.beta.beta_test
1439
+ flags releng, devel, proto, pm, key, spins
1440
+ }
1441
+
1442
+ task check_swag "FAmSCo and Regional Teams Meet to Address Unresolved Events/Media/Swag Issues" {
1443
+ depends !final_change_deadline {gaplength 1d}
1444
+ flags ambassadors
1445
+ }
1446
+
1447
+ # one day before Final Deadline
1448
+ task final_wallpaper "Package Final Wallpaper" {
1449
+ depends !shadow_before_final_deadline
1450
+ flags design
1451
+ }
1452
+
1453
+ # one day before Final Deadline
1454
+ task final_splash "Package Final Splash Screens" {
1455
+ depends !shadow_before_final_deadline
1456
+ flags design
1457
+ }
1458
+
1459
+ task announce_final_change_deadline "Announce Final Freeze & Implications" {
1460
+ depends !final_change_deadline
1461
+ flags pm
1462
+ }
1463
+
1464
+ # ADJUST FOR NEW RELEASE--EOL Version
1465
+ task eol_warning "File RHT Eng-ops ticket for Fedora 15 EOL Bugzilla warning" {
1466
+ depends !final_change_deadline
1467
+ flags pm
1468
+ }
1469
+
1470
+ # KEY ADJUSTMENT POINT--manually adjust if length of time before Final release ships changes
1471
+ task final_infrastructure_freeze "Final Infrastructure Change Freeze" {
1472
+ depends !!!TestingPhase.beta.beta_test {gaplength 1d}
1473
+ length 10d
1474
+ flags infrastructure, releng
1475
+ }
1476
+
1477
+ task remind_ga_blocker4 "Reminder: Final Blocker Meeting (${content}${major}blocker) #4" {
1478
+ depends !ga_blocker3 {gaplength 3d}
1479
+ flags pm
1480
+ }
1481
+
1482
+ task ga_blocker4 "Final Blocker Meeting (${content}${major}blocker) #4" {
1483
+ depends !ga_blocker3 {gaplength 5d}
1484
+ flags releng, quality, devel, pm, blocker
1485
+ }
1486
+
1487
+ # raise awareness one week before final compose
1488
+ task daily_ga_blocker "Daily Review & Notification of Open Final Blocker Bugs" {
1489
+ depends !ga_blocker3 {gaplength 1d}
1490
+ length 4d
1491
+ flags releng, quality, devel, pm, blocker
1492
+ }
1493
+
1494
+ task ga_blocker5 "Final Blocker Meeting (${content}${major}blocker)--Blocks RC Compose" {
1495
+ depends !ga_blocker4 {gaplength 1d}
1496
+ flags releng, quality, devel, pm, blocker
1497
+ }
1498
+
1499
+ task ga_release_notes "Final Release Notes" {
1500
+
1501
+ # One day before public beta release
1502
+ task final_release_note_wiki_reminder "Reminder to Development: Wiki Freeze in 7 days" {
1503
+ depends !!!!TestingPhase.beta.shadow_before_beta_drop
1504
+ flags docs
1505
+ }
1506
+
1507
+ task prep_ga_notes "Prepare GA Release Notes" {
1508
+ depends !!!!TestingPhase.beta.beta_drop
1509
+ flags docs, quality
1510
+ }
1511
+
1512
+ task ga_release_notes_freeze "String Freeze: GA Release Notes" {
1513
+ depends !prep_ga_notes {gaplength 4d}
1514
+ flags docs
1515
+ }
1516
+
1517
+ task wiki_ga_port "Port diff wiki content to Publican" {
1518
+ depends !ga_release_notes_freeze
1519
+ length 5d
1520
+ flags docs
1521
+ }
1522
+
1523
+ task remind_trans_ga_notes "Remind Translation: RPM Freeze (no more POTs) in 5 days" {
1524
+ depends !ga_release_notes_freeze {gaplength 2d}
1525
+ flags docs
1526
+ }
1527
+
1528
+ # KEY ADJUSTMENT POINT--if length of Beta changes this task length needs to change too
1529
+ task ga_pot_trans "Translate Final Release Notes (POT to PO)" {
1530
+ depends !!!!TestingPhase.beta.beta_release_notes.trans_release_notes_deadline {gaplength 1d}
1531
+ length 24d
1532
+ flags translation
1533
+ }
1534
+
1535
+ task ga_release_notes_pot "Generate GA Release Notes POT files for Translation" {
1536
+ depends !wiki_ga_port
1537
+ flags docs
1538
+ }
1539
+
1540
+ task build_trans_review_final "Build GA release note htmls for Translation" {
1541
+ depends !ga_release_notes_pot {gaplength 1d}
1542
+ length 4d
1543
+ flags docs
1544
+ }
1545
+
1546
+ task build_ga_trans_review "Review and correct GA Release Notes (daily builds html)" {
1547
+ depends !ga_release_notes_pot {gaplength 1d}
1548
+ length 4d
1549
+ flags docs, translation
1550
+ }
1551
+
1552
+ task remind_ga_trans_deadline "Remind Translators of GA Release Notes Deadline in 4 days" {
1553
+ depends !ga_release_notes_pot {gaplength 3d}
1554
+ flags docs
1555
+ }
1556
+
1557
+ task ga_release_notes_po "Translation Deadline: GA rel-notes (PO Files complete)" {
1558
+ depends !ga_pot_trans
1559
+ flags translation
1560
+ }
1561
+
1562
+ task ga_release_notes_rpm "Build fedora-release-notes.rpm" {
1563
+ depends !ga_release_notes_po
1564
+ length 2d
1565
+ flags docs
1566
+ }
1567
+
1568
+ } #end final release notes
1569
+
1570
+
1571
+ # Three banners are created for the GA release (based on the Slogan from Marketing)
1572
+ # 1) large banner--fedoraproject.org front page
1573
+ # 2) "the release is out, go get it"--fedoraproject.org front page
1574
+ # 3) release name on start.fedoraproject.org
1575
+ # banners take one week to complete
1576
+ # banners should be completed one week before GA
1577
+ # banners are translated the week up until GA
1578
+ # translated during the week up until GA
1579
+ task ga_create_banners "Create Final Release Banners" {
1580
+ depends !!!TestingPhase.beta.testmile
1581
+ length 9d
1582
+ flags design
1583
+ }
1584
+
1585
+ # Start one day before Final Change Deadline
1586
+ task create_ga_announce "Create GA Announcement (Docs & Marketing)" {
1587
+ depends !!!LaunchPhase.rc.shadow_before_final_deadline
1588
+ length 7d
1589
+ flags docs, marketing
1590
+ }
1591
+
1592
+ task translate_ga_announce "GA Announcement available for translation (optional)" {
1593
+ depends !create_ga_announce
1594
+ length 5d
1595
+ flags translation
1596
+ }
1597
+
1598
+ task ga_publish_banners "Add Final Release Banners to Website" {
1599
+ depends !ga_create_banners
1600
+ length 1d
1601
+ flags web
1602
+ }
1603
+
1604
+ # web propertities need to be updated and translated
1605
+ # Tasks start at time Beta Release goes out
1606
+ # http://fedoraproject.org/en/index
1607
+ # http://fedoraproject.org/en/get-fedora
1608
+ # http://fedoraproject.org/en/join-fedora
1609
+ # http://fedoraproject.org/en/get-help
1610
+ task web_content_update "Update Website Content" {
1611
+ depends !!!TestingPhase.beta.beta_drop
1612
+ length 5d
1613
+ flags web
1614
+ }
1615
+
1616
+ task web_freeze "Website String Freeze" {
1617
+ depends !web_content_update
1618
+ flags web
1619
+ }
1620
+
1621
+ task web_create_pot "Create Website POT Files" {
1622
+ depends !web_freeze
1623
+ length 1d
1624
+ flags web
1625
+ }
1626
+
1627
+ task trans_web "Translation Period for Website (POT to PO)" {
1628
+ depends !web_create_pot
1629
+ length 9d
1630
+ flags translation
1631
+ }
1632
+
1633
+ task review_trans_web "Review and correct Website translations" {
1634
+ depends !trans_web
1635
+ length 4d
1636
+ flags translation, web
1637
+ }
1638
+
1639
+ task finish_trans_web "Translation Deadline: Websites (POs done)" {
1640
+ depends !review_trans_web
1641
+ flags translation
1642
+ }
1643
+
1644
+ task publish_trans_web "Publish Translations on Website (fedoraproject.org)" {
1645
+ depends !review_trans_web
1646
+ length 1d
1647
+ flags web
1648
+ }
1649
+
1650
+ task final_meeting_reminder "Reminder: Final Release Readiness Meeting" {
1651
+ depends !!!TestingPhase.beta.beta_test {gaplength 5d}
1652
+ flags pm
1653
+ }
1654
+
1655
+ task ga_meeting "${content_title} ${major} Final Release Readiness Meeting" {
1656
+ depends !final_meeting_reminder {gaplength 3d}
1657
+ flags releng, pm, quality, docs, design, marketing, translation, web
1658
+ }
1659
+
1660
+ task shadow_before_final_compose "SHADOW: one week before RC Compose" {
1661
+ precedes !start_final_compose {gaplength 8d}
1662
+ flags hidden
1663
+ }
1664
+
1665
+ task final_installer_build1 "Submit Installer Build for Final TC Compose" {
1666
+ depends !shadow_before_final_compose
1667
+ flags devel
1668
+ }
1669
+
1670
+ task create_final_tc "Create 'Final' Test Compose (TC)" {
1671
+ depends !shadow_before_final_compose {gaplength 2d}
1672
+ flags releng, proto
1673
+ }
1674
+
1675
+ task test_final_tc "Test 'Final' Test Compose (TC)" {
1676
+ depends !create_final_tc
1677
+ length 4d
1678
+ flags quality, proto
1679
+ }
1680
+
1681
+ task final_installer_build "Submit Installer Build for Final RC Compose" {
1682
+ depends !final_change_deadline
1683
+ flags devel
1684
+ }
1685
+
1686
+ task start_final_compose "Compose 'Final' RC: DVD, Live, Spins" {
1687
+ depends !final_change_deadline {gaplength 1d}
1688
+ length 1d
1689
+ flags releng, key, roadmap, proto
1690
+ }
1691
+
1692
+ task early_iso "Regional Teams Obtain Final Release ISOs from Release Engineering for duplication" {
1693
+ depends !test_final {gaplength 2d}
1694
+ length 3d
1695
+ flags ambassadors
1696
+ }
1697
+
1698
+ task regional_marketing "Regional Coordination with Marketing for Release Events" {
1699
+ depends !test_final {gaplength 2d}
1700
+ length 5d
1701
+ flags ambassadors
1702
+ }
1703
+
1704
+ task deliver_final "Deliver RC to QA for Testing" {
1705
+ depends !start_final_compose
1706
+ flags releng, proto
1707
+ }
1708
+
1709
+ task test_final "Test 'Final' RC" {
1710
+ depends !deliver_final
1711
+ length 4d
1712
+ flags quality
1713
+ }
1714
+
1715
+ # for ics file
1716
+ task start_stage_final "Start Stage & Sync RC to Mirrors" {
1717
+ depends !test_final {gaplength 2d}
1718
+ flags releng
1719
+ }
1720
+
1721
+ task notify_mirrors_final "Notify Mirrors of ${content_title} ${major} Final" {
1722
+ depends !start_stage_final {gaplength 1d}
1723
+ flags releng
1724
+ }
1725
+
1726
+
1727
+ task stage_final "Stage & Sync RC to Mirrors" {
1728
+ depends !test_final {gaplength 2d}
1729
+ length 3d
1730
+ flags releng, proto
1731
+ }
1732
+
1733
+ task package_spins_ks "Branch spin-kickstarts and build package from new branch" {
1734
+ depends !create_final_tc
1735
+ flags spins
1736
+ }
1737
+
1738
+ task freeze_spins_ks "Spins kickstart package Freeze" {
1739
+ depends !create_final_tc
1740
+ flags spins
1741
+ }
1742
+
1743
+ task enable_updates "Enable ${content_title} ${major} Updates" {
1744
+ depends !!!TestingPhase.beta.beta_test {gaplength 2d}
1745
+ flags releng
1746
+ }
1747
+
1748
+ task remind_final_go_not "Reminder: ${content_title} ${major} Final Go/No-Go Meeting" {
1749
+ depends !start_final_compose {gaplength 1d}
1750
+ flags pm
1751
+ }
1752
+
1753
+ # Hold on Tuesday instead of Wednesday (Alpha and Beta)--this provides a little cushion
1754
+ # if something goes wrong. Mirrors do not have to start sync until Thursday
1755
+ task final_go_not "${content_title} ${major} Final Go/No-Go Meeting (17:00 US Eeastern)" {
1756
+ depends !start_final_compose {gaplength 4d}
1757
+ flags releng, quality, docs, pm, proto, blocker
1758
+ }
1759
+
1760
+ task final_export_control "Final Export Control Reporting" {
1761
+ depends !start_stage_final {gaplength 1d}
1762
+ flags releng, pm
1763
+ }
1764
+
1765
+ # Zero-day tasks should start two Fridays before GA and finish the day before GA
1766
+ task zero_day_relnotes "Zero Day Release Notes" {
1767
+
1768
+ task shadow_zero_day "SHADOW: Seven work week days before GA" {
1769
+ precedes !!!final {gaplength 7d}
1770
+ flags hidden
1771
+ }
1772
+
1773
+ task zero_day_web "0-Day rel-notes update docs.fp.org" {
1774
+ depends !shadow_zero_day
1775
+ length 6d
1776
+ flags docs
1777
+ }
1778
+
1779
+ task zero_day_rpm "0-Day rel-notes build updated rpm" {
1780
+ depends !shadow_zero_day
1781
+ length 6d
1782
+ flags docs
1783
+ }
1784
+
1785
+ task zero_day_pot "0-Day rel-notes generate POT" {
1786
+ depends !shadow_zero_day
1787
+ length 6d
1788
+ flags docs
1789
+ }
1790
+
1791
+ task zero_day_trans "Translate 0-Day Release Notes" {
1792
+ depends !shadow_zero_day
1793
+ length 6d
1794
+ flags translation
1795
+ }
1796
+
1797
+ task zero_day_deadline "Translation Deadline: 0-Day (PO Files complete)" {
1798
+ depends !zero_day_trans
1799
+ flags translation
1800
+ }
1801
+
1802
+ task web_post "Add translated zero-day updates to docs.fp.org" {
1803
+ depends !zero_day_trans
1804
+ flags docs
1805
+ }
1806
+
1807
+ task post_tech_notes "Update and post Fedora Technical Notes to docs.fedoraproject.org" {
1808
+ depends !!!final
1809
+ flags docs
1810
+ }
1811
+
1812
+ # Monday after Tuesday GA
1813
+ task push_updates_rpm "Push updated rel-notes RPMs to Updates repo" {
1814
+ depends !!!final {gaplength 4d}
1815
+ flags docs
1816
+ }
1817
+
1818
+ } # zero_day_relnotes
1819
+
1820
+ } # end of rc task
1821
+
1822
+ task bugzilla_descrption "Reflect supported versions in Bugzilla product description" {
1823
+ depends !rc.stage_final
1824
+ flags pm
1825
+ }
1826
+
1827
+ task final "Final (GA) Release" {
1828
+ depends !rc.stage_final
1829
+ flags quality, releng, docs, design, pm, translation, proto, devel, key, marketing, roadmap, spins, infrastructure, fpl
1830
+ }
1831
+
1832
+ # ADJUST FOR NEW RELEASE--EOL Version
1833
+ task remind_eol "Send Email Reminder About Fedora 16 EOL Activities" {
1834
+ depends !final {gaplength 2d}
1835
+ flags releng, pm, devel
1836
+ }
1837
+
1838
+ task event_reports "Hold Release Events and Publish Event Reports" {
1839
+ depends !final
1840
+ length 23d
1841
+ flags ambassadors
1842
+ }
1843
+
1844
+ task spins_ga_ks "Build new spin-kickstarts package for updates (if necessary)" {
1845
+ depends !rc.stage_final
1846
+ flags spins
1847
+ }
1848
+
1849
+ task marketing_post "Marketing Retrospective" {
1850
+ depends !final
1851
+ length 10d
1852
+ flags marketing
1853
+ }
1854
+ }
1855
+
1856
+ # Starting in Fedora 13, the docs group wanted the Guides work to span almost
1857
+ # the entire release cycle--they don't fit nicely into different phases.
1858
+ # So we put them all here in their own block.
1859
+
1860
+ # Run from Start until one week before GA
1861
+ task all_guides "${content_title} ${major} Guides" {
1862
+
1863
+ # Run from Start until "Branch Guides"
1864
+ task continue_guides_trans "Continue translation of guides in branch of previous release " {
1865
+ length 70d
1866
+ flags translation
1867
+ }
1868
+
1869
+ task test_branch_guides "Test master branches of guides against Alpha and correct" {
1870
+ depends !!TestingPhase.alpha.stage_alpha
1871
+ length 10d
1872
+ flags docs
1873
+ }
1874
+
1875
+ task branch_guides "Branch Guides" {
1876
+ depends !test_branch_guides
1877
+ flags docs
1878
+ }
1879
+
1880
+ task guides_pot "Create POT files for All Guides" {
1881
+ depends !branch_guides
1882
+ flags docs
1883
+ }
1884
+
1885
+ task notify_trans "Notify trans that new Guide POT files available " {
1886
+ depends !guides_pot
1887
+ flags docs
1888
+ }
1889
+
1890
+ task trans_all_guides "Translate All Guides (POT to PO)" {
1891
+ depends !guides_pot
1892
+ flags docs
1893
+ }
1894
+
1895
+ task publish_draft "Publish draft guides" {
1896
+ depends !branch_guides
1897
+ flags docs
1898
+ }
1899
+
1900
+ task annouce_publish_draft "Notify announce-list and f-devel-list draft guides available" {
1901
+ depends !publish_draft
1902
+ flags docs
1903
+ }
1904
+
1905
+
1906
+ # ADJUST FOR NEW RELEASE--make sure this task lands one day before GA
1907
+ task guides_trans "Translate All Guides (POT to PO)" {
1908
+ depends !guides_pot
1909
+ length 39d
1910
+ flags translation
1911
+ }
1912
+
1913
+ task remind_trans_pot "Reminder to Trans that new POT files are coming for all guides" {
1914
+ depends !!TestingPhase.alpha.stage_alpha {gaplength 8d}
1915
+ flags docs
1916
+ }
1917
+
1918
+ # Wednesday, one week after Beta Change Deadline
1919
+ task srpm_review "Remind new guide owners SRPM package review" {
1920
+ depends !!TestingPhase.beta.beta_deadline {gaplength 6d}
1921
+ flags docs
1922
+ }
1923
+
1924
+ task shadow_before_beta_deadline "SHADOW: for Friday before Beta deadline" {
1925
+ precedes !!TestingPhase.beta.beta_deadline {gaplength 1d}
1926
+ flags hidden
1927
+ }
1928
+
1929
+ # Friday before Final Change Deadline
1930
+ task remind_trans "Reminder to Trans that Final Guides POT files are coming" {
1931
+ depends !shadow_before_beta_deadline
1932
+ flags docs
1933
+ }
1934
+
1935
+ task guides_string_freeze "String Freeze All Guides" {
1936
+ depends !!LaunchPhase.rc.final_change_deadline
1937
+ flags docs
1938
+ }
1939
+
1940
+ task generate_final_pot "Generate final POT files for Guides" {
1941
+ depends !guides_string_freeze
1942
+ flags docs
1943
+ }
1944
+
1945
+ task notify_trans_final "Notify Trans of Final Guides POT availability" {
1946
+ depends !guides_string_freeze
1947
+ flags docs
1948
+ }
1949
+
1950
+ # Monday to Friday, two weeks before GA
1951
+ task build_daily "Daily builds of Final guides for Translation" {
1952
+ length 9d
1953
+ depends !!LaunchPhase.rc.final_change_deadline
1954
+ flags docs
1955
+ }
1956
+
1957
+ # Monday to Friday, two weeks before GA
1958
+ task review_daily "Review and correct Final Translated Guides (daily builds html)" {
1959
+ depends !!LaunchPhase.rc.final_change_deadline
1960
+ length 9d
1961
+ flags translation
1962
+ }
1963
+
1964
+ # Friday before GA
1965
+ task shadow_guides_trans_deadline "SHADOW: Translation Deadline: All Final Guides" {
1966
+ precedes !!LaunchPhase.final {gaplength 2d}
1967
+ flags hidden
1968
+ }
1969
+
1970
+ # zero duration tasks (milestones/deadlines) need a shadow preceds task so they report correctly
1971
+ # Also needed for ICS files which only report milestones
1972
+ task guides_trans_deadline "Translation Deadline: All Final Guides" {
1973
+ depends !shadow_guides_trans_deadline
1974
+ flags translation
1975
+ }
1976
+
1977
+ task test_guides_beta "Test guides against Beta and correct" {
1978
+ depends !!TestingPhase.beta.beta_drop
1979
+ length 4d
1980
+ flags docs
1981
+ }
1982
+
1983
+ task refresh_pot "Refresh POT files for all guides against Beta" {
1984
+ depends !test_guides_beta
1985
+ flags docs
1986
+ }
1987
+
1988
+ task notify_trans_refresh "Notify trans that POT files updated against Beta" {
1989
+ depends !refresh_pot
1990
+ flags docs
1991
+ }
1992
+
1993
+ task republish_draft "Republish draft guides for Beta" {
1994
+ depends !test_guides_beta
1995
+ flags docs
1996
+ }
1997
+
1998
+ task notify_revised_draft "Notify announce-list and f-devel-list revised draft guides available" {
1999
+ depends !republish_draft
2000
+ flags docs
2001
+ }
2002
+
2003
+ # Friday before GA until the day before GA
2004
+ task guides_final_build "Final Build All Guides: All Languages" {
2005
+ depends !srpm_review
2006
+ length 3d
2007
+ flags docs
2008
+ }
2009
+
2010
+ # Day before GA
2011
+ task shadow_publish_guides "SHADOW: Publish all guides to docs.fp.o (html,html-single,pdf)" {
2012
+ precedes !!LaunchPhase.final {gaplength 2d}
2013
+ flags hidden
2014
+ }
2015
+
2016
+ task publish_guides "Publish all guides to docs.fp.o (html,html-single,pdf)" {
2017
+ depends !shadow_publish_guides
2018
+
2019
+ flags docs
2020
+ }
2021
+
2022
+ } # end of "all_guides"
2023
+
2024
+
2025
+ # Elections http://fedoraproject.org/wiki/Elections
2026
+ # Board & FESCo are reelected in every release
2027
+ # FAmSCo Elections are held once a year near the Halloween release
2028
+
2029
+ # ADJUST FOR NEW RELEASE
2030
+ task elections "${content_title} ${next_major} Election Coordination" {
2031
+
2032
+ # manually set start date that is five weeks before GA date (on a Tuesday)
2033
+ # this is cleaner than using 'precedes'
2034
+ # use 'duration' to make it easier for some tasks to land on weekends
2035
+ start 2013-09-24
2036
+ flags elections, fpl, pm
2037
+
2038
+ # Don't forget to do this! Or else bad things happen.
2039
+ task remind "Remind advisory-board list of upcoming election schedule" {
2040
+ }
2041
+
2042
+ task solicit "Solicit volunteers for questionnaire and town halls" {
2043
+ depends !remind
2044
+ duration 7d
2045
+ }
2046
+
2047
+ task wiki_update "Update wiki page https://fedoraproject.org/wiki/Elections with required information" {
2048
+ depends !solicit
2049
+ }
2050
+
2051
+ task advertise_elections "Advertise elections schedule and pages" {
2052
+ depends !solicit
2053
+ }
2054
+
2055
+ task announce_nominations "FPL/designee announces opening of nominations" {
2056
+ depends !solicit {gapduration 25d}
2057
+ }
2058
+
2059
+ task open_questions "Questionnaire wrangler announces opening for questions"{
2060
+ depends !announce_nominations
2061
+ }
2062
+
2063
+ task collect_questions "Collect question on the wiki"{
2064
+ depends !announce_nominations
2065
+ duration 8d
2066
+ }
2067
+
2068
+ task collect_answers "Candidates write questionnaire answers" {
2069
+ depends !collect_questions
2070
+ duration 7d
2071
+ }
2072
+
2073
+ task announce_town "Town hall wrangler announces schedule for town hall meetings" {
2074
+ depends !announce_nominations
2075
+ }
2076
+
2077
+ task question_deadline "Questionnaire answers due from candidates" {
2078
+ depends !collect_answers
2079
+ }
2080
+
2081
+ # five days before GA
2082
+ task present_answers "Wrangler presents questionnaire answers" {
2083
+ depends !collect_answers {gapduration 1d}
2084
+ duration 2d
2085
+ }
2086
+
2087
+ task post_questions "All answers posted to questionnaire page, advertise to voters" {
2088
+ depends !present_answers
2089
+ }
2090
+
2091
+ task town_hall "Town hall period" {
2092
+ depends !post_questions {gapduration 1d}
2093
+ duration 6d
2094
+ }
2095
+
2096
+ task voting_application "Finalize Voting Application" {
2097
+ duration 1d
2098
+ depends !town_hall
2099
+ }
2100
+
2101
+ task voting_start "Voting Begins" {
2102
+ depends !voting_application
2103
+ }
2104
+
2105
+ task voting "Voting for general elections" {
2106
+ depends !voting_application
2107
+ duration 6d
2108
+ }
2109
+
2110
+ task voting_end "Voting Ends" {
2111
+ depends !voting
2112
+ }
2113
+
2114
+ task announce_results "Announce Results" {
2115
+ depends !voting_end {gapduration 1d}
2116
+ }
2117
+
2118
+ } # end elections
2119
+
2120
+ # The release naming process for the next release should end three weeks prior
2121
+ # to the end of the current release
2122
+ # It is easiest to start this task by hardcoding the start date to be 6 weeks before GA
2123
+ # 2010-09-14
2124
+ # 1 week -- collect names
2125
+ # 1 week --fedora board reviews names
2126
+ # 2 weeks -- names reviewed by RHT legal
2127
+ # 1 week -- community vote on names
2128
+
2129
+ # ADJUST FOR NEW RELEASE
2130
+ task naming "Name the ${content_title} ${next_major} Release" {
2131
+ start 2013-09-17 # manually set this date
2132
+ flags pm, fpl
2133
+
2134
+ task gather "Collect ${content_title} ${next_major} Names on Wiki" {
2135
+ length 5.5d
2136
+ }
2137
+
2138
+ task board "Board Review of Proposed ${content_title} ${next_major} Names" {
2139
+ depends !gather
2140
+ length 3d
2141
+ }
2142
+
2143
+ task legal "Legal Review" {
2144
+ depends !board
2145
+ length 5d
2146
+ }
2147
+
2148
+ task vote "Voting" {
2149
+ depends !legal
2150
+ length 4d
2151
+ }
2152
+
2153
+ task announce_name "${content_title} ${next_major} Release Name Announced" {
2154
+ depends !vote {gapduration 1d}
2155
+ flags design, pm
2156
+ }
2157
+ } # end release naming
2158
+
2159
+
2160
+ task pr "Public Relations" {
2161
+
2162
+ task video "Creative team videos" {
2163
+ flags fpl, pr
2164
+
2165
+ task video_schedule "Meet w/Creative to schedule videos" {
2166
+ precedes !video1.review_spotlight1_video {gaplength 25d}
2167
+ length 5d
2168
+ }
2169
+
2170
+ task video1 "Make spotlight video #1" {
2171
+ task review_spotlight1_video "Review video #1" {
2172
+ precedes !release_spotlight1_video
2173
+ length 15d
2174
+ }
2175
+
2176
+ task release_spotlight1_video "Publish spotlight video #1" {
2177
+ depends !!!spotlight_feature_blogs.spotlight_feature1.spotlight_feature1_drop
2178
+ }
2179
+ }
2180
+
2181
+ task video2 "Make spotlight video #2" {
2182
+ task review_spotlight2_video "Review video #2" {
2183
+ precedes !release_spotlight2_video
2184
+ length 15d
2185
+ }
2186
+
2187
+ task release_spotlight2_video "Publish spotlight video #2" {
2188
+ depends !!!spotlight_feature_blogs.spotlight_feature3.spotlight_feature3_drop
2189
+ }
2190
+ }
2191
+
2192
+ task release_video "Make release video" {
2193
+ task review_release_video "Review release video" {
2194
+ precedes !release_video
2195
+ length 20d
2196
+ }
2197
+
2198
+ task release_video "Publish release video" {
2199
+ depends !!!!LaunchPhase.final
2200
+ }
2201
+ }
2202
+
2203
+ } #end video
2204
+
2205
+ task beta_release_blog "Beta press blog entry" {
2206
+ flags fpl, pr
2207
+ /**
2208
+ * By building the final task to be a 0-duration event
2209
+ * (milestone), depending on another given task date like a
2210
+ * release date, and having each other task below precede the
2211
+ * one following, these tasks should auto-adjust to fall on a
2212
+ * given date.
2213
+ */
2214
+
2215
+
2216
+ task beta_release_blog_draft "Start drafting Beta blog" {
2217
+ precedes !beta_release_blog_legal
2218
+ length 10d
2219
+ }
2220
+
2221
+ task beta_release_blog_legal "Red Hat PR send Beta blog to Legal" {
2222
+ precedes !beta_release_blog_intl
2223
+ length 5d
2224
+ }
2225
+
2226
+ task beta_release_blog_intl "Red Hat PR send Beta blog to intl-pr list" {
2227
+ precedes !beta_release_blog_drop
2228
+ length 6d
2229
+ }
2230
+
2231
+ task beta_release_blog_drop "Red Hat PR publish and send Beta blog to media contacts" {
2232
+ depends !!!TestingPhase.beta.beta_drop
2233
+ }
2234
+ }
2235
+
2236
+ task spotlight_feature_blogs "Spotlight feature press blogs" {
2237
+ task spotlight_feature1 "Spotlight feature #1" {
2238
+ task spotlight_feature1_draft "Draft spotlight #1 blog entry" {
2239
+ precedes !spotlight_feature1_legal
2240
+ length 5d
2241
+ flags fpl, pr
2242
+ }
2243
+
2244
+ task spotlight_feature1_legal "Red Hat PR send spotlight #1 blog entry draft to legal" {
2245
+ precedes !spotlight_feature1_drop
2246
+ length 5d
2247
+ flags fpl, pr
2248
+ }
2249
+
2250
+ task shadow_spotlight_feature1 "SHADOW: Three weeks until GA" {
2251
+ precedes !!!!LaunchPhase.final { gaplength 16d }
2252
+ length 1d
2253
+ flags hidden
2254
+ }
2255
+
2256
+ task spotlight_feature1_drop "Red Hat PR publish spotlight #1 blog entry" {
2257
+ depends !shadow_spotlight_feature1
2258
+ flags fpl, pr
2259
+ }
2260
+
2261
+ }
2262
+
2263
+ task spotlight_feature2 "Spotlight feature #2" {
2264
+ task spotlight_feature2_draft "Draft spotlight #2 blog entry" {
2265
+ precedes !spotlight_feature2_legal
2266
+ length 5d
2267
+ flags fpl, pr
2268
+ }
2269
+
2270
+ task spotlight_feature2_legal "Red Hat PR send spotlight #2 blog entry draft to legal" {
2271
+ precedes !spotlight_feature2_drop
2272
+ length 5d
2273
+ flags fpl, pr
2274
+ }
2275
+
2276
+ task spotlight_feature2_drop "Red Hat PR publish spotlight #2 blog entry" {
2277
+ depends !shadow_spotlight_feature2
2278
+ flags fpl, pr
2279
+ }
2280
+
2281
+ task shadow_spotlight_feature2 "SHADOW: Two weeks until GA" {
2282
+ precedes !!!!LaunchPhase.final { gaplength 11d }
2283
+ length 1d
2284
+ flags hidden
2285
+ }
2286
+ }
2287
+
2288
+ task spotlight_feature3 "Spotlight feature #3" {
2289
+ task spotlight_feature3_draft "Draft spotlight #3 blog entry" {
2290
+ precedes !spotlight_feature3_legal
2291
+ length 5d
2292
+ flags fpl, pr
2293
+ }
2294
+
2295
+ task spotlight_feature3_legal "Red Hat PR send spotlight #3 blog entry draft to legal" {
2296
+ precedes !spotlight_feature3_drop
2297
+ length 5d
2298
+ flags fpl, pr
2299
+ }
2300
+
2301
+ task spotlight_feature3_drop "Red Hat PR publish spotlight #3 blog entry" {
2302
+ depends !shadow_spotlight_feature3
2303
+ flags fpl, pr
2304
+ }
2305
+
2306
+ task shadow_spotlight_feature3 "SHADOW: One week until GA" {
2307
+ precedes !!!!LaunchPhase.final { gaplength 6d }
2308
+ duration 1d
2309
+ flags hidden
2310
+ }
2311
+ }
2312
+ }
2313
+
2314
+ task usb_keys_prebriefs "USB Keys and media pre-briefs" {
2315
+ flags fpl, pr
2316
+
2317
+ task buy_usb_keys "Purchase USB Keys" {
2318
+ precedes !prepare_usb_keys
2319
+ length 5d
2320
+ }
2321
+
2322
+ task assess_press_kit "Check LiveUSB press review sheet for readiness" {
2323
+ precedes !update_press_one_sheet
2324
+ length 5d
2325
+ }
2326
+
2327
+ task update_press_one_sheet "Update LiveUSB press review sheet" {
2328
+ precedes !send_usb_keys
2329
+ length 5d
2330
+ }
2331
+
2332
+ task prepare_usb_keys "Prep USB keys with pre-release" {
2333
+ precedes !send_usb_keys
2334
+ length 5d
2335
+ }
2336
+
2337
+ task send_usb_keys "Send USB keys to Red Hat PR for distribution" {
2338
+ precedes !media_prebriefs {gaplength 10d}
2339
+ length 3d
2340
+ }
2341
+
2342
+ task distribute_usb_keys "Red Hat PR distribute USB keys to media contacts" {
2343
+ precedes !media_prebriefs {gaplength 7d}
2344
+ length 5d
2345
+ }
2346
+
2347
+ task media_prebriefs "Hold media prebrief interviews" {
2348
+ precedes !!!LaunchPhase.final
2349
+ length 6d
2350
+ }
2351
+ }
2352
+
2353
+ task redhat_com_update "Update Red Hat web site" {
2354
+ flags fpl, pr
2355
+
2356
+ task web_graphics_discuss "Schedule meeting with Red Hat web team to plan launch" {
2357
+ length 5d
2358
+ precedes !web_promo_to_brand
2359
+ }
2360
+
2361
+ task web_promo_to_brand "Send web promo ideas to Brand" {
2362
+ length 5d
2363
+ precedes !web_copy_review
2364
+ }
2365
+
2366
+ task web_copy_review "Review and update www.redhat.com/Fedora copy" {
2367
+ length 5d
2368
+ precedes !web_copy_send_update
2369
+ }
2370
+
2371
+ task web_copy_send_update "Send updated copy to Web team" {
2372
+ precedes !rh_web_goes_live { gaplength 11d }
2373
+ length 5d
2374
+ }
2375
+
2376
+ task rh_web_goes_live "Red Hat website changes go live" {
2377
+ depends !!!LaunchPhase.final
2378
+ }
2379
+ }
2380
+
2381
+ task ga_press_release "GA press release" {
2382
+ flags fpl, pr
2383
+
2384
+ task ga_press_release_draft "Start drafting GA press release" {
2385
+ length 10d
2386
+ precedes !ga_press_release_legal
2387
+ }
2388
+
2389
+ task ga_press_release_legal "Red Hat PR send GA press release to Legal" {
2390
+ length 5d
2391
+ precedes !ga_press_release_intl
2392
+ }
2393
+
2394
+ task ga_press_release_intl "Red Hat PR send GA press release to intl-pr list" {
2395
+ length 6d
2396
+ precedes !ga_press_release_drop
2397
+ }
2398
+
2399
+ task ga_press_release_drop "Red Hat PR publish and send GA press release to media contacts" {
2400
+ depends !!!LaunchPhase.final
2401
+ }
2402
+ }
2403
+
2404
+ task ceo_blog "CEO press blog entry" {
2405
+ flags fpl, pr
2406
+
2407
+ task ceo_prepare_final_rc "Prepare a final RC on USB for CEO" {
2408
+ precedes !ceo_send_final_rc
2409
+ length 2d
2410
+ }
2411
+
2412
+ task ceo_send_final_rc "Send final RC USB key to CEO" {
2413
+ precedes !ceo_solicit_feedback
2414
+ length 2d
2415
+ }
2416
+
2417
+ task ceo_solicit_feedback "Solicit CEO feedback on pre-release" {
2418
+ precedes !ceo_blog_draft
2419
+ length 4d
2420
+ }
2421
+
2422
+ task ceo_blog_draft "Draft CEO blog" {
2423
+ precedes !ceo_blog_legal
2424
+ length 3d
2425
+ }
2426
+
2427
+ task ceo_blog_legal "Red Hat PR send CEO blog to Legal" {
2428
+ precedes !ceo_blog_drop
2429
+ length 3d
2430
+ }
2431
+
2432
+ task ceo_blog_drop "Red Hat PR publish and send CEO blog to media contacts" {
2433
+ depends !!!LaunchPhase.final {gaplength 1d}
2434
+ }
2435
+ }
2436
+ }
2437
+
2438
+ } # Bitter End
2439
+
2440
+ include "reports.tji"
2441
+
2442
+ tagfile "tags"