diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d4314c..1744332 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,103 +2,103 @@ All notable changes to this project will be documented in this file. -## [0.4.1] - 2024-05-31 +## [0.4.1](https://github.com/zen-xu/sunray/compare/0.4.0..0.4.1) - 2024-05-31 ### ๐Ÿ› Bug Fixes -- Make ObjectRef type var as covariant (#48) +- Make ObjectRef type var as covariant ([#48](https://github.com/zen-xu/sunray/issues/48)) - ([dc2f4df](https://github.com/zen-xu/sunray/commit/dc2f4dff09effdbe9c3da22ec36b6f7eb9c9462f)) ### ๐Ÿšœ Refactor -- *(typing.py)* Move classes out of TYPE_CHECKING block (#49) +- *(typing.py)* Move classes out of TYPE_CHECKING block ([#49](https://github.com/zen-xu/sunray/issues/49)) - ([77f342c](https://github.com/zen-xu/sunray/commit/77f342c10ffc16eb59a1798a2ae6dfc648991455)) -## [0.4.0] - 2024-05-21 +## [0.4.0](https://github.com/zen-xu/sunray/compare/0.3.1..0.4.0) - 2024-05-21 -### ๐Ÿš€ Features +### ๐Ÿš€ Features -- Support `put` owner with Actor (#45) +- Support `put` owner with Actor ([#45](https://github.com/zen-xu/sunray/issues/45)) - ([9058ef6](https://github.com/zen-xu/sunray/commit/9058ef6c9ead13922f47fa52c8d0b286cf6eccde)) ### โš™๏ธ Miscellaneous Tasks -- *(taplo)* Disable reorder_keys (#43) +- *(taplo)* Disable reorder_keys ([#43](https://github.com/zen-xu/sunray/issues/43)) - ([79ca218](https://github.com/zen-xu/sunray/commit/79ca218e151fbbc45a534d35880982cffc6e442e)) -## [0.3.1] - 2024-05-20 +## [0.3.1](https://github.com/zen-xu/sunray/compare/0.3.0..0.3.1) - 2024-05-20 ### ๐Ÿ› Bug Fixes -- *(typing)* Fix `runtime_env` does not support extra options (#41) +- *(typing)* Fix `runtime_env` does not support extra options ([#41](https://github.com/zen-xu/sunray/issues/41)) - ([0be3cb3](https://github.com/zen-xu/sunray/commit/0be3cb37a1e76f9ea655b98f3efb87fcc5e70876)) ### โš™๏ธ Miscellaneous Tasks -- Update pyproject metadata (#42) +- Update pyproject metadata ([#42](https://github.com/zen-xu/sunray/issues/42)) - ([98fda59](https://github.com/zen-xu/sunray/commit/98fda59fb9ace0523af47329777d3fac3ad030c5)) -## [0.3.0] - 2024-05-11 +## [0.3.0](https://github.com/zen-xu/sunray/compare/0.2.0..0.3.0) - 2024-05-11 -### ๐Ÿš€ Features +### ๐Ÿš€ Features -- Support bind (#39) +- Support bind ([#39](https://github.com/zen-xu/sunray/issues/39)) - ([d707e6c](https://github.com/zen-xu/sunray/commit/d707e6c5491bef8ca98352d1ef3da388ee4ea975)) -## [0.2.0] - 2024-04-29 +## [0.2.0](https://github.com/zen-xu/sunray/compare/0.1.0..0.2.0) - 2024-04-29 -### ๐Ÿš€ Features +### ๐Ÿš€ Features -- Support actor to call self remote method (#31) +- Support actor to call self remote method ([#31](https://github.com/zen-xu/sunray/issues/31)) - ([b04ebd9](https://github.com/zen-xu/sunray/commit/b04ebd93710b205bec8c1dbbc095ec4a0a2a732d)) ### ๐Ÿ› Bug Fixes -- Fix __version__ (#33) +- Fix __version__ ([#33](https://github.com/zen-xu/sunray/issues/33)) - ([1cda9a7](https://github.com/zen-xu/sunray/commit/1cda9a735cd5e18b59b775e5e7e361cda2bdd6fd)) ### โš™๏ธ Miscellaneous Tasks -- Add commitizen config to support dump version (#34) -- *(cliff)* Add more skip cases (#35) -- Update release message (#36) +- *(cliff)* Add more skip cases ([#35](https://github.com/zen-xu/sunray/issues/35)) - ([5f78c30](https://github.com/zen-xu/sunray/commit/5f78c30fb364be2141a5d0ab7ce23a46acf481fc)) +- Update release message ([#36](https://github.com/zen-xu/sunray/issues/36)) - ([69e7cfb](https://github.com/zen-xu/sunray/commit/69e7cfb6191c67234eeff0809aebf6b93b8cd792)) +- Add commitizen config to support dump version ([#34](https://github.com/zen-xu/sunray/issues/34)) - ([a121aa9](https://github.com/zen-xu/sunray/commit/a121aa937b7b8fa80e71b04c8e7cd4d114cbf96b)) ## [0.1.0] - 2024-04-26 -### ๐Ÿš€ Features +### ๐Ÿš€ Features -- Impl ActorMixin (#12) -- Impl enhanced version of `ray.remote` (#14) -- Impl core apis (#15) +- Impl core apis ([#15](https://github.com/zen-xu/sunray/issues/15)) - ([3179efb](https://github.com/zen-xu/sunray/commit/3179efbaded1227720d0b9461f2d7a86ddd7d6c1)) +- Impl enhanced version of `ray.remote` ([#14](https://github.com/zen-xu/sunray/issues/14)) - ([d3fa7cc](https://github.com/zen-xu/sunray/commit/d3fa7cc8dcf7a8a0db54027f035cc41013b6147a)) +- Impl ActorMixin ([#12](https://github.com/zen-xu/sunray/issues/12)) - ([89058c5](https://github.com/zen-xu/sunray/commit/89058c59d101093112e4f6076270cc718bb20a8d)) ### ๐Ÿ› Bug Fixes -- Fix actor with empty options will raise exception (#17) -- Fix `remote_method` type annotations (#22) +- Fix `remote_method` type annotations ([#22](https://github.com/zen-xu/sunray/issues/22)) - ([03f338d](https://github.com/zen-xu/sunray/commit/03f338dd3f3df484b734bf9906e624e4b238560b)) +- Fix actor with empty options will raise exception ([#17](https://github.com/zen-xu/sunray/issues/17)) - ([2e480c5](https://github.com/zen-xu/sunray/commit/2e480c553a0b3a4871b61e8fe5e53b5a1a927514)) ### ๐Ÿšœ Refactor -- Move submodules into _internal/ (#16) +- Move submodules into _internal/ ([#16](https://github.com/zen-xu/sunray/issues/16)) - ([fa6d70a](https://github.com/zen-xu/sunray/commit/fa6d70a3fac3ac9be8a0fc93f4b98b9db56996e9)) ### ๐Ÿ“š Documentation -- Add README.md (#24) -- Update README.md (#26) -- Add cliff.toml and CHANGELOG.md (#27) +- Add cliff.toml and CHANGELOG.md ([#27](https://github.com/zen-xu/sunray/issues/27)) - ([c9d6592](https://github.com/zen-xu/sunray/commit/c9d65925ef264069daa2158bd5f3c172c7cce7be)) +- Update README.md ([#26](https://github.com/zen-xu/sunray/issues/26)) - ([328a04b](https://github.com/zen-xu/sunray/commit/328a04bdb7701bbc97aa9d4b87ae1d668288857f)) +- Add README.md ([#24](https://github.com/zen-xu/sunray/issues/24)) - ([afbc02a](https://github.com/zen-xu/sunray/commit/afbc02a9350c29c7488b0ccb01c9db6d003e67d5)) ### ๐Ÿงช Testing -- Use pytest-mypy-plugins to test typing (#21) +- Use pytest-mypy-plugins to test typing ([#21](https://github.com/zen-xu/sunray/issues/21)) - ([89f4554](https://github.com/zen-xu/sunray/commit/89f45546d5f06aafa85953dbf2964d8b19722370)) ### โš™๏ธ Miscellaneous Tasks -- Use poetry to manage project -- *(pre-commit)* Init pre-commit config (#2) -- *(ruff)* Init ruff config (#3) -- Add project vars __version__ and __authors__ (#5) -- Enable github test workflow (#6) -- Rm abc.xml (#7) -- Add taplo lint (#10) -- Remove unused import (#18) -- Add py.typed (#20) -- Upgrade github action codecov from v3 -> v4 (#23) -- Add test-mypy.yaml (#25) -- Enable release (#28) +- *(pre-commit)* Init pre-commit config ([#2](https://github.com/zen-xu/sunray/issues/2)) - ([feaea70](https://github.com/zen-xu/sunray/commit/feaea7083bd1d553d169fbeb66b388c7109a22e8)) +- *(ruff)* Init ruff config ([#3](https://github.com/zen-xu/sunray/issues/3)) - ([6a0a74d](https://github.com/zen-xu/sunray/commit/6a0a74d7866269755154bd572aad72e5e20bff58)) +- Enable release ([#28](https://github.com/zen-xu/sunray/issues/28)) - ([464cbf6](https://github.com/zen-xu/sunray/commit/464cbf6244fec337fea3821753e5b23d9cf0b6a6)) +- Add test-mypy.yaml ([#25](https://github.com/zen-xu/sunray/issues/25)) - ([27e546e](https://github.com/zen-xu/sunray/commit/27e546e11ff56fe7301f973745a99462813c041a)) +- Upgrade github action codecov from v3 -> v4 ([#23](https://github.com/zen-xu/sunray/issues/23)) - ([c371789](https://github.com/zen-xu/sunray/commit/c3717891d294cad7dfcfcba9cdccda87468fb76a)) +- Add py.typed ([#20](https://github.com/zen-xu/sunray/issues/20)) - ([b15a552](https://github.com/zen-xu/sunray/commit/b15a552c2323fdec14dfdc8266a2112b5cdf8a5b)) +- Remove unused import ([#18](https://github.com/zen-xu/sunray/issues/18)) - ([1f9a3f3](https://github.com/zen-xu/sunray/commit/1f9a3f3e8cac59164e7639bba0c53f1e944e8cf6)) +- Add taplo lint ([#10](https://github.com/zen-xu/sunray/issues/10)) - ([62af700](https://github.com/zen-xu/sunray/commit/62af700394d83c96938afa4ab4efb469723659e5)) +- Rm abc.xml ([#7](https://github.com/zen-xu/sunray/issues/7)) - ([0483cf3](https://github.com/zen-xu/sunray/commit/0483cf37c8d145293215cf8c41842fcf50a25970)) +- Enable github test workflow ([#6](https://github.com/zen-xu/sunray/issues/6)) - ([09d921a](https://github.com/zen-xu/sunray/commit/09d921a9cb1dbd31a490dff0a2435e1393a80f25)) +- Add project vars __version__ and __authors__ ([#5](https://github.com/zen-xu/sunray/issues/5)) - ([2a44a5a](https://github.com/zen-xu/sunray/commit/2a44a5a7318ea096895d0c58fbde3328e00f5a82)) +- Use poetry to manage project - ([5dbffe1](https://github.com/zen-xu/sunray/commit/5dbffe1984f5226e9d481ef673819dbb8f9332c3)) ### Build -- *(test-dep)* Add test dependencies (#4) -- Add dep typing-extensions (#19) +- *(test-dep)* Add test dependencies ([#4](https://github.com/zen-xu/sunray/issues/4)) - ([22fa233](https://github.com/zen-xu/sunray/commit/22fa2335fcd99e006128cc4d2f8cde424634872f)) +- Add dep typing-extensions ([#19](https://github.com/zen-xu/sunray/issues/19)) - ([0c7b3dd](https://github.com/zen-xu/sunray/commit/0c7b3ddbef270eaaeffed1bb82cd21d5e906edec)) diff --git a/cliff.toml b/cliff.toml index 9f69c3e..7e0826f 100644 --- a/cliff.toml +++ b/cliff.toml @@ -1,10 +1,14 @@ -# git-cliff ~ default configuration file +# git-cliff ~ configuration file # https://git-cliff.org/docs/configuration # # Lines starting with "#" are comments. # Configuration options are organized into tables and keys. # See documentation for more information on available options. +[remote.github] +owner = "zen-xu" +repo = "sunray" + [changelog] # changelog header header = """ @@ -14,29 +18,52 @@ All notable changes to this project will be documented in this file.\n # template for the changelog body # https://keats.github.io/tera/docs/#introduction body = """ +{%- macro remote_url() -%} + https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }} +{%- endmacro -%} + +{% macro print_commit(commit) -%} + - {% if commit.scope %}*({{ commit.scope }})* {% endif %}\ + {% if commit.breaking %}[**breaking**] {% endif %}\ + {{ commit.message | upper_first }} - \ + ([{{ commit.id | truncate(length=7, end="") }}]({{ self::remote_url() }}/commit/{{ commit.id }}))\ +{% endmacro -%} + {% if version %}\ - ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }} + {% if previous.version %}\ + ## [{{ version | trim_start_matches(pat="v") }}]\ + ({{ self::remote_url() }}/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 %} - - {% if commit.scope %}*({{ commit.scope }})* {% endif %}\ - {% if commit.breaking %}[**breaking**] {% endif %}\ - {{ commit.message | upper_first }}\ - {% endfor %} + {% for commit in commits + | filter(attribute="scope") + | sort(attribute="scope") %} + {{ self::print_commit(commit=commit) }} + {%- endfor -%} + {% raw %}\n{% endraw %}\ + {%- for commit in commits %} + {%- if not commit.scope -%} + {{ self::print_commit(commit=commit) }} + {% endif -%} + {% endfor -%} {% endfor %}\n """ # template for the changelog footer footer = """ """ -# remove the leading and trailing s +# remove the leading and trailing whitespace from the templates trim = true # postprocessors postprocessors = [ - # { pattern = '', replace = "https://github.com/orhun/git-cliff" }, # replace repository URL + { pattern = '', replace = "https://github.com/zen-xu/sunray" }, # replace repository URL ] [git] @@ -48,15 +75,11 @@ filter_unconventional = true split_commits = false # regex for preprocessing the commit messages commit_preprocessors = [ - # Replace issue numbers - #{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](/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 -' }, + { pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](/issues/${2}))" }, ] # regex for parsing and grouping commits commit_parsers = [ - { message = "^feat", group = "๐Ÿš€ Features" }, + { message = "^feat", group = "๐Ÿš€ Features" }, { message = "^fix", group = "๐Ÿ› Bug Fixes" }, { message = "^doc\\(typo\\)", skip = true }, { message = "^doc", group = "๐Ÿ“š Documentation" }, @@ -78,14 +101,12 @@ 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].*" +tag_pattern = "[0-9].*" # regex for skipping tags -# skip_tags = "" +skip_tags = "beta|alpha" # regex for ignoring tags -# ignore_tags = "" +ignore_tags = "rc" # 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 +sort_commits = "newest"