TeraTerm Project でのリリース手順について以下に示します。
リリースに使うライブラリのバージョンはこの時点でおおむね決定する。
リリースビルドには CI ツールを使っているため、Visual Studio の詳細バージョンはコントロールできない。どのバージョンになるかは CI ツールがどのバージョンを採用するかに左右される。
#define TT_VERSION_MAJOR 5 #define TT_VERSION_MINOR 4 #define TT_VERSION_PATCH 0 - #define TT_VERSION_SUBSTR "dev" + #define TT_VERSION_SUBSTR "RC"TT_VERSION_MINOR または TT_VERSION_PATCH は、前回のリリース直後にインクリメントされている。
- #define AppVer "5.4.0-dev" + #define AppVer "5.4.0-RC" [PreCompile] Name: makechm.bat - Name: build.bat - ;Name: build.bat; Parameters: rebuild + ;Name: build.bat + Name: build.bat; Parameters: rebuild [PostCompile] - ;Name: makearchive.bat; Parameters: release + Name: makearchive.bat; Parameters: release
CygTerm+ は例外で、リリースとは関係なくバージョンが上がる。
修正がコミットされると即リリース扱いになり、リリース日はその日付となる。そのため、修正・バージョンのインクリメント・変更履歴を同時にコミットする。
これはコンパイラの入手が容易なため。
AppVeyor の "github-main" プロジェクトを使用する。
修正が入ったら再度「ドキュメントを確認する」「サポートされている全 OS で起動・接続チェックする」
#define TT_VERSION_MAJOR 5 #define TT_VERSION_MINOR 4 #define TT_VERSION_PATCH 0 - #define TT_VERSION_SUBSTR "RC" + #undef TT_VERSION_SUBSTR
- #define AppVer "5.4.0-RC" + #define AppVer "5.4.0"
ビルド・インストーラの生成がエラーなくできることを確認する。
タグは annotated tags とする。
タグ名は「v(バージョン)」。(例: 5.4.0ならば "v5.4.0" )
git tag -a v5.4.0 -m "Release 5.4.0" git push origin v5.4.0
AppVeyor の "github-release" プロジェクトを使用する。
更新のしかたは プロジェクトページの更新手順 を参照
git checkout -b stable_5_4
定期リリースの場合
#define TT_VERSION_MAJOR 5 - #define TT_VERSION_MINOR 4 + #define TT_VERSION_MINOR 5 #define TT_VERSION_PATCH 0 - #undef TT_VERSION_SUBSTR + #define TT_VERSION_SUBSTR "dev"
#define TTSSH_VERSION_MAJOR 3 - #define TTSSH_VERSION_MINOR 4 + #define TTSSH_VERSION_MINOR 5 #define TTSSH_VERSION_PATCH 0
- #define AppVer "5.4.0" + #define AppVer "5.5.0-dev" [PreCompile] Name: makechm.bat - ;Name: build.bat - Name: build.bat; Parameters: rebuild + Name: build.bat + ;Name: build.bat; Parameters: rebuild [PostCompile] - Name: makearchive.bat; Parameters: release + ;Name: makearchive.bat; Parameters: release
<h3 id="teraterm_5.5.0">YYYY.MM.DD (Ver 5.5.0 not released yet)</h3>
#define TT_VERSION_MAJOR 5 #define TT_VERSION_MINOR 4 - #define TT_VERSION_PATCH 0 - #undef TT_VERSION_SUBSTR + #define TT_VERSION_PATCH 1 + #define TT_VERSION_SUBSTR "dev"
#define TTSSH_VERSION_MAJOR 3 #define TTSSH_VERSION_MINOR 4 - #define TTSSH_VERSION_PATCH 0 + #define TTSSH_VERSION_PATCH 1
- #define AppVer "5.4.0" + #define AppVer "5.4.1-dev" [PreCompile] Name: makechm.bat - ;Name: build.bat - Name: build.bat; Parameters: rebuild + Name: build.bat + ;Name: build.bat; Parameters: rebuild [PostCompile] - Name: makearchive.bat; Parameters: release + ;Name: makearchive.bat; Parameters: release
<h3 id="teraterm_5.4.1">YYYY.MM.DD (Ver 5.4.1 not released yet)</h3>
安定版リリースの場合
#define TT_VERSION_MAJOR 5 #define TT_VERSION_MINOR 4 - #define TT_VERSION_PATCH 1 - #undef TT_VERSION_SUBSTR + #define TT_VERSION_PATCH 2 + #define TT_VERSION_SUBSTR "dev"
#define TTSSH_VERSION_MAJOR 3 #define TTSSH_VERSION_MINOR 4 - #define TTSSH_VERSION_PATCH 1 + #define TTSSH_VERSION_PATCH 2
- #define AppVer "5.4.1" + #define AppVer "5.4.2-dev" [PreCompile] Name: makechm.bat - ;Name: build.bat - Name: build.bat; Parameters: rebuild + Name: build.bat + ;Name: build.bat; Parameters: rebuild [PostCompile] - Name: makearchive.bat; Parameters: release + ;Name: makearchive.bat; Parameters: release
<h3 id="teraterm_5.4.2">YYYY.MM.DD (Ver 5.4.2 not released yet)</h3>
ダウンロードしたファイルを実行すると、SmartScreen が「WindowsによってPCが保護されました」という警告を出すことがある。
これが解消されないと、窓の杜はインストーラを掲載しない。
Microsoft Edge でダウンロードすると、SmartScreen が「一般的にダウンロードされていません」という警告を出す。
ウイルス対策ソフトが誤検出することがある。
keycode.exe がキーロガーとして検出されやすいらしい。
Microsoft には誤検出の申し立てができる。「PCが保護されました」の解消のため報告する。
ウイルス対策ソフトに検出されている状態だと push したバイナリが公開差し止めになることがある。
同じバージョンを複数回 push できないようなので、push 作業をミスることができない。
現在 teraterm5 パッケージは reject されている。
コードフリース中は、原則的には致命的なバグの修正のみ可能となります。
コードフリーズは、RC作成(teraterm.iss に RC を付けるコミット)から(バージョンをインクリメントするコミット)までとします。