Add Release Note (bug): When Git for Windows v2.44.0 introduced the ability [to use native Win32 Console ANSI sequence processing](https://github.com/git-for-windows/git/pull/4700), an inadvertent fallout was that in this instance, [non-ASCII characters were no longer printed correctly unless the current code page was set to 65001](https://github.com/git-for-windows/git/issues/4851). This bug [has been fixed](https://github.com/git-for-windows/git/pull/4968). #117
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Add Release Note | |
run-name: 'Add Release Note (${{ inputs.type }}): ${{ inputs.message }}' | |
on: | |
workflow_dispatch: | |
inputs: | |
type: | |
description: The type of release note (must be blurb, feature or bug) | |
required: true | |
type: string | |
message: | |
description: The release note | |
required: true | |
type: string | |
jobs: | |
add-release-note: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- name: Configure Git author | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
const username = '${{ github.triggering_actor }}' | |
const fallBackEmail = `${username.replace('[bot]', '-bot')}@users.noreply.github.com` | |
const { data: { name, email } } = await github.rest.users.getByUsername({ username }) | |
core.exportVariable('GIT_AUTHOR_NAME', name || username) | |
core.exportVariable('GIT_AUTHOR_EMAIL', email || fallBackEmail) | |
core.exportVariable('GIT_COMMITTER_NAME', name || username) | |
core.exportVariable('GIT_COMMITTER_EMAIL', email || fallBackEmail) | |
- name: Partial & sparse clone | |
run: | | |
git clone --depth=1 --filter=blob:none --no-checkout --single-branch \ | |
-b ${{ github.ref_name }} https://github.com/${{ github.repository }} . && | |
# need only `add-release-notes.js` and `ReleaseNotes.md`, really | |
git sparse-checkout set . && | |
git checkout | |
- name: Add release note | |
env: | |
TYPE: ${{ github.event.inputs.type }} | |
MESSAGE: ${{ github.event.inputs.message }} | |
run: node ./add-release-note.js --commit "$TYPE" "$MESSAGE" | |
- name: Push updates | |
run: | | |
git -c http.extraHeader="Authorization: Basic $(printf 'x-access-token:${{ secrets.GITHUB_TOKEN }}' | base64 -w 0)" push origin HEAD |