diff --git a/.github/workflows/desktop.release.reuse.yml b/.github/workflows/desktop.release.reuse.yml index 6642050c3..5a9475c43 100644 --- a/.github/workflows/desktop.release.reuse.yml +++ b/.github/workflows/desktop.release.reuse.yml @@ -176,9 +176,10 @@ jobs: path: packages/desktop - name: Generate Release Notes + uses: ./actions/release-notes + with: + package: web desktop id: release-notes - run: echo "::set-output name=release-notes::$(node ../../scripts/changelog-parser.js web desktop)" - shell: bash continue-on-error: true - name: Release @@ -187,7 +188,7 @@ jobs: token: ${{ secrets.CI_PAT_TOKEN }} tag_name: "@standardnotes/desktop@${{ steps.package-version.outputs.current-version}}" name: "Desktop ${{ steps.package-version.outputs.current-version }}" - body: ${{ steps.release-notes.outputs.release-notes }} + body: ${{ steps.release-notes.outputs.result }} prerelease: true draft: false files: packages/desktop/dist/* diff --git a/.github/workflows/mobile.release.prod.yml b/.github/workflows/mobile.release.prod.yml index dddfa68c7..49bec685f 100644 --- a/.github/workflows/mobile.release.prod.yml +++ b/.github/workflows/mobile.release.prod.yml @@ -50,9 +50,10 @@ jobs: path: packages/mobile - name: Generate Release Notes + uses: ./actions/release-notes + with: + package: mobile id: release-notes - run: echo "::set-output name=release-notes::$(node ../../scripts/changelog-parser.js mobile)" - shell: bash continue-on-error: true - name: Release @@ -61,7 +62,7 @@ jobs: token: ${{ secrets.CI_PAT_TOKEN }} tag_name: "@standardnotes/mobile@${{ steps.package-version.outputs.current-version}}" name: "Mobile ${{ steps.package-version.outputs.current-version }}" - body: ${{ steps.release-notes.outputs.release-notes }} + body: ${{ steps.release-notes.outputs.result }} prerelease: true draft: false files: | diff --git a/actions/release-notes/action.yml b/actions/release-notes/action.yml new file mode 100644 index 000000000..0878808f9 --- /dev/null +++ b/actions/release-notes/action.yml @@ -0,0 +1,26 @@ +name: Release Notes +description: Runs scripts/changelog-parser for package + +inputs: + package: + description: Package name + required: true + +outputs: + result: + description: Outputs release notes + value: ${{ steps.set.outputs.result }} + +runs: + using: composite + steps: + - id: set + shell: bash + env: + text: ${{ inputs.text }} + run: | + RELEASE_NOTES="$(node scripts/changelog-parser.js ${{ inputs.package }})" + RELEASE_NOTES="${RELEASE_NOTES//'%'/'%25'}" + RELEASE_NOTES="${RELEASE_NOTES//$'\n'/'%0A'}" + RELEASE_NOTES="${RELEASE_NOTES//$'\r'/'%0D'}" + echo "::set-output name=result::$RELEASE_NOTES" \ No newline at end of file