diff --git a/.github/workflows/gem_deploy.yml b/.github/workflows/gem_deploy.yml index 15b0a8d..77fef94 100644 --- a/.github/workflows/gem_deploy.yml +++ b/.github/workflows/gem_deploy.yml @@ -6,5 +6,43 @@ on: - master jobs: - gem_deploy: - uses: forward3d/github-actions-workflows/.github/workflows/gem_deploy.yml@main + release: + name: Tag & Release + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Tag + id: tag + uses: forward3d/gh-gem-tag-action@master + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + tag_prefix: v + - name: Read latest Changelog entry + id: changelog + run: | + changelog=$(sed -E -n '2,/^[0-9]+\.[0-9]+\.[0-9]+/ p' CHANGELOG.md | sed '$d') + changelog="${changelog//'::'/'@'}" + changelog="${changelog//'%'/'%25'}" + changelog="${changelog//$'\n'/'%0A'}" + changelog="${changelog//$'\r'/'%0D'}" + echo "::set-output name=changelog::$changelog" + - name: Create release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ steps.tag.outputs.tag }} + release_name: Release ${{ steps.tag.outputs.tag }} + body: ${{ steps.changelog.outputs.changelog }} + draft: false + prerelease: false + publish: + name: Build & Publish + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Build and publish gem + uses: jstastny/publish-gem-to-github@master + with: + token: ${{ secrets.GITHUB_TOKEN }} + owner: forward3d