diff --git a/.github/publish.yml b/.github/publish.yml new file mode 100644 index 0000000..7295b40 --- /dev/null +++ b/.github/publish.yml @@ -0,0 +1,40 @@ +name: Publish Gem + +on: + release: + types: [published] + +jobs: + publish: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + + - name: Publish to GPR + env: + GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}" + OWNER: ${{ github.repository_owner }} + 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 + + - name: Publish to RubyGems + env: + GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_API_KEY}}" + 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 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 22c3efb..f000d47 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,37 +17,3 @@ jobs: id: release with: target-branch: master - - - if: ${{ steps.release.outputs.release_created }} - uses: actions/checkout@v4 - - - if: ${{ steps.release.outputs.release_created }} - name: Set up Ruby - uses: ruby/setup-ruby@v1 - with: - bundler-cache: true - - - if: ${{ steps.release.outputs.release_created }} - name: Publish to GPR - 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_API_KEY}}"