tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

README.md (4129B)


NSS Release Documentation and Email Generation Scripts

This directory contains Python scripts to automate the generation of NSS release documentation and release announcement emails.

Scripts

1. `generate_release_doc.py`

Generates the RST documentation file for an NSS release based on the version number and commit history.

Usage:

python3 generate_release_doc.py <version> <previous_version> [output_file]

Arguments:

Examples:

# Generate documentation for NSS 3.118
python3 automation/release/generate_release_doc.py 3.118 3.117

# Generate documentation for NSS 3.118.1 with custom output path
python3 automation/release/generate_release_doc.py 3.118.1 3.118 doc/rst/releases/nss_3_118_1.rst

What it does:

  1. [output_file]: Optional. Path where to write the RST file. If not provided, defaults to doc/rst/releases/nss_<version>.rst
  2. [output_file]: Optional. Path where to write the RST file. If not provided, defaults to doc/rst/releases/nss_<version>.rst
  3. [output_file]: Optional. Path where to write the RST file. If not provided, defaults to doc/rst/releases/nss_<version>.rst
  4. [output_file]: Optional. Path where to write the RST file. If not provided, defaults to doc/rst/releases/nss_<version>.rst

2. `generate_release_email.py`

Generates the release announcement email text based on the version number and commit history.

Usage:

python3 generate_release_email.py <version> <previous_version> [output_file]

Arguments:

Examples:

# Generate email for NSS 3.118 (print to stdout)
python3 automation/release/generate_release_email.py 3.118 3.117

# Generate email for NSS 3.118.1 and save to file
python3 automation/release/generate_release_email.py 3.118.1 3.118 release_email_3.118.1.txt

What it does:

  1. [output_file]: Optional. Path where to write the email text. If not provided, prints to stdout
  2. [output_file]: Optional. Path where to write the email text. If not provided, prints to stdout
  3. [output_file]: Optional. Path where to write the email text. If not provided, prints to stdout
  4. [output_file]: Optional. Path where to write the email text. If not provided, prints to stdout

Requirements

Both scripts require:

Complete Release Workflow

For a complete NSS release (e.g., NSS 3.118), follow these steps:

  1. Release tags must exist in the repository (e.g., NSS_3_118_RTM, NSS_3_117_RTM)

`bash cd /path/to/nss python3 automation/release/generatereleasedoc.py 3.118 3.117 `

  1. Release tags must exist in the repository (e.g., NSS_3_118_RTM, NSS_3_117_RTM)

- Edit doc/rst/releases/index.rst to add the new release at the top of the toctree - Update the "latest version" note

  1. Release tags must exist in the repository (e.g., NSS_3_118_RTM, NSS_3_117_RTM)

`bash python3 automation/release/generatereleaseemail.py 3.118 3.117 > release_email.txt `

  1. Release tags must exist in the repository (e.g., NSS_3_118_RTM, NSS_3_117_RTM)

- Review the generated documentation - Commit the new release notes to the repository - Send the release email to the appropriate mailing list

Integration with Existing Tools

These scripts complement the existing nss-release-helper.py script, which provides a complete automated release workflow. You can use these standalone scripts if you need to:

Notes