diff --git a/.github/workflows/gem-push.yml b/.github/workflows/gem-push.yml new file mode 100644 index 0000000..51a5399 --- /dev/null +++ b/.github/workflows/gem-push.yml @@ -0,0 +1,46 @@ +name: Ruby Gem + +on: + pull_request: + branches: [ "main" ] + types: [closed] + +jobs: + build: + name: Build + Publish + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + - name: Set up Ruby 3.2.2 + uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0 + with: + ruby-version: 3.2.2 + + - name: Publish to GitHub Packages + 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 }} + + - name: Publish to RubyGems.org + 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}}" diff --git a/.rubocop.yml b/.rubocop.yml new file mode 100644 index 0000000..e8e0f05 --- /dev/null +++ b/.rubocop.yml @@ -0,0 +1,6 @@ +AllCops: + SuggestExtensions: false + NewCops: disable + +Style/StringLiterals: + Enabled: true diff --git a/beeceptor_ruby.gemspec b/beeceptor_ruby.gemspec index 9cb955f..70c6bb9 100644 --- a/beeceptor_ruby.gemspec +++ b/beeceptor_ruby.gemspec @@ -11,7 +11,7 @@ Gem::Specification.new do |spec| spec.description = "Allows users to use Beeceptor's REST API." spec.homepage = 'https://github.com/chrisdavis179/beeceptor_ruby' spec.license = 'MIT' - spec.required_ruby_version = '>= 2.6.0' + spec.required_ruby_version = '>= 3.2.2' # Specify which files should be added to the gem when it is released. # The `git ls-files -z` loads the files in the RubyGem that have been added into git. @@ -27,6 +27,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'faraday' spec.add_dependency 'json' spec.add_dependency 'rspec', '~> 3.7' + spec.add_dependency 'rubocop' # For more information and examples about making a new gem, check out our # guide at: https://bundler.io/guides/creating_gem.html diff --git a/lib/beeceptor_ruby/version.rb b/lib/beeceptor_ruby/version.rb index a1d5707..9d3a0c3 100644 --- a/lib/beeceptor_ruby/version.rb +++ b/lib/beeceptor_ruby/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module BeeceptorRuby - VERSION = '0.1.0' + VERSION = '0.4.0' end