Skip to content

Commit 5076be0

Browse files
committed
chore: add a changelog
1 parent 59989b0 commit 5076be0

File tree

2 files changed

+362
-0
lines changed

2 files changed

+362
-0
lines changed

CHANGELOG.md

Lines changed: 249 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,249 @@
1+
# Changelog
2+
3+
4+
<sub>The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).</sub>
5+
6+
7+
8+
## [Unreleased]
9+
10+
### <!-- 0 -->🚀 Features
11+
- Check buildability and fallback when build doesn't work
12+
- Compile the callgrind wrapper at build time
13+
14+
### <!-- 1 -->🐛 Bug Fixes
15+
- Allow build on arm64
16+
17+
### <!-- 7 -->⚙️ Internals
18+
- Define the version from the pyproject.toml
19+
- Force native extension build in CI
20+
- Updated matrix release workflow
21+
- Use a common python version in the codspeed job
22+
- Fix the codspeed workflow
23+
- Use uv in CI
24+
- Uv lock
25+
26+
27+
## [3.0.0] - 2024-10-29
28+
29+
### <!-- 1 -->🐛 Bug Fixes
30+
- Fix compatibility with pytest-benchmark 5.0.0 by @art049 in [#54](https://github.com/CodSpeedHQ/pytest-codspeed/pull/54)
31+
32+
### <!-- 7 -->⚙️ Internals
33+
- Drop support for python3.8 by @art049
34+
- Expose type information (#53) by @Dreamsorcerer in [#53](https://github.com/CodSpeedHQ/pytest-codspeed/pull/53)
35+
- Run the CI with ubuntu 24.04 by @art049
36+
- Improve naming in workflow examples by @art049
37+
- Bump actions/checkout to v4 (#47) by @fargito in [#47](https://github.com/CodSpeedHQ/pytest-codspeed/pull/47)
38+
39+
40+
## [3.0.0b4] - 2024-09-27
41+
42+
### <!-- 0 -->🚀 Features
43+
- Send more outlier data by @art049
44+
45+
### <!-- 1 -->🐛 Bug Fixes
46+
- Fix display of parametrized tests by @art049
47+
- Reenable gc logic by @art049
48+
49+
### <!-- 6 -->🧪 Testing
50+
- Add benches for various syscalls by @art049
51+
52+
53+
## [3.0.0b3] - 2024-09-26
54+
55+
### <!-- 0 -->🚀 Features
56+
- Also save the lower and upper fences in the json data by @art049 in [#46](https://github.com/CodSpeedHQ/pytest-codspeed/pull/46)
57+
58+
### <!-- 6 -->🧪 Testing
59+
- Refactor the algorithm benches using parametrization and add benches on bit_manipulation by @art049
60+
61+
62+
## [3.0.0b2] - 2024-09-24
63+
64+
### <!-- 0 -->🚀 Features
65+
- Also save the q1 and q3 in the json data by @art049 in [#45](https://github.com/CodSpeedHQ/pytest-codspeed/pull/45)
66+
- Add the --codspeed-max-time flag by @art049
67+
68+
69+
## [3.0.0b1] - 2024-09-20
70+
71+
### <!-- 0 -->🚀 Features
72+
- Send the semver version to cospeed instead of the PEP440 one by @art049 in [#44](https://github.com/CodSpeedHQ/pytest-codspeed/pull/44)
73+
- Also store the semver version by @art049
74+
75+
### <!-- 6 -->🧪 Testing
76+
- Add benches for TheAlgorithms/backtracking by @art049 in [#43](https://github.com/CodSpeedHQ/pytest-codspeed/pull/43)
77+
78+
79+
## [3.0.0b0] - 2024-09-18
80+
81+
### <!-- 0 -->🚀 Features
82+
- Improve table style when displaying results by @art049 in [#41](https://github.com/CodSpeedHQ/pytest-codspeed/pull/41)
83+
- Add the total bench time to the collected stats by @art049
84+
- Add configuration and split tests between instruments by @art049
85+
- Add outlier detection in the walltime instrument by @art049
86+
- Implement the walltime instrument by @art049
87+
- Add bench of various python noop by @art049
88+
- Avoid overriding pytest's default protocol (#32) by @kenodegard in [#32](https://github.com/CodSpeedHQ/pytest-codspeed/pull/32)
89+
90+
### <!-- 1 -->🐛 Bug Fixes
91+
- Use importlib_metadata to keep backward compatibility by @art049
92+
- Properly decide the mode depending on our env variable spec by @art049
93+
- Disable pytest-speed when installed and codspeed is enabled by @art049
94+
95+
### <!-- 2 -->🏗️ Refactor
96+
- Differentiate the mode from the underlying instrument by @art049
97+
- Move the instrumentation wrapper directly in the instrument by @art049
98+
- Change Instrumentation to CPUInstrumentation by @art049
99+
- Create an abstraction for each instrument by @art049
100+
101+
### <!-- 3 -->📚 Documentation
102+
- Update action version in the CI workflow configuration (#39) by @frgfm in [#39](https://github.com/CodSpeedHQ/pytest-codspeed/pull/39)
103+
- Bump action versions in README by @adriencaccia
104+
105+
### <!-- 6 -->🧪 Testing
106+
- Add benches for TheAlgorithms/audio_filters by @art049 in [#42](https://github.com/CodSpeedHQ/pytest-codspeed/pull/42)
107+
108+
### <!-- 7 -->⚙️ Internals
109+
- Add a test on the walltime instrument by @art049
110+
- Fix utils test using a fake git repo by @art049
111+
- Update readme by @art049
112+
- Support python 3.13 and drop 3.7 by @art049 in [#40](https://github.com/CodSpeedHQ/pytest-codspeed/pull/40)
113+
- Add TCH, FA, and UP to ruff lints (#29) by @kenodegard in [#29](https://github.com/CodSpeedHQ/pytest-codspeed/pull/29)
114+
115+
116+
## [2.2.1] - 2024-03-19
117+
118+
### <!-- 0 -->🚀 Features
119+
- Support pytest 8.1.1 by @art049
120+
121+
### <!-- 1 -->🐛 Bug Fixes
122+
- Loosen runtime requirements (#21) by @edgarrmondragon in [#21](https://github.com/CodSpeedHQ/pytest-codspeed/pull/21)
123+
124+
### <!-- 7 -->⚙️ Internals
125+
- Add all-checks job to CI workflow by @art049 in [#28](https://github.com/CodSpeedHQ/pytest-codspeed/pull/28)
126+
- Switch from black to ruff format by @art049
127+
- Update action version in README.md by @adriencaccia
128+
- Add codspeed badge to the readme by @art049
129+
130+
131+
## [2.2.0] - 2023-09-01
132+
133+
### <!-- 0 -->🚀 Features
134+
- Avoid concurrent wrapper builds by @art049
135+
- Add a test for pytest-xdist compatibility by @art049
136+
137+
### <!-- 1 -->🐛 Bug Fixes
138+
- Fix xdist test output assertion by @art049
139+
140+
141+
## [2.1.0] - 2023-07-27
142+
143+
### <!-- 1 -->🐛 Bug Fixes
144+
- Fix relative git path when using working-directory by @art049 in [#15](https://github.com/CodSpeedHQ/pytest-codspeed/pull/15)
145+
- Fix typo in release.yml (#14) by @art049 in [#14](https://github.com/CodSpeedHQ/pytest-codspeed/pull/14)
146+
147+
148+
## [2.0.1] - 2023-07-22
149+
150+
### <!-- 0 -->🚀 Features
151+
- Release the package from the CI with trusted provider by @art049
152+
- Add a return type to the benchmark fixture by @art049 in [#13](https://github.com/CodSpeedHQ/pytest-codspeed/pull/13)
153+
- Add support for returning values (#12) by @patrick91 in [#12](https://github.com/CodSpeedHQ/pytest-codspeed/pull/12)
154+
155+
### <!-- 1 -->🐛 Bug Fixes
156+
- Fix setuptools installation with python3.12 by @art049
157+
158+
159+
## [2.0.0] - 2023-07-04
160+
161+
### <!-- 0 -->🚀 Features
162+
- Warmup performance map generation by @art049
163+
- Add some details about the callgraph generation status in the header by @art049
164+
- Test that perf maps are generated by @art049
165+
- Add a local test matrix with hatch by @art049
166+
- Test that benchmark selection with -k works by @art049
167+
- Add support for CPython3.12 and perf trampoline by @art049
168+
- Add introspection benchmarks by @art049 in [#9](https://github.com/CodSpeedHQ/pytest-codspeed/pull/9)
169+
170+
### <!-- 1 -->🐛 Bug Fixes
171+
- Support benchmark.extra_info parameters on the fixture by @art049 in [#10](https://github.com/CodSpeedHQ/pytest-codspeed/pull/10)
172+
- Filter out pytest-benchmark warnings in the tests by @art049
173+
174+
### <!-- 2 -->🏗️ Refactor
175+
- Use the pytest_run_protocol hook for better exec control by @art049
176+
177+
### <!-- 7 -->⚙️ Internals
178+
- Separate the benchmark workflow by @art049 in [#8](https://github.com/CodSpeedHQ/pytest-codspeed/pull/8)
179+
- Bump version to 1.3.0 to trigger the callgraph generation by @art049
180+
- Reuse same test code in the tests by @art049
181+
- Bump linting dependencies by @art049
182+
- Bump precommit in the CI by @art049
183+
- Add python3.12 to the ci matrix by @art049
184+
- Restructure dev dependencies by @art049
185+
- Replace isort by ruff by @art049 in [#11](https://github.com/CodSpeedHQ/pytest-codspeed/pull/11)
186+
- Add discord badge in the readme by @art049
187+
188+
189+
## [1.2.2] - 2022-12-02
190+
191+
### <!-- 0 -->🚀 Features
192+
- Add library metadata in the profile output by @art049 in [#5](https://github.com/CodSpeedHQ/pytest-codspeed/pull/5)
193+
194+
195+
## [1.2.1] - 2022-11-28
196+
197+
### <!-- 1 -->🐛 Bug Fixes
198+
- Support kwargs with the benchmark fixture by @art049 in [#4](https://github.com/CodSpeedHQ/pytest-codspeed/pull/4)
199+
200+
201+
## [1.2.0] - 2022-11-22
202+
203+
### <!-- 1 -->🐛 Bug Fixes
204+
- Avoid wrapping the callable to maintain existing results by @art049
205+
- Disable automatic garbage collection to increase stability by @art049 in [#2](https://github.com/CodSpeedHQ/pytest-codspeed/pull/2)
206+
- Update readme by @art049
207+
208+
### <!-- 7 -->⚙️ Internals
209+
- Update readme by @art049
210+
211+
212+
## [1.1.0] - 2022-11-10
213+
214+
### <!-- 0 -->🚀 Features
215+
- Allow running along with pytest-benchmarks by @art049
216+
217+
### <!-- 1 -->🐛 Bug Fixes
218+
- Fix the release script by @art049
219+
- Make the release script executable by @art049
220+
- Match the test output in any order by @art049
221+
222+
### <!-- 2 -->🏗️ Refactor
223+
- Manage compatibility env in the conftest by @art049
224+
225+
### <!-- 7 -->⚙️ Internals
226+
- Add a pytest-benchmark compatibility test by @art049 in [#1](https://github.com/CodSpeedHQ/pytest-codspeed/pull/1)
227+
- Add more details on the pytest run by @art049
228+
- Continue running on matrix item error by @art049
229+
- Add a CI configuration with pytest-benchmark installed by @art049
230+
231+
232+
[unreleased]: https://github.com/CodSpeedHQ/pytest-codspeed/compare/v3.0.0..HEAD
233+
[3.0.0]: https://github.com/CodSpeedHQ/pytest-codspeed/compare/v3.0.0b4..v3.0.0
234+
[3.0.0b4]: https://github.com/CodSpeedHQ/pytest-codspeed/compare/v3.0.0b3..v3.0.0b4
235+
[3.0.0b3]: https://github.com/CodSpeedHQ/pytest-codspeed/compare/v3.0.0b2..v3.0.0b3
236+
[3.0.0b2]: https://github.com/CodSpeedHQ/pytest-codspeed/compare/v3.0.0b1..v3.0.0b2
237+
[3.0.0b1]: https://github.com/CodSpeedHQ/pytest-codspeed/compare/v3.0.0b0..v3.0.0b1
238+
[3.0.0b0]: https://github.com/CodSpeedHQ/pytest-codspeed/compare/v2.2.1..v3.0.0b0
239+
[2.2.1]: https://github.com/CodSpeedHQ/pytest-codspeed/compare/v2.2.0..v2.2.1
240+
[2.2.0]: https://github.com/CodSpeedHQ/pytest-codspeed/compare/v2.1.0..v2.2.0
241+
[2.1.0]: https://github.com/CodSpeedHQ/pytest-codspeed/compare/v2.0.1..v2.1.0
242+
[2.0.1]: https://github.com/CodSpeedHQ/pytest-codspeed/compare/v2.0.0..v2.0.1
243+
[2.0.0]: https://github.com/CodSpeedHQ/pytest-codspeed/compare/v1.2.2..v2.0.0
244+
[1.2.2]: https://github.com/CodSpeedHQ/pytest-codspeed/compare/v1.2.1..v1.2.2
245+
[1.2.1]: https://github.com/CodSpeedHQ/pytest-codspeed/compare/v1.2.0..v1.2.1
246+
[1.2.0]: https://github.com/CodSpeedHQ/pytest-codspeed/compare/v1.1.0..v1.2.0
247+
[1.1.0]: https://github.com/CodSpeedHQ/pytest-codspeed/compare/v1.0.4..v1.1.0
248+
249+
<!-- generated by git-cliff -->

cliff.toml

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
# git-cliff ~ default configuration file
2+
# https://git-cliff.org/docs/configuration
3+
#
4+
# Lines starting with "#" are comments.
5+
# Configuration options are organized into tables and keys.
6+
# See documentation for more information on available options.
7+
[remote.github]
8+
owner = "CodSpeedHQ"
9+
repo = "pytest-codspeed"
10+
11+
[changelog]
12+
# template for the changelog header
13+
header = """
14+
# Changelog\n
15+
16+
<sub>The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).</sub>
17+
\n
18+
19+
"""
20+
# template for the changelog body
21+
# https://keats.github.io/tera/docs/#introduction
22+
body = """
23+
{%- macro remote_url() -%}
24+
https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}
25+
{%- endmacro -%}
26+
27+
{% if version -%}
28+
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
29+
{% else -%}
30+
## [Unreleased]
31+
{% endif -%}
32+
33+
{% for group, commits in commits | group_by(attribute="group") %}
34+
### {{ group | upper_first }}
35+
{%- for commit in commits %}
36+
- {{ commit.message | split(pat="\n") | first | upper_first | trim }}\
37+
{% if commit.remote.username %} by @{{ commit.remote.username }}{%- endif -%}
38+
{% if commit.remote.pr_number %} in \
39+
[#{{ commit.remote.pr_number }}]({{ self::remote_url() }}/pull/{{ commit.remote.pr_number }}) \
40+
{%- endif -%}
41+
{% endfor %}
42+
{% endfor %}\n\n
43+
"""
44+
# template for the changelog footer
45+
footer = """
46+
{%- macro remote_url() -%}
47+
https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}
48+
{%- endmacro -%}
49+
50+
{% for release in releases -%}
51+
{% if release.version -%}
52+
{% if release.previous.version -%}
53+
[{{ release.version | trim_start_matches(pat="v") }}]: \
54+
{{ self::remote_url() }}/compare/{{ release.previous.version }}..{{ release.version }}
55+
{% endif -%}
56+
{% else -%}
57+
[unreleased]: {{ self::remote_url() }}/compare/{{ release.previous.version }}..HEAD
58+
{% endif -%}
59+
{% endfor %}
60+
<!-- generated by git-cliff -->
61+
"""
62+
63+
# remove the leading and trailing s
64+
trim = true
65+
# postprocessors
66+
postprocessors = [
67+
# { pattern = '<REPO>', replace = "https://github.com/orhun/git-cliff" }, # replace repository URL
68+
]
69+
# render body even when there are no releases to process
70+
# render_always = true
71+
# output file path
72+
# output = "test.md"
73+
74+
[git]
75+
# parse the commits based on https://www.conventionalcommits.org
76+
conventional_commits = true
77+
# filter out the commits that are not conventional
78+
filter_unconventional = true
79+
# process each line of a commit as an individual commit
80+
split_commits = false
81+
# regex for preprocessing the commit messages
82+
commit_preprocessors = [
83+
# Replace issue numbers
84+
#{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))"},
85+
# Check spelling of the commit with https://github.com/crate-ci/typos
86+
# If the spelling is incorrect, it will be automatically fixed.
87+
#{ pattern = '.*', replace_command = 'typos --write-changes -' },
88+
]
89+
# regex for parsing and grouping commits
90+
commit_parsers = [
91+
{ message = "^feat", group = "<!-- 0 -->🚀 Features" },
92+
{ message = "^fix", group = "<!-- 1 -->🐛 Bug Fixes" },
93+
{ message = "^doc", group = "<!-- 3 -->📚 Documentation" },
94+
{ message = "^perf", group = "<!-- 4 -->⚡ Performance" },
95+
{ message = "^refactor", group = "<!-- 2 -->🏗️ Refactor" },
96+
{ message = "^style", group = "<!-- 5 -->🎨 Styling" },
97+
{ message = "^test", group = "<!-- 6 -->🧪 Testing" },
98+
{ message = "^chore\\(release\\): prepare for", skip = true },
99+
{ message = "^chore: Release", skip = true },
100+
{ message = "^chore\\(deps.*\\)", skip = true },
101+
{ message = "^chore\\(pr\\)", skip = true },
102+
{ message = "^chore\\(pull\\)", skip = true },
103+
{ message = "^chore|^ci", group = "<!-- 7 -->⚙️ Internals" },
104+
{ body = ".*security", group = "<!-- 8 -->🛡️ Security" },
105+
{ message = "^revert", group = "<!-- 9 -->◀️ Revert" },
106+
{ message = ".*", group = "<!-- 10 -->💼 Other" },
107+
]
108+
# filter out the commits that are not matched by commit parsers
109+
filter_commits = false
110+
# sort the tags topologically
111+
topo_order = false
112+
# sort the commits inside sections by oldest/newest order
113+
sort_commits = "newest"

0 commit comments

Comments
 (0)