name: Release on: pull_request: types: [closed] branches: - master jobs: Release: name: 🚀 Release if: github.event.pull_request.merged && startsWith(github.head_ref, 'release-') runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - uses: actions/github-script@v5 with: script: | const get_change_log_diff = require('./scripts/get_changelog_diff.js') core.exportVariable('CHANGELOG', get_change_log_diff()) // Getting the release version from the PR source branch // Source branch looks like this: release-1.0.0 const version = context.payload.pull_request.head.ref.split('-')[1] core.exportVariable('VERSION', version) - name: Publish gem uses: dawidd6/action-publish-gem@v1 with: api_key: ${{secrets.RUBYGEMS_API_KEY}} - name: Create release on GitHub uses: ncipollo/release-action@v1 with: body: ${{ env.CHANGELOG }} tag: ${{ env.VERSION }} token: ${{ secrets.GITHUB_TOKEN }}