|
20 | 20 | intellectual responsibility, rather than as an actual |
21 | 21 | editor. —Syd, 2021-04-16 --> |
22 | 22 | <editor xml:id="SDB">Syd Bauman</editor> |
23 | | - <editor xml:id="POC">Patricia O Connor</editor> |
24 | | - <!-- Note: I'm listing myself as an editor solely because I added a change to update the document --> |
| 23 | + <editor xml:id="POC">Patricia O Connor</editor> |
25 | 24 | </titleStmt> |
26 | 25 | <publicationStmt> |
27 | 26 | <publisher>TEI Technical Council</publisher> |
|
33 | 32 | </sourceDesc> |
34 | 33 | </fileDesc> |
35 | 34 | <revisionDesc> |
| 35 | + <change when="2025-09-06" who="#EBB">Added guidance to check links in release notes, including links to latest corrected version of past release notes.</change> |
| 36 | + <change when="2025-08-27" who="#SDB">Per HBS, move “merge into "released"” steps up to immediately after the push into the "release-X.X.X" step.</change> |
| 37 | + <change when="2025-03-31" who="#POC">Revised and updated procedure as some checking steps are currently listed after the released branch is created. Moved steps 6 and 7 to after step 14.</change> |
36 | 38 | <change when="2025-01-22" who="#RV">Removed any mentions of Jenkins 3, now defunct.</change> |
37 | 39 | <change when="2024-11-02" who="#EBB">Clarified where to check on the Vault for the current releases of Stylesheets and Guidelines needed for building the oXygen plugin. |
38 | 40 | Revised instructions on how to update the table of releases for the GitHub website.</change> |
|
169 | 171 | have to retrace your steps. It's best to start first thing in the morning, and prepare |
170 | 172 | to be busy all day.</item> |
171 | 173 | </list> |
172 | | - |
173 | 174 | </div> |
174 | 175 |
|
175 | 176 | <div xml:id="issueHandlingGuidelines"> |
|
203 | 204 | and is actually handled by Peter Stadler, this step is not necessary. (JL, 2020-02-13) --> |
204 | 205 | <item><hi rend="bold">Communicate with the TEI Council chair to make sure that the P5/ReleaseNotes/readme-X.X.X.xml |
205 | 206 | is compiled</hi><lb/> Normally, this will be created by the TEI Council chair at the |
206 | | - point when the repository moved from its "alpha" stage to "beta", following these steps: <list> |
| 207 | + point when the repository moved from its "alpha" stage to "beta", following these steps: <list type="bulleted"> |
207 | 208 | <item>Confirm the version number for the new release in consultation with Council. TEI |
208 | 209 | version numbers are based on the Unicode Consortium system (<ref target="http://www.unicode.org/versions/" |
209 | 210 | >http://www.unicode.org/versions/</ref>) but with the first digit for major |
|
258 | 259 | <code>git pull origin</code> (to make sure your copy knows about the release branch)<lb/> |
259 | 260 | <code>git checkout --track origin/release-X.X.X</code> |
260 | 261 | </item> |
261 | | - <item>Check the release notes for typos or other glaring errors, one last time.</item> |
| 262 | + <item>Check the release notes for typos, link issues, or other glaring errors, one last time. If the current release notes |
| 263 | + mention revision of past release notes, check that the link URL is pointing to the current release in the Vault, |
| 264 | + which will contain the full collection of release notes. For example, for a revision to release notes in 4.10.0 in release 4.10.2, |
| 265 | + the URL should be: |
| 266 | + <ref target="https://www.tei-c.org/Vault/P5/4.10.2/doc/tei-p5-doc/readme-4.10.0.html">https://www.tei-c.org/Vault/P5/<hi rend="bold">4.10.2</hi>/doc/tei-p5-doc/<hi rend="bold">readme-4.10.0.html</hi></ref>. |
| 267 | + </item> |
262 | 268 | <item><hi rend="bold">Edit the P5/VERSION file to the correct number</hi><lb/> This file |
263 | 269 | consists only of the bare version number, followed by "alpha" or "beta":<lb/> |
264 | 270 | <code>2.8.2beta</code><lb/> For the release process, you need to remove the letters from |
|
273 | 279 | <hi rend="bold">Note:</hi> Tests may need to be updated after copying the updated p5subset.xml file to the Stylesheets/source directory of the Stylesheets release-X.X.X branch. It is recommended to use <code>make DIFFNOW=0 test</code> as this will generate all the actual results and then compare against the expected results afterwards. Once the actual results are generated, you have to manually compare the expected-results and actual-results folders (both under Stylesheets\Test\) and check through all of the files containing differences.</item> |
274 | 280 | <item><hi rend="bold">Announce a freeze on pushes to the release branch on the |
275 | 281 | TEI Technical Council mailing list</hi></item> |
276 | | - <item><hi rend="bold">Merge the release branch into <code>released</code></hi>. <lb/> |
277 | | - <code>git checkout released</code><lb/> |
278 | | - <code>git merge --no-ff -m "YOUR COMMIT MESSAGE" release-X.X.X</code></item> |
279 | | - <item><hi rend="bold">Repeat the steps above for the Stylesheets</hi> (have a stylesheets expert on hand |
280 | | - when releasing Stylesheets to help debug problems): |
| 282 | + |
| 283 | + <item><hi rend="bold">Commit your changes to the P5 release branch <code>release-X.X.X</code></hi>. <lb/> |
| 284 | + </item> |
| 285 | + |
| 286 | + <item><hi rend="bold">Complete the following steps for the Stylesheets</hi> (have a stylesheets expert on hand to help debug problems): |
281 | 287 | <list type="ordered"> |
282 | 288 | <item>Edit the Stylesheets/VERSION number to the correct release number (usually just |
283 | 289 | remove the 'a').</item> |
|
289 | 295 | </item> |
290 | 296 | </list> |
291 | 297 | </item> |
| 298 | + <!-- Steps 5 and 6 which instruct on how to merge the release branch into the released branch were originally here, but for the Jan 2025 creating the released branch at this point proved to be too early in the process and have now been moved after step 14 --> |
292 | 299 | <item><hi rend="bold">Push your changes</hi> for both P5 and the Stylesheets to the git |
293 | | - repository, <code>git push origin released</code><lb/> and watch Jenkins build P5 for you.<lb/> |
| 300 | + repository, <code>git push origin release-X.X.X</code><lb/> and watch Jenkins build P5 for you.<lb/> |
294 | 301 | This should be the final push for this version, and it will trigger the Jenkins servers |
295 | 302 | to rebuild the TEI packages. As a reminder, you can find the Jenkins servers here: |
296 | | - <list> |
| 303 | + <list type="bulleted"> |
297 | 304 | <item><ref target="https://jenkins.tei-c.org">https://jenkins.tei-c.org</ref></item> |
298 | 305 | <item><ref target="https://jenkins2.tei-c.org">https://jenkins2.tei-c.org</ref></item> |
299 | 306 | </list> |
|
312 | 319 | the Stylesheets build may fail after the TEI release is complete, so it is better to wait |
313 | 320 | until the TEI release is complete before doing the Stylesheets release. (Council is considering |
314 | 321 | changing how the dependency is managed).</item> |
| 322 | + |
| 323 | + <item> |
| 324 | + <hi rend="bold">Merge the release branch into <code>dev</code> and <code>released</code></hi>. |
| 325 | + <list type="ordered"> |
| 326 | + <item><code>git checkout released</code></item> |
| 327 | + <item><code>git merge --no-ff -m "YOUR COMMIT MESSAGE" release-X.X.X</code></item> |
| 328 | + <item><code>git checkout dev</code></item> |
| 329 | + <item><code>git merge --no-ff -m "YOUR COMMIT MESSAGE" release-X.X.X</code></item> |
| 330 | + <item>and don’t forget to <code>git checkout released</code></item> |
| 331 | + </list> |
| 332 | + </item> |
| 333 | + |
| 334 | + <item> |
| 335 | + <hi rend="bold">Repeat the steps above for the Stylesheets</hi>: |
| 336 | + <list type="ordered"> |
| 337 | + <item><code>git checkout released</code></item> |
| 338 | + <item><code>git merge --no-ff -m "YOUR COMMIT MESSAGE" release-X.X.X</code></item> |
| 339 | + <item><code>git checkout dev</code></item> |
| 340 | + <item><code>git merge --no-ff -m "YOUR COMMIT MESSAGE" release-X.X.X</code></item> |
| 341 | + <item>and don’t forget to <code>git checkout released</code></item> |
| 342 | + </list> |
| 343 | + </item> |
| 344 | + |
315 | 345 | <item><hi rend="bold">Ensure all changes have been committed, built, and successfully |
316 | 346 | passed tests on the continuous integration server</hi><lb/> When all builds have |
317 | 347 | completed on all Jenkins servers, click on the job number of the last build for each of the |
|
328 | 358 | <code>curl https://raw.githubusercontent.com/TEIC/TEI/dev/P5/Utilities/tei-install.sh -o ~/tei-install.sh</code>. |
329 | 359 | <lb/> (If you'll need to tweak that script later during the install process please make |
330 | 360 | sure to feed the changes back to the original script in the TEI repo.) |
331 | | - <lb/> Do the following three steps: <list> |
| 361 | + <lb/> Do the following three steps: |
| 362 | + <list type="bulleted"> |
332 | 363 | <item>Install on tei-c.org: <code>./tei-install.sh --package=TEIP5 --version=X.X.X |
333 | 364 | --sfuser=username --install</code> and then <emph>go test the version this puts in |
334 | | - the Vault</emph>.</item> |
| 365 | + the <ref target="https://www.tei-c.org/Vault/P5/">Vault</ref></emph>.</item> |
335 | 366 | <item>If that looks good and everyone agrees then: <code>./tei-install.sh |
336 | 367 | --package=TEIP5 --version=X.X.X --sfuser=username --makecurrent</code> and |
337 | 368 | then <emph>test that it appears on website correctly</emph>.</item> |
|
345 | 376 | the URL of the other server if necessary with the --Jenkins parameter, e.g. |
346 | 377 | --Jenkins=http://jenkins2.tei-c.org/. Make sure the script completes successfully each time |
347 | 378 | changing the final parameter from --install, to --makecurrent, and then --upload. </item> |
348 | | - |
349 | | - <item><hi rend="bold">Repeat the steps above for the Stylesheets</hi>, remembering that the version number is the Stylesheets version, which will be different from |
350 | | - the Guidelines version: |
| 379 | + |
| 380 | + <item><hi rend="bold">Repeat the steps above for the |
| 381 | + Stylesheets</hi>, remembering that the version number is |
| 382 | + the Stylesheets version, which will be different from the |
| 383 | + Guidelines version: |
351 | 384 | <lb/><code>./tei-install.sh --package=Stylesheets |
352 | 385 | --version=X.X.X --sfuser=username --install</code> |
353 | 386 | <lb/><code>./tei-install.sh --package=Stylesheets |
|
419 | 452 | Finally, close the current Milestone (do not delete it).</item> |
420 | 453 |
|
421 | 454 | <item><hi rend="bold">Update the Debian Package repository with the new release</hi><lb/> |
422 | | - The TEI Debian packages are regularily created during each Jenkins build. |
| 455 | + The TEI Debian packages are regularly created during each Jenkins build. |
423 | 456 | For each release you need to update the TEI Debian repository at |
424 | 457 | <ref target="http://packages.tei-c.org/deb/">http://packages.tei-c.org/deb/</ref> |
425 | 458 | which can be done by simply running <code>ant</code> on the TEI server within the |
|
436 | 469 | will do.--> |
437 | 470 | </item> |
438 | 471 |
|
439 | | - <item><hi rend="bold">Update the table of previous releases of P5 in the GitHub repo for the TEI-C website</hi>. The table is found in the src/guidelines/p5 markdown page, |
440 | | - published at <ref target="https://tei-c.org/guidelines/p5/#releases">https://tei-c.org/guidelines/p5</ref>.<lb/> |
441 | | - Add the new release information and links to the top of the release table.</item> |
| 472 | + <item> |
| 473 | + <hi rend="bold">Update the table of previous releases of P5 in the GitHub repo for the TEI-C website</hi>. |
| 474 | + The table is found in the <q>src/guidelines/p5.md</q> file |
| 475 | + in the <ref target="https://github.com/TEIC/website">website</ref> repository; it is published at <ref |
| 476 | + target="https://tei-c.org/guidelines/p5/#releases">https://tei-c.org/guidelines/p5</ref>. |
| 477 | + <lb/>Add the new release information and links to the top |
| 478 | + of the release table.</item> |
442 | 479 |
|
443 | 480 | <item><hi rend="bold">Update the oXygen-ready distribution of TEI.</hi><lb/> This involves |
444 | 481 | building the new package of oxygen-tei, and then updating the distribution file on the |
445 | 482 | TEI server so that the oXygen software knows about the new release. You may request to |
446 | 483 | hand this off to one of the maintainers (currently Syd Bauman, James Cummings, or Martin |
447 | | - Holmes) to do this for you if you're not familiar with the project. <list> |
| 484 | + Holmes) to do this for you if you're not familiar with the project. <list type="bulleted"> |
448 | 485 | <item>Check that you have ant (at least version 1.8) installed on your machine.</item> |
449 | 486 | <!-- MDH 2021-04-19: Added release="8" to javac call in framework/build.xml, and this now seems to |
450 | 487 | build fine with Java 14. Commenting out this step. --> |
|
474 | 511 | updateSite.oxygen file from the tei-c.org site, and asks the user to provide the new |
475 | 512 | version number before creating a new version of updateSite.oxygen. </item> |
476 | 513 |
|
477 | | - <item>Go to the GitHub repo and create a new release, using the <code>Draft new release</code> |
478 | | - button. Copy the previous release info (tag, title and text), and tweak the versions as appropriate. The tag should be <code>vx.x.x</code>, the title will be |
479 | | - <code>Release x.x.x</code>, and the text <quote>Release number X of the oXygen TEI plugin, based on TEI P5 x.x.x and Stylesheets x.x.x.</quote></item> |
| 514 | + <item>Go to the TEIC/oxygen-tei GitHub repo and create |
| 515 | + a new release, using the <code>Draft new release</code> |
| 516 | + button. Copy the previous release info (tag, title, and |
| 517 | + text), and tweak the versions as appropriate. The tag |
| 518 | + should be <code><emph>v</emph>x.x.x</code> (don’t forget |
| 519 | + the <q>v</q>!), the title will be <code>Release |
| 520 | + x.x.x</code>, and the text <quote>Release number X of |
| 521 | + the oXygen TEI plugin, based on TEI P5 x.x.x and |
| 522 | + Stylesheets x.x.x.</quote></item> |
480 | 523 |
|
481 | 524 | <item>Attach the zip file you just created in the build process, which will be named |
482 | 525 | something like <code>oxygen-tei-x.x.x-x.x.x.zip</code>, with the numbers from |
|
0 commit comments