Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[OSCI][FEAT] Changelog Project - PoC Changelog and release notes automation tool - OpenSearch Dashboards #5519

Merged
merged 283 commits into from
Apr 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
283 commits
Select commit Hold shift + click to select a range
915ac64
Add changeset for PR #2
github-actions[bot] Nov 24, 2023
a19b527
Add changeset for PR #2
github-actions[bot] Nov 24, 2023
4efcc6d
Add changeset for PR #2
github-actions[bot] Nov 24, 2023
245b559
Add changeset for PR #2
github-actions[bot] Nov 24, 2023
6b74097
Add changeset for PR #2
github-actions[bot] Nov 24, 2023
034b742
Add changeset for PR #2
github-actions[bot] Nov 24, 2023
d82cfca
Add changeset for PR #2
github-actions[bot] Nov 24, 2023
bdaba2f
Add changeset for PR #2
github-actions[bot] Nov 24, 2023
ec41ec0
Add changeset for PR #2
github-actions[bot] Nov 25, 2023
e384081
Add changeset for PR #2
github-actions[bot] Nov 25, 2023
621aa2f
Add changeset for PR #2
github-actions[bot] Nov 25, 2023
f65914a
Add changeset for PR #2
github-actions[bot] Nov 25, 2023
f951e7b
Bump actions/checkout from v2 to v4
JohnathonBowers Nov 25, 2023
e7f10ce
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
JohnathonBowers Nov 25, 2023
2c4c1de
Add changeset for PR #2
github-actions[bot] Nov 25, 2023
5460b25
Add changeset for PR #2
github-actions[bot] Nov 25, 2023
d43c874
Add changeset for PR #2
github-actions[bot] Nov 25, 2023
78aabf6
Add changeset for PR #2
github-actions[bot] Nov 25, 2023
8a1b35f
Add changeset for PR #2
github-actions[bot] Nov 25, 2023
9cb4afb
Add changeset for PR #2
github-actions[bot] Nov 25, 2023
e7fe1bb
Add changeset for PR #2
github-actions[bot] Nov 25, 2023
80eb6f2
release note script refactor + deletes fragment
CMDWillYang Nov 25, 2023
4bd6da8
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
CMDWillYang Nov 25, 2023
7cb63de
Add changeset for PR #2
github-actions[bot] Nov 27, 2023
34cfb78
Add changeset for PR #2
github-actions[bot] Nov 27, 2023
45072e8
Add changeset for PR #2
github-actions[bot] Nov 27, 2023
698398d
Add changeset for PR #2
github-actions[bot] Nov 28, 2023
9cc2a72
Add changeset for PR #2
github-actions[bot] Nov 28, 2023
c0b93e0
Add changeset for PR #2
github-actions[bot] Nov 28, 2023
f715f53
Add changeset for PR #2
github-actions[bot] Nov 28, 2023
5c37391
Update language in 'Changelog' section of PR template
JohnathonBowers Nov 29, 2023
ad76b43
Add changeset for PR #2
github-actions[bot] Nov 29, 2023
3ece4eb
Merge branch 'main' into feat/chanelog_project
BigSamu Nov 29, 2023
04bdb2b
Add changeset for PR #2
github-actions[bot] Nov 29, 2023
d5fe142
Update src/dev/generate_release_note.ts
MadaniKK Nov 29, 2023
894430e
Add changeset for PR #2
github-actions[bot] Nov 29, 2023
70dbb55
Add first draft of changelog process README
JohnathonBowers Nov 29, 2023
5b9b939
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
JohnathonBowers Nov 29, 2023
1211af2
Add changeset for PR #2
github-actions[bot] Nov 29, 2023
9b8a07f
Merge branch 'feat/chanelog_project' of github.com:BigSamu/OpenSearch…
MadaniKK Nov 29, 2023
ef3f61e
changed error handling behaviors.
CMDWillYang Nov 29, 2023
981ef3e
Add changeset for PR #2
github-actions[bot] Nov 29, 2023
c1945a9
Add more details to changelog README
JohnathonBowers Nov 29, 2023
97c2fd6
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
JohnathonBowers Nov 29, 2023
c777b66
Add changeset for PR #2
github-actions[bot] Nov 29, 2023
f65ba39
Merge branch 'feat/chanelog_project' of github.com:BigSamu/OpenSearch…
MadaniKK Nov 29, 2023
4775d6f
added error
MadaniKK Nov 29, 2023
81f1c59
Add changeset for PR #2
github-actions[bot] Nov 29, 2023
89337de
Add changeset for PR #2
github-actions[bot] Nov 29, 2023
7620ffa
Add changeset for PR #2
github-actions[bot] Nov 29, 2023
7a567c3
Add changeset for PR #2
github-actions[bot] Nov 30, 2023
31232db
Add changeset for PR #2
github-actions[bot] Nov 30, 2023
86f10bd
Add changeset for PR #2
github-actions[bot] Dec 3, 2023
c3843c6
Add changeset for PR #2
github-actions[bot] Dec 3, 2023
72c3d89
Add changeset for PR #2
github-actions[bot] Dec 5, 2023
204c363
Add changeset for PR #2
github-actions[bot] Dec 5, 2023
3b0b2f2
Add changeset for PR #2
github-actions[bot] Dec 5, 2023
a875300
Add changeset for PR #2
github-actions[bot] Dec 5, 2023
941dd6c
Add changeset for PR #2
github-actions[bot] Dec 6, 2023
efc3948
Merge branch 'main' into feat/chanelog_project
BigSamu Dec 6, 2023
9433869
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
BigSamu Dec 6, 2023
b80f45f
Add changeset for PR #2
github-actions[bot] Dec 6, 2023
6795bc0
Abbreviate README and link to workflow README
JohnathonBowers Dec 6, 2023
7ba8a70
Add changeset for PR #2
github-actions[bot] Dec 6, 2023
da6ad8e
Add changeset for PR #2
github-actions[bot] Dec 9, 2023
6e9a401
deleting test.txt file used to test if other contributors of project …
BigSamu Dec 9, 2023
efdbf39
Add changeset for PR #2
github-actions[bot] Dec 9, 2023
941bf62
fixing formatting in create_change_set_workflow.yml file
BigSamu Dec 9, 2023
36e3fd5
updating title for README.md in changelogs directory
BigSamu Dec 9, 2023
f918897
updating description of README.md in changelogs directory
BigSamu Dec 9, 2023
afc82b3
removing demo fragments and adding new single one specifiying new fea…
BigSamu Dec 9, 2023
2e82bd2
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
BigSamu Dec 9, 2023
3af0f22
Add changeset for PR #2
github-actions[bot] Dec 9, 2023
a1a3f20
Merge branch 'main' into feat/chanelog_project
BigSamu Dec 9, 2023
73ce52f
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
BigSamu Dec 9, 2023
7d9145a
removing demo fragment 2.yml
BigSamu Dec 9, 2023
e907bc8
Add changeset for PR #2
github-actions[bot] Dec 9, 2023
79813cb
removed fragment thats too long. added helper file, used async functi…
CMDWillYang Dec 11, 2023
db0024e
Add changeset for PR #2
github-actions[bot] Dec 11, 2023
2090f1c
Add changeset for PR #2
github-actions[bot] Dec 12, 2023
b200102
Add changeset for PR #2
github-actions[bot] Dec 12, 2023
c6bcd39
Add changeset for PR #2
github-actions[bot] Dec 12, 2023
3bd3ad6
Merge branch 'main' into feat/chanelog_project
ananzh Dec 12, 2023
48e6b56
Add changeset for PR #2
github-actions[bot] Dec 13, 2023
c24773b
Add changeset for PR #2
github-actions[bot] Dec 13, 2023
616290f
Add changeset for PR #2
github-actions[bot] Dec 13, 2023
2d2a425
adding 5519.yml fragment file and removing 2.yml dummy fragment file
BigSamu Dec 13, 2023
862b72b
updating changeset worflow removing syncronize option
BigSamu Dec 13, 2023
dc9d3c8
Merge branch 'opensearch-project:main' into feat/chanelog_project
BigSamu Dec 13, 2023
4f63874
deleting 5519.yml fragment file (now will be generated by workflow)
BigSamu Dec 13, 2023
aef2861
Add changeset for PR #2
github-actions[bot] Dec 13, 2023
f359dfb
Add changeset for PR #2
github-actions[bot] Dec 13, 2023
c258342
removing 2.yml fragment dummy file
BigSamu Dec 13, 2023
d117bd5
Add changeset for PR #2
github-actions[bot] Dec 13, 2023
996b6ec
Add changeset for PR #2
github-actions[bot] Dec 13, 2023
ced0e10
removing 2.yml fragment dummy file
BigSamu Dec 13, 2023
9387e34
refactored code (deleteFragments, readFragments returns sections and …
CMDWillYang Dec 13, 2023
4ec6548
Add changeset for PR #2
github-actions[bot] Dec 13, 2023
0c4a141
removing 2.yml fragment dummy file
BigSamu Dec 13, 2023
d736d6b
moved deleteFragment to end of script
CMDWillYang Dec 13, 2023
69bb1c6
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
CMDWillYang Dec 13, 2023
bc988e7
removing changelog_verifier.yml
BigSamu Dec 13, 2023
925ee36
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
BigSamu Dec 13, 2023
8d456ff
changed max_length to 100
CMDWillYang Dec 13, 2023
59b7095
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
CMDWillYang Dec 13, 2023
53e5445
Add changeset for PR #2
github-actions[bot] Dec 13, 2023
44958fc
Add changeset for PR #2
github-actions[bot] Dec 13, 2023
53bf365
adding write permissions to for changeset workflow
BigSamu Dec 13, 2023
e4798bb
removing 2.yml fragment dummy file
BigSamu Dec 13, 2023
a7ed3c0
adding write permissions to for changeset workflow
BigSamu Dec 13, 2023
2b61175
Merge branch 'main' into feat/chanelog_project
joshuarrrr Dec 13, 2023
97eb4c9
adding write permissions to for changeset workflow
BigSamu Dec 13, 2023
bc888ec
refactored code/main function, now move fragment to temp folder.
CMDWillYang Dec 13, 2023
49faeef
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
CMDWillYang Dec 13, 2023
1b43e42
Add test.txt
JohnathonBowers Dec 13, 2023
8bb008b
Remove test.txt
JohnathonBowers Dec 13, 2023
0b56774
updating token name for workflow
BigSamu Dec 13, 2023
4f4a642
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
BigSamu Dec 13, 2023
6285dca
update token name
BigSamu Dec 14, 2023
67200d2
Add changeset for PR #2
github-actions[bot] Dec 14, 2023
9f508f5
Add changeset for PR #2
github-actions[bot] Dec 14, 2023
58dbc69
Add changeset for PR #2
github-actions[bot] Dec 14, 2023
cbf5689
Add changeset for PR #2
github-actions[bot] Dec 14, 2023
affdf8d
Add changeset for PR #2
github-actions[bot] Dec 14, 2023
62739b7
updating changeset workflow by giving correct reference for checkout …
BigSamu Dec 14, 2023
b81044c
updating changeset workflow by removing reference for checkout action
BigSamu Dec 14, 2023
0095aea
Merge branch 'opensearch-project:main' into main
BigSamu Dec 14, 2023
bc26ea1
Merge branch 'main' into feat/chanelog_project
BigSamu Dec 14, 2023
83acd9a
Merge branch 'opensearch-project:main' into feat/chanelog_project
BigSamu Dec 14, 2023
51dc42f
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
BigSamu Dec 14, 2023
e8f4fbb
updating github action event from pull_request to pull_request_target
BigSamu Dec 14, 2023
8899405
Add changeset for PR #19
github-actions[bot] Dec 14, 2023
8abb3a8
deleting fragment 19.yml
BigSamu Dec 14, 2023
13609ce
adding CHANGESET_TOKEN and related logic
BigSamu Dec 14, 2023
7e2e496
changing event pull_request_target to pull_request
BigSamu Dec 16, 2023
f7fbc1c
Add changeset for PR #25
BigSamu Dec 16, 2023
57bc3f5
changing event pull_request to pull_request_target
BigSamu Dec 16, 2023
98a5861
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
BigSamu Dec 16, 2023
80ffcfe
Add changeset for PR #24
BigSamu Dec 16, 2023
822a672
Add changeset for PR #24
BigSamu Dec 16, 2023
17978fc
update changeset file 25.yml for PR #25
opensearch-changeset-bot[bot] Dec 17, 2023
a9ca159
update changeset file 25.yml for PR #25
opensearch-changeset-bot[bot] Dec 17, 2023
21b227f
update changeset file 25.yml for PR #25
opensearch-changeset-bot[bot] Dec 17, 2023
753bd96
update changeset file 25.yml for PR #25
opensearch-changeset-bot[bot] Dec 17, 2023
6df3825
update changeset file 25.yml for PR #25
opensearch-changeset-bot[bot] Dec 17, 2023
fdbf8dd
update changeset file 25.yml for PR #25
opensearch-changeset-bot[bot] Dec 17, 2023
d8650c2
update changeset file 25.yml for PR #25
opensearch-changeset-bot[bot] Dec 17, 2023
9adce3f
update changeset file 25.yml for PR #25
opensearch-changeset-bot[bot] Dec 17, 2023
e4ec9b9
deleting workflow file for creating changeset files
BigSamu Dec 18, 2023
81f0638
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
BigSamu Dec 18, 2023
ddd615d
update changeset file 25.yml for PR #25
opensearch-changeset-bot[bot] Dec 20, 2023
920e5f8
update changeset file 25.yml for PR #25
opensearch-changeset-bot[bot] Dec 20, 2023
9b37d02
removing fragment files
BigSamu Dec 20, 2023
8853256
Merge branch 'main' into feat/chanelog_project
BigSamu Dec 20, 2023
b2db67b
Merge branch 'main' into feat/chanelog_project
BigSamu Dec 20, 2023
c3a2b5d
create changeset file 25.yml for PR #25
opensearch-changeset-bot[bot] Dec 21, 2023
d198383
update changeset file 25.yml for PR #25
opensearch-changeset-bot[bot] Dec 21, 2023
3eaa438
update changeset file 25.yml for PR #25
opensearch-changeset-bot[bot] Dec 21, 2023
e657702
update changeset file 25.yml for PR #25
opensearch-changeset-bot[bot] Dec 21, 2023
975f86b
update changeset file 25.yml for PR #25
opensearch-changeset-bot[bot] Dec 21, 2023
0bb4a9c
update file 25.yml for PR #25
opensearch-changeset-bot[bot] Dec 22, 2023
ef41272
update file 25.yml for PR #25
opensearch-changeset-bot[bot] Dec 22, 2023
f5d2d1d
test:
opensearch-changeset-bot-dev[bot] Dec 28, 2023
2005a2f
create file 29.yml for PR #29
opensearch-changeset-bot[bot] Dec 28, 2023
f0853fd
test:
opensearch-changeset-bot-dev[bot] Dec 28, 2023
140641b
changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Dec 28, 2023
267f7f4
changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Dec 28, 2023
d6c0986
changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Dec 28, 2023
7fe157b
changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Dec 28, 2023
2281d93
changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Dec 28, 2023
afdf7c9
changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Dec 28, 2023
7a52535
changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Dec 28, 2023
15698e0
changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Dec 28, 2023
2d2e416
changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Dec 28, 2023
ddc6050
changeset file for PR #29 deleted
opensearch-changeset-bot-dev[bot] Dec 28, 2023
34ed89f
changeset file for PR #29 created
opensearch-changeset-bot-dev[bot] Dec 28, 2023
23bf91c
changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Dec 28, 2023
c44f17d
changeset file for PR #29 deleted
opensearch-changeset-bot-dev[bot] Dec 28, 2023
b53e5e3
changeset file for PR #29 created
opensearch-changeset-bot-dev[bot] Dec 28, 2023
5410f39
changeset file for PR #29 deleted
opensearch-changeset-bot-dev[bot] Dec 28, 2023
f7037ba
changeset file for PR #29 created
opensearch-changeset-bot-dev[bot] Dec 29, 2023
cf3c334
changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Dec 29, 2023
f5e2867
changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Dec 29, 2023
4e5ad9e
changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Dec 29, 2023
462075b
changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Dec 29, 2023
63327bc
Changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Jan 2, 2024
5b59894
Changeset file for PR #29 deleted
opensearch-changeset-bot-dev[bot] Jan 2, 2024
d866570
Changeset file for PR #29 created
opensearch-changeset-bot-dev[bot] Jan 2, 2024
87eaf8d
Changeset file for PR #29 deleted
opensearch-changeset-bot-dev[bot] Jan 2, 2024
4dfd118
Changeset file for PR #29 created
opensearch-changeset-bot-dev[bot] Jan 2, 2024
90dbe73
Changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Jan 2, 2024
fd6654f
Changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Jan 2, 2024
85f0e6c
Changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Jan 2, 2024
c66a475
Changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Jan 2, 2024
67bd0a9
Changeset file for PR #29 updated
opensearch-changeset-bot-dev[bot] Jan 2, 2024
ad95462
Changeset file for PR #29 deleted
opensearch-changeset-bot-dev[bot] Jan 2, 2024
6826f5d
Changeset file for PR #29 created
opensearch-changeset-bot-dev[bot] Jan 2, 2024
04661af
Changeset file for PR #29 deleted
opensearch-changeset-bot-dev[bot] Jan 2, 2024
1237f33
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
BigSamu Jan 4, 2024
5157cd8
adding parse_changelog_workflow.yml file
BigSamu Jan 4, 2024
3f4d7e3
updating permissions for parse changelog workflow
BigSamu Jan 4, 2024
b3df299
updating permissions for parse chaneglog action
BigSamu Jan 5, 2024
f7f1e5a
updating permissions for parse chaneglog action
BigSamu Jan 5, 2024
bebf437
updating permissions for parse chaneglog action
BigSamu Jan 5, 2024
84441e3
updating permissions for parse chaneglog action
BigSamu Jan 5, 2024
a416e4e
changing name of changelog action file
BigSamu Jan 12, 2024
486d0a7
removing dummy fragment file '25.yml'
BigSamu Jan 12, 2024
27ba900
Merge branch 'main' into feat/chanelog_project
BigSamu Jan 12, 2024
ba6131a
updating name of workflow in opensearch_changelog_workflow.yml file
BigSamu Jan 12, 2024
41afaff
addin dummy file
BigSamu Jan 12, 2024
cb50b64
removing dummy file
BigSamu Jan 12, 2024
f6c23e7
Add input secrets to be used in workflow runs
JohnathonBowers Jan 14, 2024
cc29538
updating input variables for opensearch chnagelog workflow
BigSamu Jan 19, 2024
b1e14d6
Merge branch 'main' into feat/chanelog_project
BigSamu Jan 20, 2024
e4ca375
updating location reusable workflow
BigSamu Feb 8, 2024
d36d802
changing branch for reusable workflow for developing manual checking …
BigSamu Feb 14, 2024
fcd61df
changing branch for reusable workflow to 'main'
BigSamu Feb 21, 2024
c5df36e
changing branch for reusable workflow to 'main'
BigSamu Feb 21, 2024
cb06b4d
changing branch of chnagelog workflow to 'feat/manual-changesets' for…
BigSamu Feb 22, 2024
9b1c1a6
removing 'token' input from 'opensearch_changelog_workflow.yml'
BigSamu Feb 22, 2024
137d94d
Revert "removing 'token' input from 'opensearch_changelog_workflow.yml'"
BigSamu Feb 22, 2024
a677ecc
Update .github/workflows/opensearch_changelog_workflow.yml
ashwin-pc Feb 22, 2024
33c1f86
merging with main and solving conflicts
BigSamu Mar 14, 2024
3219956
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
BigSamu Mar 14, 2024
4e94689
setting opensearch changelog workflow to main
BigSamu Mar 14, 2024
63354a3
setting opensearch changelog workflow to @feat/manual-changesets branch
BigSamu Mar 14, 2024
9145f3e
adding 'fragments' folder inside 'changelogs' folder
BigSamu Mar 15, 2024
ae8cd89
removing dummy file 'hello.txt' inside fragments
BigSamu Mar 15, 2024
234bcb8
updating opensearch_changelog_workflow to trigger actionif PR is reop…
BigSamu Mar 21, 2024
2c4783c
Merge branch 'main' into feat/chanelog_project
BigSamu Apr 4, 2024
d6149af
changing branch for action OpenSearch_Changelog_Workflow from 'feat/m…
BigSamu Apr 4, 2024
8599c93
Merge branch 'main' into feat/chanelog_project
ashwin-pc Apr 9, 2024
c0d9fe6
Merge branch 'main' of https://github.com/BigSamu/OpenSearch-Dashboar…
BigSamu Apr 12, 2024
44ddd43
removing changeset dummy files
BigSamu Apr 12, 2024
957a1b4
Update src/dev/generate_release_note_helper.ts
CMDWillYang Apr 12, 2024
e57bb57
Update src/dev/generate_release_note.ts
CMDWillYang Apr 12, 2024
65f093d
Update src/dev/generate_release_note.ts
CMDWillYang Apr 12, 2024
0fe81c4
Update src/dev/generate_release_note_helper.ts
CMDWillYang Apr 12, 2024
9fc3d37
Update src/dev/generate_release_note.ts
CMDWillYang Apr 12, 2024
49cd02d
Update src/dev/generate_release_note_helper.ts
CMDWillYang Apr 12, 2024
469ef07
minor updates
CMDWillYang Apr 12, 2024
3b0506a
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
CMDWillYang Apr 12, 2024
9f9a25d
updating pull_request_template.md
BigSamu Apr 12, 2024
fc9ed97
using tag 1.0.0 for first release of opensearch changelog workflow
BigSamu Apr 12, 2024
9688c2f
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
BigSamu Apr 12, 2024
c843d24
using tag v1.0.0 for first release of opensearch changelog workflow
BigSamu Apr 12, 2024
c154db8
using tag 1.0.0-alpha1 for first release of opensearch changelog work…
BigSamu Apr 12, 2024
6940574
minor improvements + refactoring.
CMDWillYang Apr 12, 2024
b0bb2ef
Merge branch 'feat/chanelog_project' of https://github.com/BigSamu/Op…
CMDWillYang Apr 12, 2024
e4c81c2
small formatting fix to changelog entry
CMDWillYang Apr 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,18 @@
the functionality of your change
-->

## Changelog
<!--
Add a short but concise sentence about the impact of this pull request. Prefix an entry with the type of change they correspond to: breaking, chore, deprecate, doc, feat, fix, infra, refactor, test.
- fix: Update the graph
- feat: Add a new feature

If this change does not need to added to the changelog, just add a single `skip` line e.g.
- skip

Descriptions following the prefixes must be 100 characters long or less
-->

### Check List

- [ ] All tests pass
Expand Down
19 changes: 0 additions & 19 deletions .github/workflows/changelog_verifier.yml

This file was deleted.

23 changes: 23 additions & 0 deletions .github/workflows/opensearch_changelog_workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: OpenSearch Changelog Workflow

on:
pull_request_target:
types: [opened, reopened, edited]

permissions:
contents: read
issues: write
pull-requests: write

jobs:
update-changelog:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Parse changelog entries and submit request for changset creation
uses: BigSamu/[email protected]
with:
token: ${{secrets.GITHUB_TOKEN}}
CHANGELOG_PR_BRIDGE_URL_DOMAIN: ${{secrets.CHANGELOG_PR_BRIDGE_URL_DOMAIN}}
CHANGELOG_PR_BRIDGE_API_KEY: ${{secrets.CHANGELOG_PR_BRIDGE_API_KEY}}
5 changes: 5 additions & 0 deletions changelogs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Changelog and Release Notes

For information regarding the changelog and release notes process, please consult the README in the GitHub Actions repository that this process utilizes. To view this README, follow the link below:

[GitHub Actions Workflow README](https://github.com/BigSamu/OpenSearch_Change_Set_Create_Action/blob/main/README.md)
BigSamu marked this conversation as resolved.
Show resolved Hide resolved
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@
"osd:bootstrap": "scripts/use_node scripts/build_ts_refs && scripts/use_node scripts/register_git_hook",
"spec_to_console": "scripts/use_node scripts/spec_to_console",
"pkg-version": "scripts/use_node -e \"console.log(require('./package.json').version)\"",
"release_note:generate": "scripts/use_node scripts/generate_release_note",
"cypress:run-without-security": "env TZ=America/Los_Angeles NO_COLOR=1 cypress run --headless --env SECURITY_ENABLED=false",
"cypress:run-with-security": "env TZ=America/Los_Angeles NO_COLOR=1 cypress run --headless --env SECURITY_ENABLED=true,openSearchUrl=https://localhost:9200,WAIT_FOR_LOADER_BUFFER_MS=500",
"osd:ciGroup10": "echo \"dashboard_sanity_test_spec.js\"",
Expand Down
8 changes: 8 additions & 0 deletions scripts/generate_release_note.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/*
* Copyright OpenSearch Contributors
* SPDX-License-Identifier: Apache-2.0
*/

require('../src/setup_node_env');
require('../src/dev/generate_release_note');
require('../src/dev/generate_release_note_helper');
134 changes: 134 additions & 0 deletions src/dev/generate_release_note.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
/*
* Copyright OpenSearch Contributors
BigSamu marked this conversation as resolved.
Show resolved Hide resolved
* SPDX-License-Identifier: Apache-2.0
*/

import { join, resolve } from 'path';
import { readFileSync, writeFileSync, Dirent, rm, rename, promises as fsPromises } from 'fs';
import { load as loadYaml } from 'js-yaml';
import { readdir } from 'fs/promises';
import { version as pkgVersion } from '../../package.json';
import {
validateFragment,
getCurrentDateFormatted,
Changelog,
SECTION_MAPPING,
fragmentDirPath,
SectionKey,
releaseNotesDirPath,
filePath,
} from './generate_release_note_helper';

// Function to add content after the 'Unreleased' section in the changelog
function addContentAfterUnreleased(path: string, newContent: string): void {
let fileContent = readFileSync(path, 'utf8');
const targetString = '## [Unreleased]';
const targetIndex = fileContent.indexOf(targetString);

if (targetIndex !== -1) {
const endOfLineIndex = fileContent.indexOf('\n', targetIndex);
if (endOfLineIndex !== -1) {
fileContent =
fileContent.slice(0, endOfLineIndex + 1) +
'\n' +
newContent +
'\n' +
fileContent.slice(endOfLineIndex + 1);
} else {
throw new Error('End of line for "Unreleased" section not found.');
}
} else {
throw new Error("'## [Unreleased]' not found in the file.");
BigSamu marked this conversation as resolved.
Show resolved Hide resolved
}

writeFileSync(path, fileContent);
}

async function deleteFragments(fragmentTempDirPath: string) {
rm(fragmentTempDirPath, { recursive: true }, (err: any) => {
if (err) {
throw err;
}
});
}

// Read fragment files and populate sections
async function readFragments() {
// Initialize sections
const sections: Changelog = (Object.fromEntries(
Object.keys(SECTION_MAPPING).map((key) => [key, []])
) as unknown) as Changelog;

const fragmentPaths = await readdir(fragmentDirPath, { withFileTypes: true });
for (const fragmentFilename of fragmentPaths) {
// skip non yml or yaml files
if (!/\.ya?ml$/i.test(fragmentFilename.name)) {
// eslint-disable-next-line no-console
console.warn(`Skipping non yml or yaml file ${fragmentFilename.name}`);
continue;
}

const fragmentPath = join(fragmentDirPath, fragmentFilename.name);
const fragmentContents = readFileSync(fragmentPath, { encoding: 'utf-8' });

validateFragment(fragmentContents);

const fragmentYaml = loadYaml(fragmentContents) as Changelog;

for (const [sectionKey, entries] of Object.entries(fragmentYaml)) {
sections[sectionKey as SectionKey].push(...entries);
}
}
return { sections, fragmentPaths };
}

async function moveFragments(fragmentPaths: Dirent[], fragmentTempDirPath: string): Promise<void> {
// Move fragment files to temp fragments folder
for (const fragmentFilename of fragmentPaths) {
const fragmentPath = resolve(fragmentDirPath, fragmentFilename.name);
const fragmentTempPath = resolve(fragmentTempDirPath, fragmentFilename.name);
rename(fragmentPath, fragmentTempPath, () => {});
}
}

function generateChangelog(sections: Changelog) {
// Generate changelog sections
const changelogSections = Object.entries(sections).map(([sectionKey, entries]) => {
const sectionName = SECTION_MAPPING[sectionKey as SectionKey];
return entries.length === 0
? `### ${sectionName}`
: `### ${sectionName}\n\n${entries.map((entry) => ` - ${entry}`).join('\n')}`;
});

// Generate full changelog
const currentDate = getCurrentDateFormatted();
const changelog = `## [${pkgVersion}-${currentDate}](https://github.com/opensearch-project/OpenSearch-Dashboards/releases/tag/${pkgVersion})\n\n${changelogSections.join(
'\n\n'
)}`;
// Update changelog file
addContentAfterUnreleased(filePath, changelog);
return changelogSections;
}

function generateReleaseNote(changelogSections: string[]) {
// Generate release note
const releaseNoteFilename = `opensearch-dashboards.release-notes-${pkgVersion}.md`;
const releaseNoteHeader = `# VERSION ${pkgVersion} Release Note`;
const releaseNote = `${releaseNoteHeader}\n\n${changelogSections.join('\n\n')}`;
writeFileSync(resolve(releaseNotesDirPath, releaseNoteFilename), releaseNote);
}

(async () => {
const { sections, fragmentPaths } = await readFragments();
// create folder for temp fragments
const fragmentTempDirPath = await fsPromises.mkdtemp(join(fragmentDirPath, 'tmp_fragments-'));
// move fragments to temp fragments folder
await moveFragments(fragmentPaths, fragmentTempDirPath);

const changelogSections = generateChangelog(sections);

generateReleaseNote(changelogSections);

// remove temp fragments folder
await deleteFragments(fragmentTempDirPath);
})();
59 changes: 59 additions & 0 deletions src/dev/generate_release_note_helper.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/*
* Copyright OpenSearch Contributors
* SPDX-License-Identifier: Apache-2.0
*/

import { resolve } from 'path';

export const filePath = resolve(__dirname, '..', '..', 'CHANGELOG.md');
export const fragmentDirPath = resolve(__dirname, '..', '..', 'changelogs', 'fragments');
export const releaseNotesDirPath = resolve(__dirname, '..', '..', 'release-notes');

export function getCurrentDateFormatted(): string {
return new Date().toISOString().slice(0, 10);
}

export const SECTION_MAPPING = {
breaking: '💥 Breaking Changes',
deprecate: 'Deprecations',
security: '🛡 Security',
feat: '📈 Features/Enhancements',
fix: '🐛 Bug Fixes',
infra: '🚞 Infrastructure',
doc: '📝 Documentation',
chore: '🛠 Maintenance',
refactor: '🪛 Refactoring',
test: '🔩 Tests',
};

export type SectionKey = keyof typeof SECTION_MAPPING;
export type Changelog = Record<SectionKey, string[]>;

const MAX_ENTRY_LENGTH = 100;
// Each entry must start with '-' and a space, followed by a non-empty string, and be no longer that MAX_ENTRY_LENGTH characters
const entryRegex = new RegExp(`^-.{1,${MAX_ENTRY_LENGTH}}\\(\\[#.+]\\(.+\\)\\)$`);

// validate format of fragment files
export function validateFragment(content: string) {
const sections = content.split(/(?:\r?\n){2,}/);

// validate each section
for (const section of sections) {
const lines = section.split('\n');
const sectionName = lines[0];
const sectionKey = sectionName.slice(0, -1);

if (!SECTION_MAPPING[sectionKey as SectionKey] || !sectionName.endsWith(':')) {
throw new Error(`Unknown section ${sectionKey}.`);
}
for (const entry of lines.slice(1)) {
if (entry === '') {
continue;
}
// if (!entryRegex.test(entry)) {
if (!entryRegex.test(entry.trim())) {
throw new Error(`Invalid entry ${entry} in section ${sectionKey}.`);
}
}
}
}
Loading