1717 steps :
1818 - name : Checkout code
1919 uses : actions/checkout@v3
20+ with :
21+ fetch-depth : 0
2022
2123 - name : Set up C build tools
2224 run : sudo apt-get update && sudo apt-get install -y build-essential
@@ -30,14 +32,33 @@ jobs:
3032 cp bin/NotesCLI release/
3133 tar -czvf NotesCLI.tar.gz -C release NotesCLI
3234
33- - name : Create GitHub Release
34- uses : softprops/action-gh-release@v2
35+ - name : Setup Node.js
36+ uses : actions/setup-node@v3
3537 with :
36- tag_name : v1.0.0 # Replace with dynamic versioning if needed
37- name : Release v1.0.0
38- body : |
39- 🛠️ Built automatically using GitHub Actions
38+ node-version : ' lts/*'
39+
40+ - name : Install semantic-release
41+ run : |
42+ npm install -g semantic-release
43+ npm install -g @semantic-release/changelog
44+ npm install -g @semantic-release/git
45+
46+ - name : Create Release
4047 env :
4148 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
49+ run : |
50+ semantic-release --branches main \
51+ --plugins "@semantic-release/commit-analyzer" \
52+ "@semantic-release/release-notes-generator" \
53+ "@semantic-release/changelog" \
54+ "@semantic-release/github" \
55+ "@semantic-release/git"
56+
57+ - name : Upload Release Asset
58+ uses : softprops/action-gh-release@v2
59+ if : steps.semantic.outputs.new_release_published == 'true'
4260 with :
4361 files : NotesCLI.tar.gz
62+ body_path : CHANGELOG.md
63+ env :
64+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments