1
1
mirror of https://github.com/orhun/git-cliff.git synced 2024-11-25 12:22:44 +03:00
Commit Graph

272 Commits

Author SHA1 Message Date
Paul Iyobo
6d86e2c942
feat(config): allow overriding the remote API URL via config (#896)
* Added api_url configuration to RemoteConfig

* Added api_url remote config parameter to the documentation

* Fmt

* Readded use statement erroneously removed

* chore: bring back https in gitlab link

* docs(website): add missing dot to remote docs

* refactor(remote): clean up constant handling

* fix: fix the behavior and add fixture test

* docs: add example of api_url

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2024-11-19 20:12:52 +03:00
Gautier DI FOLCO
d0848ff040
feat(ci): add Nix CI (#939) 2024-11-06 17:51:20 +03:00
Matthew Warman
99b78b52f2
fix(remote): preserve first time contributors (#925)
* fix(remote): preserve first time contributors

* fix: update based on clippy feedback

* docs: add new-contributors back in

* refactor: switch to using time

- add test for timestamp method as well

* refactor: polish implementation

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2024-10-21 23:49:46 +03:00
LtdSauce
84771f63d0
feat(docker): build arm64 images again (#879) (#919)
* chore(docker): ignore rust toolchain in docker builds

This commit adds the known names of the rust-toolchain files to the
.dockerignore file. This has two reasons why it makes sense:

- The initial docker layer already has a set up rust toolchain that is
  sufficient to build the project. Thus, by providing a toolchain file,
  the toolchain would be installed again during docker build.
- Currently cargo-chef only copies the toolchain files during cooking
  but it gets not used during the building of the dependencies in the
  cook call, see
  https://github.com/LukeMathWalker/cargo-chef/issues/271.
  With this in mind, currently the dependencies were actually build
  twice. Once with the installed toolchain from the image itself, and
  then in the actual cargo build call with the toolchain speciefied in
  the toolchain file. Building them twice resulted in timeouts when
  building the arm64 images as they are emulated using qemu, which is
  itself already slower than building natively.

Now one could argue, that as soon as the mentioned issue is solved using
the toolchain again would be fine. But then it would be still needed to
assemble the Dockerfile in a way that the toolchain is not build twice.
Because the current structure of the Dockerfile builds the toolchain
once in the cargo-chef prepare step and once during the cargo build step
(and would later build it during the cargo-chef cook instead of cargo
build).

With all this in mind using no toolchain file but instead just using
the sufficient rust installation from the base image makes sense.

* Revert "chore(docker): disable building arm64 docker images temporarily (#879)"

This reverts commit cde2a8e322.
Commit 73f75d5289 made it possible to
build the arm64 image again without running into timeouts.
2024-10-17 11:05:05 +03:00
Dương Quốc Khánh
f8641ee8f7
fix(changelog): fix missing commit fields in context (#837) (#920)
* feat(commit): add `raw_message` to `Commit`

* test(fixtures): add test generate all fields in conventional commits

* test(fixtures): add test do not discard missing fields in conventional
commits when reading from context

* docs(website): add `raw_message` fields to `context.md`
2024-10-17 10:56:41 +03:00
Matthew Warman
e936ed5715
fix(bitbucket): match PR and release metadata correctly (#907)
* fix(bitbucket): pull requests release metadata not matched correctly

- update BitbucketPullRequest struct to use merge_commit
- update metadata matching to support short sha format
- add tests for Bitbucket remote

* test: update bitbucket fixture to include pr test

* chore(fixture): use link in bitbucket fixture

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2024-10-07 09:47:02 +03:00
Rareș Cosma
508a97edb0
fix(changelog): include the root commit when --latest is used with one tag (#901)
* feat(git): latest with one tag should include root

* feat(git): test root commit with one tag

* feat(git): remove the include_root boolean flag

Use the fact that a range contains (or doesn't) contain
".." as a discriminant between the two cases:

- ".." means full (left-exclusive) range between two commits;
- no ".." means everything from the root commit (inclusive) to
the commit sha in the range

* fix: remove unnecessary reference

* nit: gentler English in comment
2024-10-05 12:43:59 +03:00
Nejc Galof
8d10edb745
chore(ci): update pedantic lint command (#890)
* chore(ci): update pedantic lint command

* refactor(clippy): Fix basic clippy lints (new version)

* chore(ci): Try multiple lines on yml way

* chore(ci): format ci.yml
2024-09-27 17:33:08 +03:00
DaniPopes
a394f88f1d
chore(fixtures): build binaries using dev profile (#886) 2024-09-25 17:57:59 +03:00
Orhun Parmaksız
cde2a8e322
chore(docker): disable building arm64 docker images temporarily (#879) 2024-09-23 21:47:42 +03:00
Orhun Parmaksız
050fb55e86
docs(website): add highlights for 2.6.0 (#873)
* docs(website): add highlights for 2.6.0

* chore(fixture): use correct date
2024-09-22 09:08:44 +03:00
Orhun Parmaksız
ad039d56b6
feat(config): add changelog.render_always option (#859)
* feat(config): add changelog.always_render option

* chore(fixtures): fix typo in arguments

* chore(fixture): update expected output

* chore: fix edge cases

* fix: add missing field

* refactor: rename always_render to render_always
2024-09-21 21:06:27 +03:00
Orhun Parmaksız
fbb643b2e1
fix(changelog): do not change the tag date if tag already exists (#861)
* fix(changelog): do not change the tag date if it already exists

* fix: fix logic

* refactor: revert the assignment
2024-09-21 20:47:03 +03:00
Nejc Galof
c77420cf5a
chore(ci): check pedantic lints (#853) 2024-09-21 18:41:08 +03:00
Marco Ieni
87e2c1d0dd
feat(core): add remote to commit and deprecate fields (#822)
* feat(core): add `remote` field to commit

* refactor

* fmt

* deprecate old fields

* serialize remote field

* fix

* fix typo

* allow deprecated

* move warn

* move filename

* docs

* docs

* fix

* fmt

* chore(fixtures): use remote instead of platform name for template variables

* remove useless method

* update docs

* use contains_variable

* fix no-default-features

* chore(remote): update template varibles for platforms

* set commit.remote

* chore(release): update unit tests for new remote field

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2024-09-15 20:28:56 +03:00
Jan Buchar
3b6156ddd6
feat(cli): generate changelog from JSON context (#784)
* feat(cli): generate changelog from JSON context

* Add 'extra' field to releases and commits

* Add fixture test

* Serialize extra field for commits

* Format

* Adjust test expectations

* Add missing fields in tests

* Add usage page

* refactor(arg): update from-context argument details

* refactor(from-context): polish implementation

* docs(from-context): extend documentation

* fix(from-context): revert stdin handling

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2024-08-23 15:39:27 +03:00
Orhun Parmaksız
72847c6c7e
fix(fixture): fix fetching repository for gitlab integration test 2024-08-22 23:16:18 +03:00
tison
b8045e97ed
feat(changelog): support count_tags option (#599)
* feat: support count_tags option

Signed-off-by: tison <wander4096@gmail.com>

* add fixures tags

Signed-off-by: tison <wander4096@gmail.com>

* fixup

Signed-off-by: tison <wander4096@gmail.com>

* add count_tags to args

Signed-off-by: tison <wander4096@gmail.com>

* add docs

Signed-off-by: tison <wander4096@gmail.com>

* run cargo fmt

Signed-off-by: tison <wander4096@gmail.com>

* fixup default to true

Signed-off-by: tison <wander4096@gmail.com>

* docs(website): update documentation about count_tags

---------

Signed-off-by: tison <wander4096@gmail.com>
Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2024-08-13 12:22:54 +03:00
DerTiedemann
ccf2ab769a
feat(parser): allow whole commit context to be used in commit parsers (#758)
* fix: reorder execution to have context poplulated before parsing/pruning

* feat: allow field to read from context object

* fix: add tests

* fix: add legacy fix for body field

* test: add fixture

* docs: update documentation

* refactor: clean up implementation

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2024-08-08 22:30:36 +03:00
Binbin
9dbf47bac5
feat(bump): support bumping to a specific semver type (#744)
* feat: support bump a specific version type

* let --bump accept optional enum

* doc: update document for --bump

* test: add bump version fixtures tests

* refactor: polish implementation

* refactor: fix typo

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2024-07-31 08:48:03 +03:00
Amin Yahyaabadi
35dc1e46fd
feat(profiler): support performance profiling via pprof (#768)
* feat: support performance profiling via pprof

This adds support for performance profiling that allows for finding the bottlenecks and performance optimizations.

It can be enabled via `profiler` feature and the `bench` build profile.

```shell
cargo build --profile=bench --features=profiler
```

* refactor(profiling): clean up implementation

* feat(ci): run profiler

* fix(ci): fetch all the history for profiler

* docs(website): add profiling docs

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2024-07-29 11:25:23 +03:00
Orhun Parmaksız
9f39bcb8bf
chore(cd): remove unnecessary git-cliff-action output file (#738) 2024-07-27 13:16:02 +03:00
Meitar Reihan
3eb828e69a
feat(changelog): add tag message to release context (#713)
* feat: add tag message to release context

- add to the release context the tag's message if it exists
- add message to the default config

* feat(args): add `--with-tag-message` argument

to allow setting the message of the last release in the context

* docs: update args

* docs: add adding-tag-messages

* refactor: polish implementation

* tests(test-tag-message): fix the template

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2024-06-22 13:29:49 +03:00
Meitar Reihan
8e03356706
feat(bump): support bumping based on configurable custom pattern (#725)
* chore(deps): bump next_version from 0.2.17 to 0.2.18

Bumps [next_version](https://github.com/MarcoIeni/release-plz) from 0.2.17 to 0.2.18.
- [Release notes](https://github.com/MarcoIeni/release-plz/releases)
- [Changelog](https://github.com/MarcoIeni/release-plz/blob/main/CHANGELOG.md)
- [Commits](https://github.com/MarcoIeni/release-plz/compare/next_version-v0.2.17...next_version-v0.2.18)

---
updated-dependencies:
- dependency-name: next_version
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* feat: Support bumping version based on configurable custom pattern

closes #717

* refactor: clean up implementation

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2024-06-21 23:38:52 +03:00
dependabot[bot]
1d4d955955
chore(deps): bump docker/build-push-action from 5 to 6 (#714)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-18 12:14:09 +03:00
Buk Bukowski
94891c2c27
feat(args): add --ignore-tags argument (#696)
* feat(cli,args): allow overwriting `ignore_tags` argument

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* chore(lint): cargo fmt

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* chore(lint): clippy

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* Revert "chore(lint): clippy"

This reverts commit f307647f87.

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* Revert chore(lint): cargo fmt in changelog.rs

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* chore: git update-index --chmod=+x .github/fixtures/test-cli-arg-ignore-tags/commit.sh

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* chore(lint): fix formatting

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* revert changes to test-fixtures-locally.sh

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* revert changes to .gitignore

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* chore: change doc in args.rs and doc

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* Revert "chore(lint): fix formatting"

This reverts commit c829865feb.

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* style(lint): rustfmt

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* tests(fixtures): uncomment commit

* tests(fixtures): fix expected.md

---------

Signed-off-by: Bukowa <gitbukowa@gmail.com>
2024-06-17 20:47:14 +03:00
Cyclonit
9fc12bb90c
feat(changelog): make changelog.header a template (#698)
* feat(changelog): make changelog.header a template (#697)

* refactor: clean up implementation

* docs: update the description of header field

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2024-06-17 20:43:00 +03:00
Jan Ferdinand Sauer
50c240c25b
feat(changelog): support parsing commits by footer (#569)
* feat: Enable footer-based commit parsing

Enable defining parsers for a commit's footer, similar to the already-
present commit parsers for a commit's message or body.

For example:

```toml
commit_parsers = [
  { footer = "changelog: ignore", skip = true },
]
```

Due to an inconsistency between the conventional commits specification
and its reference parser, footers are currently interpreted as
`key:value` instead of the (correct) `key: value`. See
https://github.com/conventional-commits/parser/issues/47 for details.
As a future-proof workaround, you can use `key: ?value` in the regex.

* chore: fix typo

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2024-06-16 19:32:39 +03:00
Buk Bukowski
dabe716c20
fix(fixture): support running fixtures on mingw64 (#708)
Signed-off-by: Bukowa <gitbukowa@gmail.com>
2024-06-15 21:47:41 +03:00
Orhun Parmaksız
bea49161e9
refactor(bump): add documentation and simplify implementation 2024-06-15 21:22:31 +03:00
Buk Bukowski
734150020e
feat(bump): support setting the initial_tag (#701)
* feat: add `initial_tag` to `bump` - allows changing from default `0.1.0` when using `bump` and no tags are found

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* chore(tests): add `test-bump-initial-tag-default`

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* chore(tests): add `test-bump-initial-tag-cli-arg`

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* chore(tests): add `test-bump-initial-tag`

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* chore(ci,tests): add tests to `text-fixtures.yml`

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* chore(ci,tests): check if cli arg overwrites config file

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* chore(ci,tests): fix chmod for commit files

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* chore(docs): add cli flag to args.md

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* chore(lint): rustfmt

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* chore(lint): fix formatting

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* Revert "chore(docs): add cli flag to args.md"

This reverts commit 1499e40df2.

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* feat(cli,args): remove `bump-initial-flag` and use `tag`

Signed-off-by: Bukowa <gitbukowa@gmail.com>

* Revert "chore(lint): fix formatting"

This reverts commit 02717efa19.

Signed-off-by: Bukowa <gitbukowa@gmail.com>

---------

Signed-off-by: Bukowa <gitbukowa@gmail.com>
2024-06-15 21:22:23 +03:00
ThetaDev
403d3dcd32
feat(codeberg): add Gitea support (#680)
* feat: add gitea integration

* fix: several fixes to get gitea working, add test fixture

* docs: update docs

* fix: cargo fmt

* fix: remove dbg trait

* fix: tests

* chore: remove vscode settings

* refactor: cleanup implementation

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2024-06-15 20:42:15 +03:00
dark0dave
8ffc0548fe
feat(bitbucket): add Bitbucket support (#663)
* Draft: feat(bitbucket): Closes  #566

Signed-off-by: dark0dave <dark0dave@mykolab.com>

* refactor: improve bitbucket integration

---------

Signed-off-by: dark0dave <dark0dave@mykolab.com>
Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2024-06-02 20:49:37 +03:00
Orhun Parmaksız
b490f2a24e
feat(gitlab)!: Add GitLab support (#654)
* feat(gitlab): Add gitlab support

Signed-off-by: dark0dave <dark0dave@mykolab.com>

* refactor: simplify contains variable function

* refactor: move github and gitlab to remote module

* fix: fix gitlab API url

* refactor: move common constants and trait to remote module

* refactor: use common type for contributor and release metadata

* refactor: use generic types for remote commits and pull requests

* refactor: move template variables to designated module

* refactor: abstract away the remote

* docs: improve documentation of remote module

* fix: fix feature segregation related bugs

* fix: fix double print bug

* chore: update fixtures for remote integration

* fix: fix test case for non-default features

* chore(build): bump MSRV to 1.75.0

* docs: update the documentation of remote module

* fix: hide arguments if feature is not enabled

* docs: add documentation

* chore(github): update issue template

---------

Signed-off-by: dark0dave <dark0dave@mykolab.com>
Co-authored-by: dark0dave <dark0dave@mykolab.com>
2024-05-25 22:53:47 +03:00
Orhun Parmaksız
22c94ed835
chore(cd): use macos-14 runner 2024-05-22 19:57:43 +03:00
Orhun Parmaksız
f675b0b5bd
chore(pypi): disable PyPi builds for x86_64-pc-windows-gnu 2024-04-30 13:39:36 +03:00
Orhun Parmaksız
6ba6809ea1
chore(ci): remove audit check 2024-04-11 01:15:46 +03:00
Jeroen Claassens
800c896493
fix(npm): include the proper files in the npm tarball (#594) 2024-04-10 00:59:44 +03:00
dependabot[bot]
69abe952ac
chore(deps): bump actions/configure-pages from 4 to 5 (#587)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 12:57:14 +03:00
Orhun Parmaksız
0b64bc0325
chore(website): allow deploying website manually 2024-03-28 15:48:19 +03:00
Orhun Parmaksız
8651832926
chore(website): only deploy website when there is a new release 2024-03-27 17:23:24 +03:00
Jeroen Claassens
5a0ce6acc1
fix(npm): fix authenticating for yarn npm publish (#574) 2024-03-25 00:12:11 +01:00
Orhun Parmaksız
9eb3d65945
feat(config): support detecting config from project manifest (#571)
* feat(config): support detecting config from project manifest

* refactor: apply clippy suggestions

* test(fixture): add fixture for configuring from Cargo.toml
2024-03-23 15:31:58 +01:00
Orhun Parmaksız
f26fbe09ff
chore(ci): temporarily disable semver checks
waiting for https://github.com/obi1kenobi/cargo-semver-checks-action/pull/65
2024-03-23 17:06:54 +03:00
Orhun Parmaksız
4bedf764e3
chore(github): update funding options 2024-03-14 21:13:16 +03:00
Jarosław Surkont
152414cb81
feat(release): make the bump version rules configurable (#530)
closes #447

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2024-03-11 14:08:07 +01:00
Orhun Parmaksız
ccdc15217c
chore(ci): comment on pull requests about semver checks 2024-03-11 15:57:44 +03:00
Jeroen Claassens
16bea5179a
chore(npm): publish rc version for prereleases (#528)
* ci: publish rc version with rc dist-tags

* refactor: use github.ref
2024-03-05 19:17:22 +01:00
Jeroen Claassens
8f8e221563
chore(github): use form based issue templates (#529) 2024-03-04 13:38:14 +01:00
Orhun Parmaksız
7f379a9c83
fix(cd): set the correct GitHub repository URL 2024-03-03 23:45:40 +03:00