Skip to content

Add release to main CI pipeline #19

Add release to main CI pipeline

Add release to main CI pipeline #19

Workflow file for this run

---
name: Main Pipeline
on:
push:
branches:
- main
pull_request:
jobs:
lint:
runs-on: ubuntu-latest
name: Rubocop
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Run rubocop
run: bundle exec rubocop
test:
runs-on: ubuntu-latest
name: Ruby ${{ matrix.ruby }}
strategy:
matrix:
ruby:
- '3.2'
- '3.3'
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: Run testsuite
run: bundle exec rake
verify:
runs-on: ubuntu-latest
name: Verify
strategy:
matrix:
plugin:
- minitest
- rspec
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
- name: Run example testsuite
run: |
cd examples/${{ matrix.plugin }}
rm -f .test-map.yml
bundle install
bundle exec rake
sha1sum --check .test-map.yml.sha1
release:
if: github.ref == 'refs/heads/main'
needs: [lint, test, verify]
name: Push gem to RubyGems.org
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
ruby-version: ruby
- uses: rubygems/release-gem@v1