How to release Tera Term installation package

  1. Start release operation
  2. Create RC, and after that
  3. Release
  4. About code freeze

To release Tera Term installation package is shown in the following step:

Start release operation

  1. Confirm ticket and branches.
  2. Confirm tools, libraries, import sources.

    Library versions are mostly determined at this timing.

    We use CI tool for release build. For this reason, the detailed version of Visual Studio is uncontrollable. The detailed version will depend on what version is adopted by the CI tool.

  3. What change is included in this release of not included is mostly determined.

Create RC, and aftet that

  1. Create a working branch. (from main or or stable branch)
    git switch main
    git checkout -b release/5_4_0-RC
    
  2. Confirm documents.
  3. Increment the version while RC release process.
  4. Increment the year of last publication of copyright notice if it is first release in this year.
  5. Create installer. (for check)
  6. Test run installer, run and connect in all supported OS.
  7. Commit and push.
  8. Create Pull Request to merge working branch.
  9. Merge the Pull Request. (to main or or stable branch)
  10. A Build workflow of GitHub Actions is run.
    Three builds are triggered on: push to the working branch, Pull Request creation, and merge commit to the main or stable branch.
    The merge commit is considered the release candidate.
  11. Announce RC release.
  12. Delete a working branch.
  13. Get feedbacks.
    If changed source code, redo "Confirm documents" and "Test run and connect in all supported OS."
  14. If you are going to release RC2, repeat the steps in this section starting from creating a working branch.

Release

  1. Create a working branch. (from main or or stable branch)
    git switch main
    git checkout -b release/5_4_0
    
  2. Confirm documents. (same as above)
  3. Remove "RC" string.
  4. Modify release date.
  5. Create installer. (for check)

    Check that build and installer generation without error.

  6. Commit and push.
  7. Create Pull Request to merge working branch.
  8. Merge the Pull Request. (to main or or stable branch)
  9. Create a tag and push.

    Use annotated tags. The naming rule is `v(version)' (e.g. v5.4.0).

    git switch main
    git pull --rebase
    git tag -a v5.4.0 -m "Release 5.4.0"
    git push origin v5.4.0
    
  10. The build workflow of GitHub Actions is run.
    Four builds are triggered on: push to the working branch, Pull Request creation, merge commit to the main or stable branch, and tag creation.
    The tag creation is considered the release.
    On release, the build workflow waits for approval in SignPath. Login to SignPath.io and Approve signing requests.
  11. Add to GitHub "Releases."
  12. Check anti-virus software
  13. Update project web page (https://teratermproject.github.io).

    How to update project home page (in Japanese).

  14. Announce release.
  15. When periodic release, create stable branch.
    git checkout -b stable_5_4
    
  16. Increment the version for text release

    When periodic release,

    When stable release,

  17. Check for download a installer binary.

    When execute a download binary, SmartScreen alerts "Windows protected your PC."

    When download a binary with Microsoft Edge, Smart screen warns "File is not commonly downloaded."

    Anti-Virus Software reports false positive.

  18. Update Chocolatey.
  19. Delete a working branch.

About code freeze.

After code freeze, only critical bug fix is able to committed.
Code freeze start with RC commit, and end with version increment commit..