name: Ruby on: push: branches: [ main ] paths: '**.rb' pull_request: branches: [ main ] paths: '**.rb' permissions: contents: read jobs: lint: name: Run Ruby linter runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: '3.2.2' bundler-cache: true - name: Install dependencies run: bundle install - name: Run RuboCop run: bundle exec rubocop test: name: Run Ruby tests needs: [ lint ] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: '3.2.2' bundler-cache: true - name: Install dependencies run: bundle install - name: Run tests run: bundle exec rspec **/*.rb