Skip to content

Instantly share code, notes, and snippets.

@JuanVqz
Last active February 1, 2023 17:11
Show Gist options
  • Save JuanVqz/5e61c3fe8be13f13fb26841478340ec1 to your computer and use it in GitHub Desktop.
Save JuanVqz/5e61c3fe8be13f13fb26841478340ec1 to your computer and use it in GitHub Desktop.
Release Please Workflow Template for a Ruby Gem
name: release
on:
workflow_dispatch:
push:
branches: [ main ]
jobs:
release-please:
runs-on: ubuntu-latest
steps:
- name: Update Release PR
uses: google-github-actions/release-please-action@v3
id: release
with:
release-type: ruby
package-name: ombu_labs-auth
version-file: "lib/ombu_labs/auth/version.rb"
changelog-types: '[{"type":"feat","section":"Features","hidden":false}, {"type":"fix","section":"Bug Fixes","hidden":false}, {"type":"chore", "section":"Miscellaneous","hidden":false}]'
- name: Checkout
uses: actions/checkout@v3
if: ${{ steps.release.outputs.release_created }}
- name: Set Up Ruby
uses: ruby/setup-ruby@v1
with:
bundle-cache: true
if: ${{ steps.release.outputs.release_created }}
- name: Bundle Install
run: bundle install
if: ${{ steps.release.outputs.release_created }}
- name: Publish to GitHub
run: |
mkdir -p $HOME/.gem
touch $HOME/.gem/credentials
chmod 0600 $HOME/.gem/credentials
printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
gem build *.gemspec
gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
env:
GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}"
OWNER: ${{ github.repository_owner }}
if: ${{ steps.release.outputs.release_created }}
- name: Publish to RubyGems
run: |
mkdir -p $HOME/.gem
touch $HOME/.gem/credentials
chmod 0600 $HOME/.gem/credentials
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
gem build *.gemspec
gem push *.gem
env:
GEM_HOST_API_KEY: "${{ secrets.RUBYGEMS_AUTH_TOKEN }}"
if: ${{ steps.release.outputs.release_created }}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment