name: Bump Gem on: workflow_dispatch: inputs: bump_type: type: choice description: "Bump Type ( Choosing None will bump build number and keep the same version )" default: "patch" options: - patch - minor - major permissions: contents: read jobs: build: name: Build gem runs-on: ubuntu-latest permissions: id-token: write # IMPORTANT: this permission is mandatory for trusted publishing contents: write # IMPORTANT: this permission is required for `rake release` to push the release tag steps: # Set up - uses: actions/checkout@v4 - name: set git config env: GH_TOKEN: ${{ github.token }} run: | git config --global user.email "${GITHUB_ACTOR_ID}+${GITHUB_ACTOR}@users.noreply.github.com" git config --global user.name "$(gh api /users/${GITHUB_ACTOR} | jq .name -r)" git config -l - name: Set up Ruby uses: ruby/setup-ruby@v1 with: bundler-cache: true ruby-version: ruby - name: Install the gem-release run: gem install gem-release - name: Bump the gem run: gem bump --version ${{ github.event.inputs.bump_type }} -p - name: Remove lock on bundle run: bundle config set frozen false - name: Bundle Install run: bundle install - name: Git Add files run: git add Gemfile.lock - name: Git Commit run: git commit -m "Add bundle files" - name: Push the new version run: git push origin ${{ github.ref_name }} release: name: Release gem runs-on: ubuntu-latest needs: build permissions: id-token: write # IMPORTANT: this permission is mandatory for trusted publishing contents: write # IMPORTANT: this permission is required for `rake release` to push the release tag steps: - uses: actions/checkout@v4 - name: Git Pull run: git pull - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ruby bundler-cache: true - name: Remove lock on bundle run: bundle config set frozen false - uses: rubygems/release-gem@v1 with: await-release: false