Skip to content

Commit dbe4161

Browse files
RaumZeitffurrer2
authored andcommitted
Make enclosing brackets for version number optional
1 parent 82415a1 commit dbe4161

File tree

5 files changed

+71
-2
lines changed

5 files changed

+71
-2
lines changed

.github/workflows/ci.yml

+12
Original file line numberDiff line numberDiff line change
@@ -167,3 +167,15 @@ jobs:
167167
RELEASE_NOTES: ${{ steps.extract-release-notes-11.outputs.release_notes }}
168168
run: |
169169
diff <(echo -n "${RELEASE_NOTES}") test/testdata/expected/RELEASE_NOTES_6.md
170+
- name: Run action
171+
id: extract-release-notes-12
172+
uses: ./
173+
with:
174+
changelog_file: test/testdata/CHANGELOG_7.md
175+
version_prefix: version
176+
- name: Assert that release_notes contains expected content
177+
shell: bash
178+
env:
179+
RELEASE_NOTES: ${{ steps.extract-release-notes-12.outputs.release_notes }}
180+
run: |
181+
diff <(echo -n "${RELEASE_NOTES}") test/testdata/expected/RELEASE_NOTES_1.md

.github/workflows/test.yml

+8
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,10 @@ jobs:
111111
expected_release_notes_file: RELEASE_NOTES_6.md
112112
prerelease: false
113113
header_level: 3
114+
- changelog_file: CHANGELOG_7.md
115+
expected_release_notes_file: RELEASE_NOTES_1.md
116+
prerelease: false
117+
version_prefix: version
114118
runs-on: ${{ matrix.os }}
115119
steps:
116120
- name: Checkout
@@ -153,6 +157,10 @@ jobs:
153157
expected_release_notes_file: RELEASE_NOTES_6.md
154158
prerelease: false
155159
header_level: 3
160+
- changelog_file: CHANGELOG_7.md
161+
expected_release_notes_file: RELEASE_NOTES_1.md
162+
prerelease: false
163+
version_prefix: version
156164
runs-on: ${{ matrix.os }}
157165
steps:
158166
- name: Checkout

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1212

1313
- Allow for version number prefix in the changelog header tag, e.g. `version` as in [version x.y.z]
1414
- Allow for changing the header level (default 2) where the version description is expected
15+
- Allow for omitting enclosing brackets of version number
1516

1617
### Changed
1718

src/index.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ async function extractReleaseNotes(changelogFile, prerelease, versionPrefix, hea
4444
const header_level = (Number.isInteger(headerLevel) && (headerLevel > 0) && (headerLevel < 7)) ? +headerLevel : 2
4545
const level_match_regex = "^#{" + header_level + "}\\s+"
4646
const levelup_match_regex = (header_level > 1) ? "^#{1," + (header_level - 1) + "}\\s+" : level_match_regex
47-
const version_match_regex = "\\[" + escapeRegex(versionPrefix) + "\\s*[0-9]"
48-
const unreleases_match_regex = "\\[Unreleased\\]"
47+
const version_match_regex = "\\[?" + escapeRegex(versionPrefix) + "\\s*[0-9]"
48+
const unreleases_match_regex = "\\[?Unreleased\\]?"
4949
core.debug(`version_match_regex: '${version_match_regex}'`)
5050
core.debug(`unrelease_match_regex: '${unreleases_match_regex}'`)
5151
for await (const line of rl) {

test/testdata/CHANGELOG_7.md

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<!-- SPDX-License-Identifier: MIT -->
2+
3+
# Changelog
4+
5+
All notable changes to this project will be documented in this file.
6+
7+
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).
8+
9+
## Unreleased
10+
11+
### Added
12+
13+
### Changed
14+
15+
### Deprecated
16+
17+
### Removed
18+
19+
### Fixed
20+
21+
### Security
22+
23+
## version 1.0 - 2024-05-21
24+
25+
### Added
26+
27+
- Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
28+
- At vero eos et accusam et justo duo dolores et ea rebum.
29+
- Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
30+
- Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
31+
- At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
32+
33+
### Changed
34+
35+
- At vero eos et accusam et justo duo dolores et ea rebum.
36+
- Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
37+
38+
### Removed
39+
40+
- At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
41+
42+
## version 0.1 - 2019-12-01
43+
44+
### Added
45+
46+
- Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
47+
- At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
48+
- Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

0 commit comments

Comments
 (0)