Skip to content

Commit

Permalink
ci: use cliff to generate release notes (#571)
Browse files Browse the repository at this point in the history
* Use cliff to generate release notes

* Fix typos
  • Loading branch information
Ma233 authored Apr 2, 2024
1 parent 58a159e commit 73a3482
Show file tree
Hide file tree
Showing 7 changed files with 122 additions and 10 deletions.
18 changes: 14 additions & 4 deletions .github/workflows/auto-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -231,16 +231,26 @@ jobs:
with:
fetch-depth: 0

- uses: actions/download-artifact@v2
- name: Generate changelog
uses: orhun/git-cliff-action@v3
id: git-cliff
with:
config: cliff.toml
args: -vv --latest --strip header
env:
OUTPUT: CHANGES.md

- uses: actions/download-artifact@v3

- name: Display fetched artifacts
run: ls -R

- uses: "marvinpinto/action-automatic-releases@latest"
- uses: softprops/action-[email protected]
name: Emit a Github Release
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: ${{ needs.gen_version.outputs.version }}
token: "${{ secrets.GITHUB_TOKEN }}"
body: "${{ steps.git-cliff.outputs.content }}"
tag_name: ${{ needs.gen_version.outputs.version }}
prerelease: ${{ needs.gen_version.outputs.version == 'prerelease' }}
title: ${{ needs.gen_version.outputs.version }}
files: |
Expand Down
100 changes: 100 additions & 0 deletions cliff.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# git-cliff ~ configuration file
# https://git-cliff.org/docs/configuration

[changelog]
# changelog header
header = """
# Changelog\n
All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.\n
"""
# template for the changelog body
# https://keats.github.io/tera/docs/#introduction
body = """
---
{% if version %}\
{% if previous.version %}\
## [{{ version | trim_start_matches(pat="v") }}]($REPO/compare/{{ previous.version }}..{{ version }}) - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% endif %}\
{% else %}\
## [unreleased]
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }}
{% for commit in commits
| filter(attribute="scope")
| sort(attribute="scope") %}
- **({{commit.scope}})**{% if commit.breaking %} [**breaking**]{% endif %} \
{{ commit.message|trim }} - ([{{ commit.id | truncate(length=7, end="") }}]($REPO/commit/{{ commit.id }})) - {{ commit.author.name }}
{%- endfor -%}
{% raw %}\n{% endraw %}\
{%- for commit in commits %}
{%- if commit.scope -%}
{% else -%}
- {% if commit.breaking %} [**breaking**]{% endif %}\
{{ commit.message|trim }} - ([{{ commit.id | truncate(length=7, end="") }}]($REPO/commit/{{ commit.id }})) - {{ commit.author.name }}
{% endif -%}
{% endfor -%}
{% endfor %}\n
"""
# template for the changelog footer
footer = """
<!-- generated by git-cliff -->
"""
# remove the leading and trailing whitespace from the templates
trim = true
# postprocessors
postprocessors = [
# { pattern = '<REPO>', replace = "https://github.com/orhun/git-cliff" }, # replace repository URL
]

[git]
# parse the commits based on https://www.conventionalcommits.org
conventional_commits = true
# filter out the commits that are not conventional
filter_unconventional = true
# process each line of a commit as an individual commit
split_commits = false
# regex for preprocessing the commit messages
commit_preprocessors = [
# Replace issue numbers
#{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))"},
# Check spelling of the commit with https://github.com/crate-ci/typos
# If the spelling is incorrect, it will be automatically fixed.
#{ pattern = '.*', replace_command = 'typos --write-changes -' },
]
# regex for parsing and grouping commits
commit_parsers = [
{ message = "^feat", group = "<!-- 0 -->Features" },
{ message = "^fix", group = "<!-- 1 -->Bug Fixes" },
{ message = "^refactor", group = "<!-- 2 -->Refactor" },
{ message = "^doc", group = "<!-- 3 -->Documentation" },
{ message = "^perf", group = "<!-- 4 -->Performance" },
{ message = "^style", group = "<!-- 5 -->Styling" },
{ message = "^test", group = "<!-- 6 -->Testing" },
{ message = "^chore|^ci", group = "<!-- 7 -->Miscellaneous Tasks" },
{ body = ".*security", group = "<!-- 8 -->Security" },
{ message = "^revert", group = "<!-- 9 -->Revert" },
{ message = ".*", group = "<!-- 10 -->Other" },
{ message = "^chore\\(release\\): prepare for", skip = true },
{ message = "^chore\\(deps.*\\)", skip = true },
{ message = "^chore\\(pr\\)", skip = true },
{ message = "^chore\\(pull\\)", skip = true },
]
# protect breaking changes from being skipped due to matching a skipping commit_parser
protect_breaking_commits = false
# filter out the commits that are not matched by commit parsers
filter_commits = false
# regex for matching git tags
tag_pattern = "v[0-9].*"
# regex for skipping tags
# skip_tags = ""
# regex for ignoring tags
# ignore_tags = ""
# sort the tags topologically
topo_order = false
# sort the commits inside sections by oldest/newest order
sort_commits = "oldest"
# limit the number of commits included in the changelog.
# limit_commits = 42
2 changes: 1 addition & 1 deletion crates/node/bin/rings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ struct RunCommand {
#[arg(
long,
default_value = "200000000",
help = "Storage capcity. If not provider, use storage.capacity in config file or 200000000",
help = "Storage capacity. If not provider, use storage.capacity in config file or 200000000",
env
)]
pub storage_capacity: Option<u32>,
Expand Down
6 changes: 3 additions & 3 deletions crates/node/src/backend/snark/browser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -286,12 +286,12 @@ impl Input {
let data: Vec<(String, Vec<Field>)> = input
.into_iter()
.map(|s| {
let lst = js_sys::Array::from(&s);
let p = lst
let last = js_sys::Array::from(&s);
let p = last
.get(0)
.as_string()
.expect("first argument should be string like");
let v: Vec<Field> = js_sys::Array::from(&lst.get(1))
let v: Vec<Field> = js_sys::Array::from(&last.get(1))
.into_iter()
.map(|p| {
bigint_to_field(p.into(), field.clone())
Expand Down
2 changes: 1 addition & 1 deletion crates/node/src/provider/browser/provider.rs
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ impl Provider {
/// Ice_servers should obey forrmat: "[turn|strun]://<Address>:<Port>;..."
/// Account is hex string
/// Account should format as same as account_type declared
/// Account_type is lowercase string, possible input are: `eip191`, `ed25519`, `bip137`, for more imformation,
/// Account_type is lowercase string, possible input are: `eip191`, `ed25519`, `bip137`, for more information,
/// please check [rings_core::ecc]
/// Signer should be `async function (proof: string): Promise<Unit8Array>`
/// Signer should function as same as account_type declared, Eg: eip191 or secp256k1 or ed25519.
Expand Down
2 changes: 1 addition & 1 deletion crates/node/src/provider/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ impl Provider {
/// Ice_servers should obey forrmat: "[turn|strun]://<Address>:<Port>;..."
/// Account is hex string
/// Account should format as same as account_type declared
/// Account_type is lowercase string, possible input are: `eip191`, `ed25519`, `bip137`, for more imformation,
/// Account_type is lowercase string, possible input are: `eip191`, `ed25519`, `bip137`, for more information,
/// please check [rings_core::ecc]
/// Signer should accept a String and returns bytes.
/// Signer should function as same as account_type declared, Eg: eip191 or secp256k1 or ed25519.
Expand Down
2 changes: 2 additions & 0 deletions typos.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[type.rust]
extend-ignore-re = ["[wW]s", "WS"]

0 comments on commit 73a3482

Please sign in to comment.