tree: f03f9cfb24b6bac01ac05c5b22100abad70c77aa
  1. .gitignore
  2. gather_prs.py
  3. list_rfcs.py
  4. make_notes.py
  5. README.md
tests/scripts/release/README.md

These scripts can be helpful when creating release notes.

# example: create a csv file of all PRs since the v0.8 and v0.9.0 releases
# the result will be in 2 CSV files based on the --threshold arg (small PRs vs large PRs)
export GITHUB_TOKEN=<github oauth token>
python release/gather_prs.py --from-commit $(git rev-parse v0.9.0) --to-commit $(git merge-base origin/main v0.8.0)

You can then import this CSV into a collaborative spreadsheet editor to distribute the work of categorizing PRs for the notes. Once done, you can download the resulting CSV and convert it to readable release notes.

# example: use a csv of cateogrized PRs to create a markdown file
python make_notes.py --notes-csv categorized_prs.csv > out.md

You can also create a list of RFCs

git clone https://github.com/apache/tvm-rfcs.git

# example: list RFCs since a specific commit in the tvm-rfcs repo
python list_rfcs.py --since-commit <hash> --rfcs-repo ./tvm-rfcs > rfc.md

Finally, combine rfc.md and out.md along with some prose to create the final release notes.