name: Release on: release: types: [ released ] jobs: rubocop: name: RuboCop runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: ruby/setup-ruby@v1 with: ruby-version: 3.1.3 bundler-cache: true - name: Check with RuboCop run: bundle exec rubocop rspec: name: RSpec with ruby ${{matrix.ruby}} runs-on: ubuntu-latest needs: rubocop strategy: fail-fast: false matrix: ruby: ['2.6', '2.7', '3.0', '3.1', head] steps: - uses: actions/checkout@v3 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{matrix.ruby}} bundler-cache: true - name: Test with RSpec run: bundle exec rspec build-and-push: name: Build and push gem runs-on: ubuntu-latest needs: rspec steps: - uses: actions/checkout@v3 - uses: ruby/setup-ruby@v1 with: ruby-version: 3.1.3 bundler-cache: true - name: Setup credentials run: | mkdir -p $HOME/.gem touch $HOME/.gem/credentials chmod 0600 $HOME/.gem/credentials printf -- "---\n:rubygems_api_key: ${RUBYGEMS_API_KEY}\n" > $HOME/.gem/credentials env: RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }} - name: Release gem run: | bundle exec rake release