diff --git a/.github/workflows/make_release.yml b/.github/workflows/make_release.yml index b3dd3983c05..6f990df1612 100644 --- a/.github/workflows/make_release.yml +++ b/.github/workflows/make_release.yml @@ -27,22 +27,27 @@ jobs: pip install wheel python setup.py sdist bdist_wheel - name: Find Release Notes + id: release_notes run: | TAG="${GITHUB_REF/refs\/tags\/v/}" # clean tag VER="${TAG/rc*/}" # remove pre-release identifier - RELEASE_FILEPATH=docs/release/release_${VER//./_}.rst + RELEASE_NOTES="$(cat docs/release/release_${VER//./_}.rst)" + # https://github.community/t5/GitHub-Actions/set-output-Truncates-Multiline-Strings/m-p/38372/highlight/true#M3322 + RELEASE_NOTES="${RELEASE_NOTES//'%'/'%25'}" + RELEASE_NOTES="${RELEASE_NOTES//$'\n'/'%0A'}" + RELEASE_NOTES="${RELEASE_NOTES//$'\r'/'%0D'}" # https://help.github.com/en/actions/reference/workflow-commands-for-github-actions echo "::set-env name=tag::$TAG" - echo "::set-env name=release_filepath::$RELEASE_FILEPATH" + echo "::set-output name=contents::$RELEASE_NOTES" - name: Create Release id: create_release - uses: jbolda/create-release@v1.1.0 # switch to actions/create-release@latest once actions/create-release#50 merged + uses: actions/create-release@latest env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token with: tag_name: ${{ github.ref }} release_name: ${{ env.tag }} - bodyFromFile: ${{ env.release_filepath }} + body: ${{ steps.release_notes.outputs.contents }} draft: false prerelease: ${{ contains(github.ref, 'rc') }} - name: Upload Release Asset @@ -50,7 +55,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./dist/napari-${{ env.tag }}.tar.gz asset_name: napari-${{ env.tag }}.tar.gz asset_content_type: application/gzip