;doc:,workflows: auto-generate github release notes

This commit is contained in:
Simon Michael 2024-05-19 09:44:36 -10:00
parent cf800cb3bf
commit 5aed755b71
4 changed files with 26 additions and 54 deletions

View File

@ -127,6 +127,10 @@ jobs:
run: | run: |
ls -lRFh artifacts ls -lRFh artifacts
- name: Generate github release notes
run: |
doc/ghrelnotes ${{ github.ref }} # ref should be the release's main tag name
- name: Create release - name: Create release
uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87 # https://github.com/softprops/action-gh-release 2.0.5 uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87 # https://github.com/softprops/action-gh-release 2.0.5
# permissions: # permissions:
@ -149,7 +153,7 @@ jobs:
# append_body Boolean Append to existing body instead of overwriting it # append_body Boolean Append to existing body instead of overwriting it
# make_latest String Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Can be true, false, or legacy. Uses GitHub api defaults if not provided # make_latest String Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Can be true, false, or legacy. Uses GitHub api defaults if not provided
# #
body_path: ${{ github.workspace }}/doc/relnotes.github.md body_path: doc/ghrelnotes.md
files: | files: |
artifacts/*.zip artifacts/*.zip
artifacts/*.tar.gz artifacts/*.tar.gz

1
.gitignore vendored
View File

@ -109,3 +109,4 @@ hledger-web/yesod-devel/
/finance /finance
/examples/demo/ /examples/demo/
/hledger-web/demo/ /hledger-web/demo/
/doc/ghrelnotes.md

67
doc/relnotes.github.md → doc/ghrelnotes Normal file → Executable file
View File

@ -1,56 +1,16 @@
<!-- #!/usr/bin/env bash
_ _ _ # ghrelnotes REL - generate github release notes for REL, as ghrelnotes.md. -*- markdown -*-
__ _| |__ _ __ ___| |_ __ ___ | |_ ___ ___
/ _` | '_ \| '__/ _ \ | '_ \ / _ \| __/ _ \/ __|
| (_| | | | | | | __/ | | | | (_) | || __/\__ \
\__, |_| |_|_| \___|_|_| |_|\___/ \__\___||___/
|___/
--> cd "$(dirname $0)"
OUT=ghrelnotes.md
cat >$OUT <<'END'
## Release notes ## Release notes
END
### hledger 1.33.1 export REL=$1
../tools/getrelnotes $REL >>$OUT
- process >=1.6.19.0 seems not strictly needed and is no longer required, envsubst '$REL' >>$OUT <<'END'
improving installability.
[#2149]
- `print` and `close` now show a trailing decimal mark on cost amounts also,
when needed to disambiguate a digit group mark.
- The balance commands' HTML output now includes digit group marks when
appropriate (fixes a regression in 1.25).
[#2196]
- The add command no longer shows ANSI escape codes in terminals that
don't support them.
- Doc updates:
- import: Skipping -> Date skipping, discuss commodity styles more
- csv: Amount decimal places: expand, note import behaviour
### hledger-ui 1.33.1
- Require vty-windows-0.2.0.2+ to avoid display problems in recent
MS Terminal on Windows.
- process >=1.6.19.0 seems not strictly needed and is no longer required,
improving installability.
[#2149]
### hledger-web 1.33.1
- Support base64 >=1.0
### credits 1.33.1
- Simon Michael (@simonmichael)
[#2149]: https://github.com/simonmichael/hledger/issues/2149
[#2196]: https://github.com/simonmichael/hledger/issues/2196
<details> <details>
<summary> <summary>
@ -78,7 +38,7 @@ At the command line,
``` ```
cd /usr/local/bin cd /usr/local/bin
curl -LOC- https://github.com/simonmichael/hledger/releases/download/1.33.1/hledger-linux-x64.zip # just rerun if interrupted curl -LOC- https://github.com/simonmichael/hledger/releases/download/$REL/hledger-linux-x64.zip # just rerun if interrupted
unzip hledger-linux-x64.zip && tar xvf hledger-linux-x64.tar && rm -f hledger-linux-x64.{zip,tar} # github workaround, preserves permissions unzip hledger-linux-x64.zip && tar xvf hledger-linux-x64.tar && rm -f hledger-linux-x64.{zip,tar} # github workaround, preserves permissions
cd cd
hledger --version # should show the new version hledger --version # should show the new version
@ -106,11 +66,11 @@ and/or [Homebrew](https://brew.sh), and let me know.)
cd /usr/local/bin cd /usr/local/bin
# for ARM macs: # for ARM macs:
curl -LOC- https://github.com/simonmichael/hledger/releases/download/1.33.1/hledger-mac-arm64.zip # just rerun if interrupted curl -LOC- https://github.com/simonmichael/hledger/releases/download/$REL/hledger-mac-arm64.zip # just rerun if interrupted
unzip hledger-mac-arm64.zip && tar xvf hledger-mac-arm64.tar && rm -f hledger-mac-arm64.{zip,tar} # github workaround, preserves permissions unzip hledger-mac-arm64.zip && tar xvf hledger-mac-arm64.tar && rm -f hledger-mac-arm64.{zip,tar} # github workaround, preserves permissions
# or for Intel macs: # or for Intel macs:
curl -LOC- https://github.com/simonmichael/hledger/releases/download/1.33.1/hledger-mac-x64.zip curl -LOC- https://github.com/simonmichael/hledger/releases/download/$REL/hledger-mac-x64.zip
unzip hledger-mac-x64.zip && tar xvf hledger-mac-x64.tar && rm -f hledger-mac-x64.{zip,tar} unzip hledger-mac-x64.zip && tar xvf hledger-mac-x64.tar && rm -f hledger-mac-x64.{zip,tar}
cd cd
@ -142,7 +102,7 @@ cd $HOME\bin
cp hledger.exe hledger.old.exe # keep a backup of the old executables, if you care cp hledger.exe hledger.old.exe # keep a backup of the old executables, if you care
cp hledger-ui.exe hledger-ui.old.exe cp hledger-ui.exe hledger-ui.old.exe
cp hledger-web.exe hledger-web.old.exe cp hledger-web.exe hledger-web.old.exe
curl https://github.com/simonmichael/hledger/releases/download/1.33.1/hledger-windows-x64.zip -OutFile hledger-windows-x64.zip curl https://github.com/simonmichael/hledger/releases/download/$REL/hledger-windows-x64.zip -OutFile hledger-windows-x64.zip
Expand-Archive hledger-windows-x64.zip -DestinationPath . -Force Expand-Archive hledger-windows-x64.zip -DestinationPath . -Force
cd $HOME cd $HOME
hledger --version # should show the new version hledger --version # should show the new version
@ -193,3 +153,4 @@ Problems:
Once installed, run `hledger`, and perhaps read [hledger.org: Quick start](https://hledger.org/#quick-start). Once installed, run `hledger`, and perhaps read [hledger.org: Quick start](https://hledger.org/#quick-start).
</details> </details>
END

6
tools/getrelnotes Executable file
View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
# getrelnotes REL - extract the release notes for REL from relnotes.md.
# The main release heading is omitted.
cd "$(dirname $0)"
awk "/^## .*-${1//./'\.'}$/{p=1;next} /^## /{p=0} p" ../doc/relnotes.md