From 345e7dccdd1330e50d4b50128a296e68994dc068 Mon Sep 17 00:00:00 2001 From: Ami Mahloof Date: Tue, 19 Mar 2024 12:41:56 -0400 Subject: [PATCH] CI: publish gem action. --- .github/workflows/ci.yaml | 11 --------- .github/workflows/publish-gem.yaml | 37 ++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 11 deletions(-) create mode 100644 .github/workflows/publish-gem.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index aff4b64..eded18b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -55,14 +55,3 @@ jobs: id: release if: github.ref == 'refs/heads/main' - - 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_API_KEY}}" - if: ${{ steps.release.outputs.release_created }} diff --git a/.github/workflows/publish-gem.yaml b/.github/workflows/publish-gem.yaml new file mode 100644 index 0000000..43a5781 --- /dev/null +++ b/.github/workflows/publish-gem.yaml @@ -0,0 +1,37 @@ +name: Publish Ruby Gem + +on: + release: + types: [created] + +permissions: + contents: read + pull-requests: read # to detect changes files + +jobs: + publish-gem: + name: Publish Ruby Gem + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + - uses: ruby/setup-ruby@v1 + with: + # We are not letting this step to run bundle install, we will do it later + bundler-cache: false + + - name: Install dependencies + run: bundle install + + - 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_API_KEY}}" + if: ${{ steps.release.outputs.release_created }}