nevir/rubocop-rspec

View on GitHub
.github/workflows/publish.yml

Summary

Maintainability
Test Coverage
name: Publish
on:
  push:
    branches: master
    paths: lib/rubocop/rspec/version.rb
jobs:
  publish:
    name: Publish to RubyGems
    runs-on: ubuntu-latest
    permissions:
      contents: write
      id-token: write
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
      - name: Set up Ruby
        uses: ruby/setup-ruby@v1
        with:
          bundler-cache: true
          ruby-version: ruby
      - uses: rubygems/release-gem@v1
      - name: Create a GitHub release
        env:
          GH_TOKEN: ${{ github.token }}
        run: |
          bundle exec rake create_release_notes
          gh release create $(git tag --points-at @) \
            --title "RuboCop RSpec $(git tag --points-at @)" \
            --notes-file relnotes.md
      - name: Replace version in Antora config
        env:
          GH_TOKEN: ${{ github.token }}
        run: |
          sed -i 's/version:.*$/version: ~/' docs/antora.yml
          if ! git diff --exit-code docs/antora.yml; then
            git config user.name "${GITHUB_ACTOR}"
            git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
            git checkout -b switch-docs-version
            git add docs/antora.yml
            git commit -m "Switch docs version back"
            git push -u origin switch-docs-version
            gh pr create --fill --head switch-docs-version
          fi