Commit Graph
74 Commits
Author SHA1 Message Date
Mike PenzandGitHub 6757bebf45 - fix array placeholders are not correctly replaced 2023-02-26 12:15:03 +00:00
Mike PenzandGitHub 6bf521e144 - introduce additional debug logs 2023-02-26 11:03:59 +00:00
giambo 62a76fe0dc Add category title to changelog only if present; avoid "undefined" if not specified. 2023-01-28 13:05:28 +01:00
Mike PenzandGitHub 981b531f21 - ensure to detect if a PR was matched once (e.g. it's not not categorized) 2023-01-06 10:04:01 +00:00
Mike PenzandGitHub 50dd476bd1 - enhance handling for exhaustive matching
- exhaustive will apply on rules and labels alike
- simplify code
- introduce new testcases to check the new behavior
2023-01-06 09:13:30 +00:00
Mike PenzandGitHub 793329d870 - introduce new rules for the Category
- the rules can be used to match specified `Properties` with a `RegExp` (uses `test`) - to add them into a category
  - This allows more complex changelogs to be constructed, which for example want all `OPEN` PRs in one category
2023-01-03 17:29:56 +00:00
Mike PenzandGitHub 77b2076a3f - add support for configs to be provided from file and json
- define priority on the config json from YML, followed by file, last with the default value
  - Simplify code by merging configs right away
  - thanks for the suggestion @dtcMLOps
2023-01-03 15:44:57 +00:00
Mike PenzandGitHub e0b335b098 - add ability to trim values prior to inserting them in templates 2022-12-09 14:55:28 +00:00
Mike PenzandGitHub 27d0a0a53c - update replacement logic for array and comment types (fix cleanup if no match)
- adjust style definition - 140 line length
2022-12-09 14:09:40 +00:00
Mike PenzandGitHub 24f4e30f9f - introduce proper configuration for fetchReviews
- drop no longer needed limiting of PRs
- retrieve state from PR review comment
2022-12-09 13:29:06 +00:00
Mike PenzandGitHub 5c9a6d23c2 - limit final pull requests based on the defined max_pull_requests count 2022-12-09 13:03:23 +00:00
Mike PenzandGitHub 38aabea998 - add capability to fetch review comments and use them as part of the target template
- allow array syntax to be used as part of reviewers, approvers, assignees
2022-12-09 13:03:23 +00:00
Mike PenzandGitHub 7885e80a58 - fix undefined for match regex
- FIX https://github.com/mikepenz/release-changelog-builder-action/issues/965
2022-12-09 12:46:07 +00:00
Mike Penz 6d479c1d5a - format and recompile dist 2022-10-19 17:34:04 +02:00
Mike Penz 727fe7d827 - differentiate full match vs no match by checking the regex match when filling the placeholders
- This means that transforms which don't match to function as before, but also offers the flexibility if a match results in the equal content as the original to be handled properly
   - FIX https://github.com/mikepenz/release-changelog-builder-action/issues/929
2022-10-19 17:29:01 +02:00
Malte Hallström e8ee90b94f - cleanup unmatched custom ph:s from pr template 2022-08-16 16:05:39 +02:00
Mike PenzandGitHub 63b88e3bff - ensure log message is properly displayed as string 2022-08-09 16:47:12 +00:00
Mike PenzandGitHub bed15c1b24 - add more logs for custom placeholders
- write up experimental docs for custom placeholders
2022-08-05 12:45:37 +00:00
Mike Penz 2f418c46e5 - exclude custom placeholder content if there was no match 2022-07-30 08:15:32 +02:00
Mike PenzandGitHub 74dd88f60c - add logic which cleans up custom placeholders with the [] syntax which were not matched 2022-07-29 16:40:39 +00:00
Mike PenzandGitHub fba9cdb51d - expand custom placeholders to the global template
- introuce capability of accessing and referencing custom placeholders of PRs in the global template
```
${{CUSTOM_PLACEHOLDER[0]}}
${{CUSTOM_PLACEHOLDER[*]}}
```
- introduce new testcase checking the custom placeholder functionality
2022-07-29 16:11:14 +00:00
Mike PenzandGitHub 7b1021454a - introduce capability for custom placeholders also to the global template
- introduce new convenient functions to handle this
2022-07-29 14:54:45 +00:00
Mike PenzandGitHub 15a108d43e - introduce ES2021.String for replaceAll
- expand Configuration with `custom_placeholders` configuration
  - custom placeholders allow to extract values of placeholders and then use these in templates
- refactor replacing PR template values
2022-07-29 14:29:50 +00:00
Mike PenzandGitHub b1ea770a88 - reformat source - lineLength 120 2022-07-29 13:48:53 +00:00
Mike Penz c4a63d86ad - introduce branch (head ref) as data point in the PullRequestInfo object
- expand extractor to allow using the `branch` -> e.g. to extract the label
2022-07-27 17:19:50 +02:00
Mike Penz d2a15abb64 - drop support for tag SHA as in most cases this information is not available at the moment
- introduce new testcase to verify `DAYS_SINCE` calculation
- fix wrong log messages using the `TagInfo` object instead the name
- add additional log messages
2022-07-26 16:48:06 +02:00
Mike Penz c061d0e577 - introduce new configuration flag to fetchReleaseInformation
- if enabled, it will unlock the ability to use new placeholders
  - `${{ DAYS_SINCE }}`
  - `${{ FROM_TAG_DATE }}`
  - `${{ TO_TAG_DATE }}`
- refactor to carry on the full `TagInfo` information instead of only the tagname
- refresh testcases to new apis
2022-07-26 16:47:23 +02:00
Mike Penz 55354469a8 - introduce new additional placeholders useable for building the changelog
| **Placeholder**            | **Description**                                                                                    | **Empty** |
|----------------------------|----------------------------------------------------------------------------------------------------|:---------:|
| `${{CHANGED_FILES}}`       | The count of changed files.                                                                        |           |
| `${{ADDITIONS}}`           | The count of code additions (lines).                                                               |           |
| `${{DELETIONS}}`           | The count of code deletions (lines).                                                               |           |
| `${{CHANGES}}`             | The count of total changes (lines).                                                                |           |
| `${{COMMITS}}`             | The count of commits in this release.                                                              |           |

- restructure project to return additional diff related information along the individual commits
- update testcases to verify functionality of new placeholders
2022-07-26 14:14:16 +02:00
Mike Penz 89475f1193 - introduce new configuration option, allowing to provide an empty_content for categories matching no PRs
- FIX https://github.com/mikepenz/release-changelog-builder-action/issues/804
2022-07-08 10:40:47 +02:00
Mike Penz 0bb7bd0176 - expand configuration specification by offering sorting by alternative properties -> title instead of mergedAt.
- add more testcases to cover the new sort orders
  - FIX https://github.com/mikepenz/release-changelog-builder-action/issues/757
2022-05-13 11:28:46 +02:00
Mike Penz 1e867df2de - introduce new flag allowing to fetch reviewers who approved PRs
- add new testcase which verifies approvers being included
  - adjust config for some test cases to verify reviewers not being pulled if disabled
2022-04-08 12:13:21 +02:00
Mike Penz f60b8b4167 - expand custom assignment and add testcase to verify ability to construct custom categories involving states of PRs 2022-04-08 11:00:40 +02:00
Mike Penz 85af6a8181 - introduce new flag to include open PRs into the changelog
- only fetch open with this flag
- expand pull request spec with
  - status, created at timestamp
- expand definition for placeholder patterns in the changelog
2022-04-08 11:00:39 +02:00
Mike Penz 23e9b5fc5a - add additional debug logs to help identify which prs ended up in which category 2022-03-15 08:44:58 +01:00
Mike Penz a0a47047d6 - add new ability to define exclude_labels for categories (give greater flexibility)
- FIX https://github.com/mikepenz/release-changelog-builder-action/issues/681
2022-02-11 11:12:39 +01:00
Mike Penz c8b0107b59 - introduce new RELEASE_DIFF placeholder, adding a full diff link
- FIX https://github.com/mikepenz/release-changelog-builder-action/issues/667
  - Thanks for the proposal @maxisam
2022-02-02 18:21:37 +01:00
Mike Penz c1f978e272 - introduce output with the categorised count of prs
- FIX https://github.com/mikepenz/release-changelog-builder-action/issues/658
2022-02-01 17:52:51 +01:00
Mike Penz b5ad2456c8 - introduce ability to specify on_property on extractors as Array.
- simplify setup of more complex definitions
  - FIX https://github.com/mikepenz/release-changelog-builder-action/issues/651
2022-01-28 18:17:27 +01:00
Mike Penz 1fa3f709a9 - add ability to provide an empty string in case the regex does not match
- FIX https://github.com/mikepenz/release-changelog-builder-action/issues/576
2021-11-12 11:36:29 +01:00
Mike Penz e398a20e36 - add new ability to transform tags (tag name) prior to sorting, allowing to transform tags into semver format can be achieved
- tags will keep the original name post sorting
  - FIX https://github.com/mikepenz/release-changelog-builder-action/issues/571
2021-11-06 10:13:46 +01:00
Mike Penz f93f67fad5 - introduce new MERGE_SHA placeholder support into template for PRs (and commit SHA for commit mode)
- FIX https://github.com/mikepenz/release-changelog-builder-action/issues/552
2021-10-22 22:18:06 +02:00
Mike Penz 99d5df5b47 - do not drop PRs if they did not result in an extracted identifier during deduplication
- FIX https://github.com/mikepenz/release-changelog-builder-action/issues/483
- adjust log to `info` if `ID` extraction fails for PR
- merge together PRs post deduplication (with unmatched array)
- ensure proper sorting of PRs post deduplication
2021-09-14 13:38:49 +02:00
Mike Penz 4580067a62 - specify all mapping to lowercase with explicit en locale 2021-09-14 13:04:50 +02:00
Mike Penz 7a28de97be - introduce new configuration duplicate_filter allowing to drop duplicated elements from the changelog
- restructure transform.ts to simplify code
  - introduce new test cases to verify new deduplication feature
2021-08-27 13:28:56 +02:00
Mike Penz cfac2f37a1 - introduce new configuration option to define category labels to be exhaustive
- require all labels of a category to be present in the matching PR
- update to typescript 4.4.x
- recompile dist
2021-08-27 11:41:20 +02:00
Mike Penz d8f61a957d - introduce new match mechanism for the label_extractor. Allowed replace (default) vs match
- introduce new test case to verify match behavior
2021-08-26 16:41:45 +02:00
Mike Penz a753722e84 - introduce test cases for transform.test.ts
- add test case to highlight label extractor feature FIX https://github.com/mikepenz/release-changelog-builder-action/issues/450
  - test cases can easily be run via `npm test -- transform.test.ts`
- slightly simplify releaseNotes.ts and transform.ts
2021-08-26 16:05:04 +02:00
Mike Penz 6a2da2fa89 - upgrade dependencies
- recompile dist
- fix eslint errors, update eslint rules
2021-08-14 18:07:18 +02:00
Mike Penz 4d47219031 - use toLocaleLowerCase to ensure we have proper locale dependent lowercase behavior
- ensure we also match the configuration case independent
2021-06-23 11:54:45 +02:00
invakid404 dead9527b4 feat: keep labels in a set and make them lowercase 2021-06-23 10:31:36 +03:00