wiki:リリースの方法 をフィードバック
@@ -454,23 +454,84 @@ | ||
454 | 454 | To release Tera Term installation package is shown in the following step: |
455 | 455 | </p> |
456 | 456 | |
457 | +<h3>From start release until create RC</h3> | |
458 | + | |
457 | 459 | <ol> |
458 | - <li>Increment the version while RC release process.<br /> | |
459 | - The binary is released for test in this timing. Prevent that old and new binary have same version number. | |
460 | + <li>Confirm ticket and branches. | |
460 | 461 | <ul> |
462 | + <li>Confirm in project team. | |
463 | + <ul> | |
464 | + <li>Organize / decide whether to include bug fix / feature in this release or defer.</li> | |
465 | + </ul> | |
466 | + </li> | |
467 | + <li>Merge branches | |
468 | + <ul> | |
469 | + <li>Verify trunk / 4-stable and working branches.</li> | |
470 | + </ul> | |
471 | + </li> | |
472 | + <li>Close tickets. | |
473 | + <ul> | |
474 | +<!-- | |
475 | + <li>すでに修正済み、処理済みのものはクローズする<br /> | |
476 | + リリース時には、対象のマイルストーンのチケットはすべてクローズされている状態になる</li> | |
477 | + <li>次のリリースへ回すものはマイルストーンを変更する<br /> | |
478 | + 次のリリース用マイルストーンを作成する</li> | |
479 | +--> | |
480 | + </ul> | |
481 | + </li> | |
482 | +<!-- | |
483 | + <li>この時点で新たに出てくるチケットの対応を検討する</li> | |
484 | +--> | |
485 | + </ul> | |
486 | + </li> | |
487 | + <li>Confirm tools, libraries, import sources. | |
488 | + <ul> | |
489 | + <li>Visual Studio (<a href="https://visualstudio.microsoft.com">https://visualstudio.microsoft.com</a>)</li> | |
490 | + <li>Inno Setup (<a href="https://jrsoftware.org/isdl.php">https://jrsoftware.org/isdl.php</a>)</li> | |
491 | + <li>Oniguruma (<a href="https://github.com/kkos/oniguruma">https://github.com/kkos/oniguruma</a>)</li> | |
492 | + <li>OpenSSL (<a href="https://www.openssl.org">https://www.openssl.org</a>)</li> | |
493 | + <li>zlib (<a href="https://www.zlib.net">http://www.zlib.net</a>)</li> | |
494 | + <li>PuTTY (<a href="https://www.chiark.greenend.org.uk/~sgtatham/putty/">http://www.chiark.greenend.org.uk/~sgtatham/putty/</a>)</li> | |
495 | + <li>SFMT (<a href="http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index-jp.html">http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index-jp.html</a>)</li> | |
496 | + <li>cJSON (<a href="https://github.com/DaveGamble/cJSON">https://github.com/DaveGamble/cJSON</a>)</li> | |
497 | + <li>The reference C implementation of Argon2 (<a href="https://github.com/P-H-C/phc-winner-argon2">https://github.com/P-H-C/phc-winner-argon2</a>)</li> | |
498 | + </ul> | |
499 | +<!-- | |
500 | + <p>リリースに使うバージョンはこの時点でおおむね決定する。</p> | |
501 | +--> | |
502 | + </li> | |
503 | +<!-- | |
504 | + <!--li>今回のリリースに入れたいものが落ち着く</li> | |
505 | +--> | |
506 | +</ol> | |
507 | + | |
508 | +<h3>From create RC until release</h3> | |
509 | + | |
510 | +<ol> | |
511 | + <li>Confirm documents. | |
512 | + <ul> | |
513 | +<!-- | |
514 | + <li>ダイアログ上の設定項目・UIのない特別オプション・コマンドラインパラメータ・新規マクロコマンドなど、対応するドキュメントに漏れがないか確認する。</li> | |
515 | + <li>変更履歴を確認し、書き忘れがあれば追記する。</li> | |
516 | + <li>変更履歴の順番を変更する。だいたいの指針としては、ターミナルエミュレーション関係・アプリケーションとしての変更・マクロの順。</li> | |
517 | + <li>ドキュメント差分が翻訳されていることを確認し、翻訳忘れがあれば翻訳する。</li> | |
518 | +--> | |
519 | + </ul> | |
520 | + </li> | |
521 | + <li>Increment the version while RC release process. | |
522 | + <p>The binary is released for test in this timing. Prevent that old and new binary have same version number.</p> | |
523 | + <ul> | |
461 | 524 | <li>teraterm\common\tt-version.h</li> |
462 | 525 | <li>ttssh2\ttxssh\ttxssh-version.h</li> |
463 | - <li>ttpmenu\ttpmenu.rc // only modifying</li> | |
526 | + <li>Onttpmenu\ttpmenu.rc // only modifying</li> | |
464 | 527 | <li>TTProxy\TTProxy.rc // only modifying</li> |
465 | 528 | <li>TTXKanjiMenu\ttxkanjimenu.rc // only modifying</li> |
466 | - <li>installer\teraterm.iss | |
467 | - <ul> | |
468 | - <li>version up AppVer and add "RC"</li> | |
469 | - <li>comment out snapshot</li> | |
470 | - <li>change called batch files</li> | |
471 | - </ul> | |
472 | - </li> | |
473 | 529 | </ul> |
530 | + <p> | |
531 | + By way of exception, CygTerm+ always upgrades not regarding Tera Term release process when the patch is committed.<br /> | |
532 | + The release date is the day committed by a developer. <!--そのため、修正・バージョンのインクリメント・変更履歴を同時にコミットする。--><br /> | |
533 | + Because user can get gcc compiler for free. | |
534 | + </p> | |
474 | 535 | </li> |
475 | 536 | <li>Increment the year of last publication of copyright notice if it is first release in this year. |
476 | 537 | <ul> |
@@ -497,106 +558,197 @@ | ||
497 | 558 | <li>doc\ja\html\macro\index.html</li> |
498 | 559 | </ul> |
499 | 560 | </li> |
500 | - <li>Check latest libraries and tools. | |
561 | + <li>Replace 64bit Cygwin binary | |
562 | + <p> | |
563 | +<!-- | |
564 | + 前回のリリースから CygTerm+ に変更がある場合は、64bit Cygwinでビルドした cygterm\cygterm+-x86_64\cygterm.exe をコミットする。<br /> | |
565 | + ソース修正をコミットするときに、同時にバイナリがコミットされていれば、リリース時にこの工程を行う必要はない。 | |
566 | +--> | |
567 | + </p> | |
568 | + </li> | |
569 | + <li>Create installer. | |
501 | 570 | <ul> |
502 | - <li>Visual Studio<br /> | |
503 | - http://www.microsoft.com/japan/msdn/vstudio/downloads/default.aspx</li> | |
504 | - <li>Inno Setup<br /> | |
505 | - http://www.jrsoftware.org/isdl.php</li> | |
506 | - <li>Oniguruma<br /> | |
507 | - http://www.microsoft.com/japan/msdn/vstudio/downloads/default.aspx</li> | |
508 | - <li>OpenSSL<br /> | |
509 | - http://www.openssl.org/</li> | |
510 | - <li>zlib<br /> | |
511 | - http://www.zlib.net/</li> | |
512 | - <li>PuTTY<br /> | |
513 | - http://www.chiark.greenend.org.uk/~sgtatham/putty/</li> | |
514 | - <li>SFMT<br /> | |
515 | - http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html</li> | |
516 | - <li>CygTerm<br /> | |
517 | - https://googledrive.com/host/0B1s-dM6d6yC4fmhEZ3c0VTNFWEFtV3daUlRGQmFHVnBmVHRybUNnUVliNWktNDRlZ2NnZTQ/index-e.html</li> | |
571 | + <li>Version up AppVer and add "RC" in teraterm.iss. | |
572 | + <pre> | |
573 | +- #define AppVer "4.105" | |
574 | ++ #define AppVer "4.106-RC1" | |
575 | + </pre> | |
576 | + </li> | |
577 | + <li>Comment out snapshot in teraterm.iss. | |
578 | + <pre> | |
579 | +- #define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', ''); | |
580 | ++ ;#define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', ''); | |
581 | + </pre> | |
582 | + </li> | |
583 | + <li>Change calling batch file to enable rebuild and create archive. | |
584 | + <pre> | |
585 | + [InnoIDE_PreCompile] | |
586 | + Name: makechm.bat | |
587 | +- Name: build.bat | |
588 | +- ;Name: build.bat; Parameters: rebuild | |
589 | ++ ;Name: build.bat | |
590 | ++ Name: build.bat; Parameters: rebuild | |
591 | + | |
592 | + [InnoIDE_PostCompile] | |
593 | +- ;Name: makearchive.bat; Parameters: release | |
594 | ++ Name: makearchive.bat; Parameters: release | |
595 | + | |
596 | + [PreCompile] | |
597 | + Name: makechm.bat | |
598 | +- Name: build.bat | |
599 | +- ;Name: build.bat; Parameters: rebuild | |
600 | ++ ;Name: build.bat | |
601 | ++ Name: build.bat; Parameters: rebuild | |
602 | + | |
603 | + [PostCompile] | |
604 | +- ;Name: makearchive.bat; Parameters: release | |
605 | ++ Name: makearchive.bat; Parameters: release | |
606 | + | |
607 | + [_ISToolPreCompile] | |
608 | + Name: makechm.bat | |
609 | +- Name: build.bat | |
610 | +- ;Name: build.bat; Parameters: rebuild | |
611 | ++ ;Name: build.bat | |
612 | ++ Name: build.bat; Parameters: rebuild | |
613 | + | |
614 | + [_ISToolPostCompile] | |
615 | +- ;Name: makearchive.bat; Parameters: release | |
616 | ++ Name: makearchive.bat; Parameters: release | |
617 | + </pre> | |
618 | + </li> | |
619 | + <li id="RC_commit">Commit this state.</li> | |
620 | + <li>Open teraterm\installer\teraterm.iss with ISTool, and create installer by "Project"-"Compile Setup."</li> | |
621 | + <li>Compress portable version with zip.</li> | |
518 | 622 | </ul> |
519 | 623 | </li> |
520 | - <li>Check the document files.</li> | |
521 | - <li>Increase the software version and modify date. | |
624 | + <li>Test run installer, run and connect in all supported OS.</li> | |
625 | + <li>Add to OSDN Release | |
522 | 626 | <ul> |
523 | - <li>teraterm.iss<br /> | |
524 | - remove "RC" from AppVer</li> | |
525 | - <li>html/about/hisotry.html</li> | |
627 | + <li>Add new release (e.g. "4.106 RC") to "Tera Term RC" Package.</li> | |
628 | + <li>Add installer and portable zip file to new release.</li> | |
526 | 629 | </ul> |
527 | - Note: Don't update the version number until the release, because the installer does not overwrite file when versions are same.<br /> | |
528 | - Note: By way of exception, CygTerm+ always upgrades not regarding Tera Term release process when the patch is committed. The release date is the day committed by a developer. The suffix of CygTerm+ version is patchlevel, and then a user can get gcc compiler for free. | |
529 | 630 | </li> |
530 | - <li>When CygTerm+ is changed from previous version, please build the software with 64bit Cygwin and replace cygterm\cygterm+-x86_64\cygterm.exe.</li> | |
531 | - <li>Evaluate executable program file. | |
631 | + <li>Announce RC release. | |
532 | 632 | <ul> |
533 | - <li>Make installer package<br /> | |
534 | - Open "teraterm\installer\teraterm.iss" with ISTool and call [Project]-[Compile Setup] with InnoSetup.</li> | |
535 | - <li>Test Tera Term installation and evaluate it.</li> | |
633 | + <li><a href="https://lists.osdn.me/mailman/listinfo/ttssh2-users">ttssh2-users</a> mailing list</li> | |
634 | + <li>Twitter (<a href="https://twitter.com/Tera_Term">https://twitter.com/Tera_Term</a>)</li> | |
536 | 635 | </ul> |
537 | 636 | </li> |
538 | - <li>Create SVN tag.<br /> | |
539 | - The naming rule is `teraterm-version'(ex. teraterm-4_82).<br /> | |
540 | -<pre> | |
541 | -svn copy -m "Release 4.82" svn+ssh://svn.osdn.net/svnroot/ttssh2/trunk svn+ssh://svn.osdn.net/svnroot/ttssh2/tags/teraterm-4_82 | |
542 | -</pre> | |
637 | + <li>Get feedbacks. | |
638 | + <p>If changed source code, redo "Confirm documents" and "Test run and connect in all supported OS."</p> | |
543 | 639 | </li> |
544 | - <li>Re-checkout from svn tag.</li> | |
545 | - <li>Make installer package | |
546 | - <ul> | |
547 | - <li>Edit "teraterm\installer\teraterm.iss" | |
548 | -<pre> | |
549 | -#define AppVer "4.???" | |
550 | -;#define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', ''); | |
640 | +</ol> | |
551 | 641 | |
552 | -[InnoIDE_PreCompile] | |
553 | -Name: makechm.bat | |
554 | -;Name: build.bat | |
555 | -Name: build.bat; Parameters: rebuild | |
642 | +<h3>Release</h3> | |
556 | 643 | |
557 | -[InnoIDE_PostCompile] | |
558 | -Name: makearchive.bat; Parameters: release | |
559 | 644 | |
560 | -[PreCompile] | |
561 | -Name: makechm.bat | |
562 | -;Name: build.bat | |
563 | -Name: build.bat; Parameters: rebuild | |
564 | - | |
565 | -[PostCompile] | |
566 | -Name: makearchive.bat; Parameters: release | |
567 | - | |
568 | -[_ISToolPreCompile] | |
569 | -Name: makechm.bat | |
570 | -;Name: build.bat | |
571 | -Name: build.bat; Parameters: rebuild | |
572 | - | |
573 | -[_ISToolPostCompile] | |
574 | -Name: makearchive.bat; Parameters: release | |
575 | -</pre> | |
645 | +<ol> | |
646 | + <li>Confirm documents. (same as above)</li> | |
647 | + <li>Modify release date. | |
648 | + <ul> | |
649 | + <li>html/about/hisotry.html</li> | |
650 | + </ul> | |
651 | + </li> | |
652 | + <li>Create installer. | |
653 | + <ul> | |
654 | + <li>Change AppVer in teraterm.iss. | |
655 | + <pre> | |
656 | +- #define AppVer "4.106-RC1" | |
657 | ++ #define AppVer "4.106" | |
658 | + </pre> | |
576 | 659 | </li> |
577 | - <li>Open "teraterm\installer\teraterm.iss" with ISTool and call [Project]-[Compile Setup] with InnoSetup.</li> | |
660 | + <li>Open teraterm\installer\teraterm.iss with ISTool, and create installer by "Project"-"Compile Setup."</li> | |
578 | 661 | </ul> |
579 | 662 | </li> |
663 | + <li>Commit this state.</li> | |
664 | + <li>Create SVN tag.<br /> | |
665 | + The naming rule is `teraterm-version' (e.g. teraterm-4_106). | |
666 | + <pre> | |
667 | +svn copy -m "Release 4.106" \ | |
668 | + svn+ssh://svn.osdn.net/svnroot/ttssh2/branches/4-stable \ | |
669 | + svn+ssh://svn.osdn.net/svnroot/ttssh2/tags/teraterm-4_106 | |
670 | + </pre> | |
671 | + </li> | |
672 | + <li>Re-checkout from svn tag.<br /> | |
673 | + <p>All source code is same as development branch. Only SVN revision is different.</p> | |
674 | + </li> | |
675 | + <li>Create installer. | |
676 | + <ul> | |
677 | + <li>Open teraterm\installer\teraterm.iss with ISTool, and create installer by "Project"-"Compile Setup."</li> | |
678 | + <li>Compress portable version with zip.</li> | |
679 | + </ul> | |
680 | + </li> | |
580 | 681 | <li>Update OSDN project site. |
581 | 682 | <ul> |
582 | - <li>Add new release.</li> | |
683 | + <li>add new release (e.g. "4.106") to "Tera Term" Package.</li> | |
684 | + <li>Add installer and portable zip file to new release.</li> | |
685 | +<!-- | |
686 | + <li>ドキュメントの変更履歴から、リリースの「変更履歴」に(Wikiフォーマットで)転記する(日本語・英語とも)</li> | |
687 | +--> | |
583 | 688 | <li>Submit news.</li> |
584 | 689 | </ul> |
585 | 690 | </li> |
586 | - <li>Announce release to mailing list(in Japan).</li> | |
587 | - <li>Update OSDN project home page.</li> | |
588 | - <li>Delete snapshots.</li> | |
589 | - <li>Announce release to forum(in Canada).<br /> | |
590 | - Announcements http://logmett.com/support-forums/5<br /> | |
591 | - Create new topic in `Announcements' entry.<br /> | |
592 | - Change the type of previous Announcement from Announcement to Normal.<br /> | |
593 | - Delete third previous Announcement.</li> | |
594 | - <li>Announce release to Twitter.<br /> | |
595 | - https://twitter.com/Tera_Term<br /> | |
596 | - Post release announcement and pin.</li> | |
691 | + <li>Update OSDN project home page (<a href="https://ttssh2.osdn.jp">https://ttssh2.osdn.jp</a>). | |
692 | + <p><a href="https://osdn.net/projects/ttssh2/wiki/%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E6%9B%B4%E6%96%B0%E6%89%8B%E9%A0%86">How to update project home page (in Japanese).</a></p> | |
597 | 693 | </li> |
598 | - <li>Update Chocolatey</li> | |
694 | + <li>Announce release. | |
695 | + <ul> | |
696 | + <li><a href="https://lists.osdn.me/mailman/listinfo/ttssh2-users">ttssh2-users</a> mailing list</li> | |
697 | + <li>Twitter (<a href="https://twitter.com/Tera_Term">https://twitter.com/Tera_Term</a>) | |
698 | + <ul> | |
699 | + <li>Pin announce tweet.</li> | |
700 | + </ul> | |
701 | + </li> | |
702 | + </ul> | |
703 | + </li> | |
704 | + <li id="revert_teraterm_iss">Revert teraterm.iss in development branch. | |
705 | + <pre> | |
706 | +- ;#define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', ''); | |
707 | ++ #define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', ''); | |
708 | + | |
709 | + [InnoIDE_PreCompile] | |
710 | + Name: makechm.bat | |
711 | +- ;Name: build.bat | |
712 | +- Name: build.bat; Parameters: rebuild | |
713 | ++ Name: build.bat | |
714 | ++ ;Name: build.bat; Parameters: rebuild | |
715 | + | |
716 | + [InnoIDE_PostCompile] | |
717 | +- Name: makearchive.bat; Parameters: release | |
718 | ++ ;Name: makearchive.bat; Parameters: release | |
719 | + | |
720 | + [PreCompile] | |
721 | + Name: makechm.bat | |
722 | +- ;Name: build.bat | |
723 | +- Name: build.bat; Parameters: rebuild | |
724 | ++ Name: build.bat | |
725 | ++ ;Name: build.bat; Parameters: rebuild | |
726 | + | |
727 | + [PostCompile] | |
728 | +- Name: makearchive.bat; Parameters: release | |
729 | ++ ;Name: makearchive.bat; Parameters: release | |
730 | + | |
731 | + [_ISToolPreCompile] | |
732 | + Name: makechm.bat | |
733 | +- ;Name: build.bat | |
734 | +- Name: build.bat; Parameters: rebuild | |
735 | ++ Name: build.bat | |
736 | ++ ;Name: build.bat; Parameters: rebuild | |
737 | + | |
738 | + [_ISToolPostCompile] | |
739 | +- Name: makearchive.bat; Parameters: release | |
740 | ++ ;Name: makearchive.bat; Parameters: release | |
741 | + </pre> | |
742 | + </li> | |
743 | + <li>Update Chocolatey.</li> | |
599 | 744 | </ol> |
600 | 745 | |
746 | +<h3>About code freeze.</h3> | |
747 | + | |
748 | +<p> | |
749 | +After code freeze, only critical bug fix is able to committed.<br /> | |
750 | +Code freeze start with <a href="#RC_commit">RC commit in development branch</a>, and end with <a href="#revert_teraterm_iss">revert teraterm.iss commit in development branch</a>. | |
751 | +</p> | |
752 | + | |
601 | 753 | </body> |
602 | 754 | </html> |
@@ -27,7 +27,7 @@ | ||
27 | 27 | <li><a href="#build-cygterm">CygTermのビルド方法</a></li> |
28 | 28 | <li><a href="#build-ttxsamples">TTXSamplesのビルド方法</a></li> |
29 | 29 | <li><a href="#build-htmlhelp">ヘルプファイルのビルド方法</a></li> |
30 | - <li><a href="#release">リリースの方法</a></li> | |
30 | + <li><a href="#release">リリースの手順</a></li> | |
31 | 31 | </ol> |
32 | 32 | |
33 | 33 | <hr> |
@@ -461,32 +461,83 @@ | ||
461 | 461 | </ol> |
462 | 462 | |
463 | 463 | |
464 | -<h2 id="release">リリースの方法</h2> | |
464 | +<h2 id="release">リリースの手順</h2> | |
465 | 465 | |
466 | 466 | <p> |
467 | -リリースの方法について以下に示します。 | |
467 | +TeraTerm Project でのリリース手順について以下に示します。 | |
468 | 468 | </p> |
469 | 469 | |
470 | +<h3>リリース作業の開始からRC作成まで</h3> | |
471 | + | |
470 | 472 | <ol> |
471 | - <li>RC 作成時にバージョンを一つインクリメントする。<br /> | |
472 | - 一般にテストを呼びかけ、旧バージョンとの同時実行が考えられるため、このタイミングとする(cf. TT_FILEMAPNAME 定義)。 | |
473 | + <li>チケット、ブランチなどを確認する | |
473 | 474 | <ul> |
474 | - <li>teraterm\common\tt-version.h</li> | |
475 | - <li>ttssh2\ttxssh\ttxssh-version.h</li> | |
476 | - <li>ttpmenu\ttpmenu.rc // only modifying</li> | |
477 | - <li>TTProxy\TTProxy.rc // only modifying</li> | |
478 | - <li>TTXKanjiMenu\ttxkanjimenu.rc // only modifying</li> | |
479 | - <li>installer\teraterm.iss | |
475 | + <li>プロジェクトチーム内で確認する | |
480 | 476 | <ul> |
481 | - <li>AppVer を上げ、"RC" を追加</li> | |
482 | - <li>snapshot を コメントアウト</li> | |
483 | - <li>バッチファイルの呼び出しを修正</li> | |
477 | + <li>今回のリリースに入れるもの・次回以降に延期するものを整理・決定する</li> | |
484 | 478 | </ul> |
485 | 479 | </li> |
480 | + <li>ブランチをマージする | |
481 | + <ul> | |
482 | + <li>trunk と 4-stable 間、作業中のブランチなど</li> | |
483 | + </ul> | |
484 | + </li> | |
485 | + <li>チケットをクローズする | |
486 | + <ul> | |
487 | + <li>すでに修正済み、処理済みのものはクローズする<br /> | |
488 | + リリース時には、対象のマイルストーンのチケットはすべてクローズされている状態になる</li> | |
489 | + <li>次のリリースへ回すものはマイルストーンを変更する<br /> | |
490 | + 次のリリース用マイルストーンを作成する</li> | |
491 | + </ul> | |
492 | + </li> | |
493 | + <li>この時点で新たに出てくるチケットの対応を検討する</li> | |
486 | 494 | </ul> |
487 | 495 | </li> |
488 | - <li>この年における最初のリリースの場合は、著作権表示の「最後の発行の年」をインクリメントする。 | |
496 | + <li>ツール、ライブラリ、インポート元の最新版をチェックする | |
489 | 497 | <ul> |
498 | + <li>Visual Studio (<a href="https://visualstudio.microsoft.com">https://visualstudio.microsoft.com</a>)</li> | |
499 | + <li>Inno Setup (<a href="https://jrsoftware.org/isdl.php">https://jrsoftware.org/isdl.php</a>)</li> | |
500 | + <li>Oniguruma (<a href="https://github.com/kkos/oniguruma">https://github.com/kkos/oniguruma</a>)</li> | |
501 | + <li>OpenSSL (<a href="https://www.openssl.org">https://www.openssl.org</a>)</li> | |
502 | + <li>zlib (<a href="https://www.zlib.net">http://www.zlib.net</a>)</li> | |
503 | + <li>PuTTY (<a href="https://www.chiark.greenend.org.uk/~sgtatham/putty/">http://www.chiark.greenend.org.uk/~sgtatham/putty/</a>)</li> | |
504 | + <li>SFMT (<a href="http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index-jp.html">http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index-jp.html</a>)</li> | |
505 | + <li>cJSON (<a href="https://github.com/DaveGamble/cJSON">https://github.com/DaveGamble/cJSON</a>)</li> | |
506 | + <li>The reference C implementation of Argon2 (<a href="https://github.com/P-H-C/phc-winner-argon2">https://github.com/P-H-C/phc-winner-argon2</a>)</li> | |
507 | + </ul> | |
508 | + <p>リリースに使うバージョンはこの時点でおおむね決定する。</p> | |
509 | + </li> | |
510 | + <li>今回のリリースに入れたいものが落ち着く</li> | |
511 | +</ol> | |
512 | + | |
513 | +<h3>RC作成からリリースまで</h3> | |
514 | + | |
515 | +<ol> | |
516 | + <li>ドキュメントを確認する | |
517 | + <ul> | |
518 | + <li>ダイアログ上の設定項目・UIのない特別オプション・コマンドラインパラメータ・新規マクロコマンドなど、対応するドキュメントに漏れがないか確認する。</li> | |
519 | + <li>変更履歴を確認し、書き忘れがあれば追記する。</li> | |
520 | + <li>変更履歴の順番を変更する。だいたいの指針としては、ターミナルエミュレーション関係・アプリケーションとしての変更・マクロの順。</li> | |
521 | + <li>ドキュメント差分が翻訳されていることを確認し、翻訳忘れがあれば翻訳する。</li> | |
522 | + </ul> | |
523 | + </li> | |
524 | + <li>バージョンを一つインクリメントする | |
525 | + <p>一般にテストを呼びかけ、旧バージョンとの同時実行が考えられるため、このタイミングとする(例: TT_FILEMAPNAME 定義 など)。</p> | |
526 | + <ul> | |
527 | + <li>teraterm\common\tt-version.h</li> | |
528 | + <li>ttssh2\ttxssh\ttxssh-version.h</li> | |
529 | + <li>Onttpmenu\ttpmenu.rc // 変更時のみ</li> | |
530 | + <li>TTProxy\TTProxy.rc // 変更時のみ</li> | |
531 | + <li>TTXKanjiMenu\ttxkanjimenu.rc // 変更時のみ</li> | |
532 | + </ul> | |
533 | + <p> | |
534 | + CygTerm+ は例外で、リリースとは関係なくバージョンが上がる。<br /> | |
535 | + 修正がコミットされると即リリース扱いになり、リリース日はその日付となる。そのため、修正・バージョンのインクリメント・変更履歴を同時にコミットする。<br /> | |
536 | + これはコンパイラの入手が容易なため。 | |
537 | + </p> | |
538 | + </li> | |
539 | + <li>この年における最初のリリースの場合は、著作権表示の「最後の発行の年」をインクリメントする | |
540 | + <ul> | |
490 | 541 | <li>teraterm\keycode\keycode-version.rc // VERSIONINFO</li> |
491 | 542 | <li>teraterm\teraterm\tt-version.rc // VERSIONINFO</li> |
492 | 543 | <li>teraterm\ttpcmn\ttpcmn-version.rc // VERSIONINFO</li> |
@@ -510,116 +561,192 @@ | ||
510 | 561 | <li>doc\ja\html\macro\index.html</li> |
511 | 562 | </ul> |
512 | 563 | </li> |
513 | - <li>依存ライブラリ、ツール、インポート元の最新版をチェックする。 | |
564 | + <li>64bit Cygwin バイナリを差し替える | |
565 | + <p> | |
566 | + 前回のリリースから CygTerm+ に変更がある場合は、64bit Cygwinでビルドした cygterm\cygterm+-x86_64\cygterm.exe をコミットする。<br /> | |
567 | + ソース修正をコミットするときに、同時にバイナリがコミットされていれば、リリース時にこの工程を行う必要はない。 | |
568 | + </p> | |
569 | + </li> | |
570 | + <li>インストーラを作成する | |
514 | 571 | <ul> |
515 | - <li>Visual Studio<br /> | |
516 | - http://www.microsoft.com/japan/msdn/vstudio/downloads/default.aspx</li> | |
517 | - <li>Inno Setup<br /> | |
518 | - http://www.jrsoftware.org/isdl.php</li> | |
519 | - <li>Oniguruma<br /> | |
520 | - http://www.microsoft.com/japan/msdn/vstudio/downloads/default.aspx</li> | |
521 | - <li>OpenSSL<br /> | |
522 | - http://www.openssl.org/</li> | |
523 | - <li>zlib<br /> | |
524 | - http://www.zlib.net/</li> | |
525 | - <li>PuTTY<br /> | |
526 | - http://www.chiark.greenend.org.uk/~sgtatham/putty/</li> | |
527 | - <li>SFMT<br /> | |
528 | - http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html</li> | |
529 | - <li>CygTerm<br /> | |
530 | - https://googledrive.com/host/0B1s-dM6d6yC4fmhEZ3c0VTNFWEFtV3daUlRGQmFHVnBmVHRybUNnUVliNWktNDRlZ2NnZTQ/index-e.html</li> | |
572 | + <li>teraterm.iss の AppVer を「次のバージョン-RC」とする | |
573 | + <pre> | |
574 | +- #define AppVer "4.105" | |
575 | ++ #define AppVer "4.106-RC1" | |
576 | + </pre> | |
577 | + </li> | |
578 | + <li>teraterm.iss の snapshot をコメントアウトする | |
579 | + <pre> | |
580 | +- #define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', ''); | |
581 | ++ ;#define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', ''); | |
582 | + </pre> | |
583 | + </li> | |
584 | + <li>teraterm.iss から起動するバッチを、リリース用に「リビルド有効」「アーカイブ作成有効」にする | |
585 | + <pre> | |
586 | + [InnoIDE_PreCompile] | |
587 | + Name: makechm.bat | |
588 | +- Name: build.bat | |
589 | +- ;Name: build.bat; Parameters: rebuild | |
590 | ++ ;Name: build.bat | |
591 | ++ Name: build.bat; Parameters: rebuild | |
592 | + | |
593 | + [InnoIDE_PostCompile] | |
594 | +- ;Name: makearchive.bat; Parameters: release | |
595 | ++ Name: makearchive.bat; Parameters: release | |
596 | + | |
597 | + [PreCompile] | |
598 | + Name: makechm.bat | |
599 | +- Name: build.bat | |
600 | +- ;Name: build.bat; Parameters: rebuild | |
601 | ++ ;Name: build.bat | |
602 | ++ Name: build.bat; Parameters: rebuild | |
603 | + | |
604 | + [PostCompile] | |
605 | +- ;Name: makearchive.bat; Parameters: release | |
606 | ++ Name: makearchive.bat; Parameters: release | |
607 | + | |
608 | + [_ISToolPreCompile] | |
609 | + Name: makechm.bat | |
610 | +- Name: build.bat | |
611 | +- ;Name: build.bat; Parameters: rebuild | |
612 | ++ ;Name: build.bat | |
613 | ++ Name: build.bat; Parameters: rebuild | |
614 | + | |
615 | + [_ISToolPostCompile] | |
616 | +- ;Name: makearchive.bat; Parameters: release | |
617 | ++ Name: makearchive.bat; Parameters: release | |
618 | + </pre> | |
619 | + </li> | |
620 | + <li id="RC_commit">この状態でコミットする</li> | |
621 | + <li>ISTool で teraterm\installer\teraterm.iss を開き、"Project"-"Compile Setup" でインストーラを作成する</li> | |
622 | + <li>作成されたポータブル版を zip で圧縮する</li> | |
531 | 623 | </ul> |
532 | 624 | </li> |
533 | - <li>ドキュメントを確認する。 | |
625 | + <li>サポートされている全 OS でインストーラの実行、起動、接続をチェックする</li> | |
626 | + <li>OSDN のリリース物件に追加する | |
534 | 627 | <ul> |
535 | - <li>ダイアログ上の設定項目・UIのない特別オプション・コマンドラインパラメータ・新規マクロコマンドなど、対応するドキュメントに漏れがないか確認する。</li> | |
536 | - <li>変更履歴の書き忘れを確認する。<br /> | |
537 | - おおむね変更した順に追記される変更履歴の順番を変更する。だいたいの指針としては、ターミナルエミュレーション関係・アプリケーションとしての変更・マクロの順。</li> | |
538 | - <li>ドキュメント差分が翻訳されていることを確認する。</li> | |
628 | + <li>「Tera Term RC」パッケージに新しいリリース(例: "4.106 RC")を追加する</li> | |
629 | + <li>新しいリリースに、インストーラ・ポータブル版の zip ファイルを追加する</li> | |
539 | 630 | </ul> |
540 | 631 | </li> |
541 | - <li>バージョンを上げ、日付を変更する。 | |
632 | + <li>RCの作成をアナウンスする | |
542 | 633 | <ul> |
543 | - <li>teraterm.iss<br /> | |
544 | - AppVer から RC を削除</li> | |
634 | + <li><a href="https://lists.osdn.me/mailman/listinfo/ttssh2-users">ttssh2-users</a> メーリングリスト</li> | |
635 | + <li>Twitter (<a href="https://twitter.com/Tera_Term">https://twitter.com/Tera_Term</a>)</li> | |
636 | + </ul> | |
637 | + </li> | |
638 | + <li>フィードバックを受け入れる | |
639 | + <p>修正が入ったら再度「ドキュメントを確認する」「サポートされている全 OS で起動・接続チェックする」</p> | |
640 | + </li> | |
641 | +</ol> | |
642 | + | |
643 | +<h3>リリース作業</h3> | |
644 | + | |
645 | +<ol> | |
646 | + <li>ドキュメントを確認する (詳細は同上)</li> | |
647 | + <li>リリース日を変更する | |
648 | + <ul> | |
545 | 649 | <li>html/about/hisotry.html</li> |
546 | 650 | </ul> |
547 | - CygTerm+ は例外で、リリースとは関係なくバージョンが上がる。<br /> | |
548 | - パッチがコミットされると即リリース扱いになり、リリース日はその日付となる。<br /> | |
549 | - これは、バージョンの末尾が patchlevel であり、コンパイラの入手が容易なため。 | |
550 | 651 | </li> |
551 | - <li>前回のリリースからCygTerm+に変更がある場合は、64bit Cygwinでビルドして cygterm\cygterm+-x86_64\cygterm.exe の差し替えを行う。</li> | |
552 | - <li>動作確認をする | |
652 | + <li>インストーラを作成する | |
553 | 653 | <ul> |
554 | - <li>インストーラを作成する。<br /> | |
555 | - ISTool で teraterm\installer\teraterm.iss を開き、[Project]-[Compile Setup]で作成される。</li> | |
556 | - <li>インストールおよび実行をテストする。</li> | |
654 | + <li>teraterm.iss の AppVer を変更する | |
655 | + <pre> | |
656 | +- #define AppVer "4.106-RC1" | |
657 | ++ #define AppVer "4.106" | |
658 | + </pre> | |
659 | + </li> | |
660 | + <li>ISTool で teraterm\installer\teraterm.iss を開き、"Project"-"Compile Setup" で作成する</li> | |
557 | 661 | </ul> |
558 | 662 | </li> |
559 | - <li>SVN のタグを作成する。<br /> | |
560 | - タグ名は「teraterm-バージョン」。たとえば、v4.82ならば"teraterm-4_82"。<br /> | |
561 | - <pre> | |
562 | -svn copy -m "Release 4.82" svn+ssh://svn.osdn.net/svnroot/ttssh2/trunk svn+ssh://svn.osdn.net/svnroot/ttssh2/tags/teraterm-4_82 | |
563 | - </pre> | |
663 | + <li>この状態でコミットする</li> | |
664 | + <li>SVN のタグを作成する<br /> | |
665 | + タグ名は「teraterm-バージョン」。(例: v4.106ならば"teraterm-4_106") | |
666 | + <pre> | |
667 | +svn copy -m "Release 4.106" \ | |
668 | + svn+ssh://svn.osdn.net/svnroot/ttssh2/branches/4-stable \ | |
669 | + svn+ssh://svn.osdn.net/svnroot/ttssh2/tags/teraterm-4_106 | |
670 | + </pre> | |
564 | 671 | </li> |
565 | - <li>リリース用のタグでチェックアウトし直す。</li> | |
566 | - <li>インストーラを作成する。 | |
672 | + <li>リリース用のタグでチェックアウトし直す<br /> | |
673 | + <p>SVN のリビジョン以外のすべてが、開発ブランチと同じ状態になる</p> | |
674 | + </li> | |
675 | + <li>インストーラを作成する | |
567 | 676 | <ul> |
568 | - <li>teraterm\installer\teraterm.iss を編集する | |
569 | -<pre> | |
570 | -#define AppVer "4.???" | |
571 | -;#define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', ''); | |
572 | - | |
573 | -[InnoIDE_PreCompile] | |
574 | -Name: makechm.bat | |
575 | -;Name: build.bat | |
576 | -Name: build.bat; Parameters: rebuild | |
577 | - | |
578 | -[InnoIDE_PostCompile] | |
579 | -Name: makearchive.bat; Parameters: release | |
580 | - | |
581 | -[PreCompile] | |
582 | -Name: makechm.bat | |
583 | -;Name: build.bat | |
584 | -Name: build.bat; Parameters: rebuild | |
585 | - | |
586 | -[PostCompile] | |
587 | -Name: makearchive.bat; Parameters: release | |
588 | - | |
589 | -[_ISToolPreCompile] | |
590 | -Name: makechm.bat | |
591 | -;Name: build.bat | |
592 | -Name: build.bat; Parameters: rebuild | |
593 | - | |
594 | -[_ISToolPostCompile] | |
595 | -Name: makearchive.bat; Parameters: release | |
596 | -</pre> | |
597 | - </li> | |
598 | - <li>ISTool で teraterm\installer\teraterm.iss を開き、[Project]-[Compile Setup]で作成される</li> | |
677 | + <li>ISTool で teraterm\installer\teraterm.iss を開き、"Project"-"Compile Setup" で作成する</li> | |
678 | + <li>作成されたポータブル版を zip で圧縮する</li> | |
599 | 679 | </ul> |
600 | 680 | </li> |
601 | - <li>OSDN を更新する。 | |
681 | + <li>OSDN を更新する | |
602 | 682 | <ul> |
603 | - <li>[ダウンロード]-[管理]-[新規作成]<br /> | |
604 | - 変更履歴を入力してリリースを作成する。</li> | |
605 | - <li>[ニュース一覧]-[新規登録]<br /> | |
606 | - ニュース記事を作成する。</li> | |
683 | + <li>「Tera Term」パッケージに新しいリリース(例: "4.106")を追加する</li> | |
684 | + <li>新しいリリースに、インストーラ・ポータブル版の zip ファイルを追加する</li> | |
685 | + <li>ドキュメントの変更履歴から、リリースの「変更履歴」に(Wikiフォーマットで)転記する(日本語・英語とも)</li> | |
686 | + <li>ニュース記事を作成する</li> | |
607 | 687 | </ul> |
608 | 688 | </li> |
609 | - <li>メーリングリストにアナウンスする。</li> | |
610 | - <li>プロジェクトページを更新する。</li> | |
611 | - <li>スナップショットを削除する。</li> | |
612 | - <li>Twitter に告知する。<br /> | |
613 | - https://twitter.com/Tera_Term<br /> | |
614 | - リリース告知をツイートして固定する。</li> | |
689 | + <li>プロジェクトページ (<a href="https://ttssh2.osdn.jp">https://ttssh2.osdn.jp</a>) を更新する | |
690 | + <p>更新のしかたは <a href="https://osdn.net/projects/ttssh2/wiki/%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E6%9B%B4%E6%96%B0%E6%89%8B%E9%A0%86">プロジェクトページの更新手順</a> を参照</p> | |
615 | 691 | </li> |
616 | - <li>フォーラムに告知する。<br /> | |
617 | - Announcements http://logmett.com/support-forums/5<br /> | |
618 | - Announcements に新規投稿する。種類は Announcement。<br /> | |
619 | - 一つ前の Announcement の種類を Normal に変更する。<br /> | |
620 | - Announcement は三個残すことになっているので、三つ前の Announcement を削除する。</li> | |
621 | - <li>Chocolatey の登録を更新</li> | |
692 | + <li>リリースをアナウンスする | |
693 | + <ul> | |
694 | + <li><a href="https://lists.osdn.me/mailman/listinfo/ttssh2-users">ttssh2-users</a> メーリングリスト</li> | |
695 | + <li>Twitter (<a href="https://twitter.com/Tera_Term">https://twitter.com/Tera_Term</a>) | |
696 | + <ul> | |
697 | + <li>リリースアナウンスのツイートを固定ツイートにする</li> | |
698 | + </ul> | |
699 | + </li> | |
700 | + </ul> | |
701 | + </li> | |
702 | + <li id="revert_teraterm_iss">開発ブランチの teraterm.iss を戻し、コミットする | |
703 | + <pre> | |
704 | +- ;#define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', ''); | |
705 | ++ #define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', ''); | |
706 | + | |
707 | + [InnoIDE_PreCompile] | |
708 | + Name: makechm.bat | |
709 | +- ;Name: build.bat | |
710 | +- Name: build.bat; Parameters: rebuild | |
711 | ++ Name: build.bat | |
712 | ++ ;Name: build.bat; Parameters: rebuild | |
713 | + | |
714 | + [InnoIDE_PostCompile] | |
715 | +- Name: makearchive.bat; Parameters: release | |
716 | ++ ;Name: makearchive.bat; Parameters: release | |
717 | + | |
718 | + [PreCompile] | |
719 | + Name: makechm.bat | |
720 | +- ;Name: build.bat | |
721 | +- Name: build.bat; Parameters: rebuild | |
722 | ++ Name: build.bat | |
723 | ++ ;Name: build.bat; Parameters: rebuild | |
724 | + | |
725 | + [PostCompile] | |
726 | +- Name: makearchive.bat; Parameters: release | |
727 | ++ ;Name: makearchive.bat; Parameters: release | |
728 | + | |
729 | + [_ISToolPreCompile] | |
730 | + Name: makechm.bat | |
731 | +- ;Name: build.bat | |
732 | +- Name: build.bat; Parameters: rebuild | |
733 | ++ Name: build.bat | |
734 | ++ ;Name: build.bat; Parameters: rebuild | |
735 | + | |
736 | + [_ISToolPostCompile] | |
737 | +- Name: makearchive.bat; Parameters: release | |
738 | ++ ;Name: makearchive.bat; Parameters: release | |
739 | + </pre> | |
740 | + </li> | |
741 | + <li>Chocolatey の登録を更新する</li> | |
622 | 742 | </ol> |
623 | 743 | |
744 | +<h3>コードフリーズについて</h3> | |
745 | + | |
746 | +<p> | |
747 | +コードフリース中は、原則的には致命的なバグの修正のみ可能となります。<br /> | |
748 | +コードフリーズは、RC作成(<a href="#RC_commit">開発ブランチ で teraterm.iss に RC を付けるコミット</a>)</a>からリリース(<a href="#revert_teraterm_iss">開発ブランチの teraterm.iss を戻すコミット</a>)までとします。 | |
749 | +</p> | |
750 | + | |
624 | 751 | </body> |
625 | 752 | </html> |