From 426b2df0d1fab9a4b613142a13bd31b5dc4267ba Mon Sep 17 00:00:00 2001 From: thde Date: Wed, 27 Sep 2023 15:47:04 +0200 Subject: [PATCH] fix: gem push --- .github/workflows/publish.yml | 45 ----------------------------------- .github/workflows/release.yml | 35 +++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 45 deletions(-) delete mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index 2b9f6b3..0000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: publish - -on: - workflow_dispatch: - push: - tags: - - "*" - -permissions: - packages: write - contents: read - -jobs: - build: - name: publish - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@v1 - with: - ruby-version: 3.2 - - run: bundle install - - 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 }} - CI_COMMIT_TAG: ${{github.ref_name}} - - 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}}" - CI_COMMIT_TAG: ${{github.ref_name}} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a426373..24ac443 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,3 +21,38 @@ jobs: with: allow-initial-development-versions: true github-token: ${{ secrets.GITHUB_TOKEN }} + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: check if tag has been created + run: test -n "$(git tag --points-at HEAD)" && echo "PUBLISH=true" >> $GITHUB_ENV || echo "PUBLISH=false" >> $GITHUB_ENV + - uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.2 + - run: bundle install + - run: gem build *.gemspec + if: ${{ env.PUBLISH != "true" }} + - run: gem build *.gemspec + if: ${{ env.PUBLISH == "true" }} + env: + CI_COMMIT_TAG: ${{github.ref_name}} + - name: prepare gem credential + run: | + mkdir -p $HOME/.gem + touch $HOME/.gem/credentials + chmod 0600 $HOME/.gem/credentials + - name: publish to GPR + if: ${{ env.PUBLISH == "true" }} + run: | + printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials + 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 }} + - name: publish to RubyGems + if: ${{ env.PUBLISH == "true" }} + run: | + printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials + gem push *.gem + env: + GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"