From ba7810f729ce313344130f81f70269bba43dbdac Mon Sep 17 00:00:00 2001 From: Joakim Antman Date: Sun, 15 Sep 2024 13:50:38 +0300 Subject: [PATCH] Push gem GH action --- .github/workflows/push_gem.yml | 39 ++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/push_gem.yml diff --git a/.github/workflows/push_gem.yml b/.github/workflows/push_gem.yml new file mode 100644 index 00000000..46104ce2 --- /dev/null +++ b/.github/workflows/push_gem.yml @@ -0,0 +1,39 @@ +--- + 'on': + push: + tags: + - v* + name: Push Gem + jobs: + push: + runs-on: ubuntu-latest + permissions: + contents: write + id-token: write + steps: + - uses: rubygems/configure-rubygems-credentials@main + with: + role-to-assume: ${{ secrets.RUBYGEMS_PUSH_ROLE }} + - uses: actions/checkout@v4 + - name: Set remote URL + run: | + # Attribute commits to the last committer on HEAD + git config --global user.email "$(git log -1 --pretty=format:'%ae')" + git config --global user.name "$(git log -1 --pretty=format:'%an')" + git remote set-url origin "https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY" + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + ruby-version: ruby + - name: Release + run: bundle exec rake release + - name: Wait for release to propagate + run: | + gem install rubygems-await + gem_tuple="$(ruby -rbundler/setup -rbundler -e ' + spec = Bundler.definition.specs.find {|s| s.name == ARGV[0] } + raise "No spec for #{ARGV[0]}" unless spec + print [spec.name, spec.version, spec.platform].join(":") + ' "jwt")" + gem await "${gem_tuple}" \ No newline at end of file