use shared config for CD, stale, and triage; update Ruby versions in … #281
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
rspec: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
ruby: | |
- 3.1 | |
- 3.2 | |
- 3.3 | |
rails: | |
- "7.0" | |
- 6.1 | |
env: | |
BUNDLE_GEMFILE: Gemfile | |
RAILS_VERSION: ${{ matrix.rails }} | |
name: "RSpec tests: Ruby ${{ matrix.ruby }}; Rails ${{ matrix.rails }}" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Ruby ${{ matrix.ruby }} | |
uses: ruby/setup-ruby@v1 | |
with: | |
bundler-cache: false | |
ruby-version: ${{ matrix.ruby }} | |
- name: Update bundler | |
run: gem install bundler && bundle install | |
- name: Run tests | |
run: bundle exec rspec | |
static_type_check: | |
name: "Type Check" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
bundler-cache: true | |
ruby-version: 3.3 | |
- name: Run static type checks | |
run: bundle exec srb tc | |
notify_on_failure: | |
runs-on: ubuntu-latest | |
needs: [rspec, static_type_check] | |
if: ${{ failure() && github.ref == 'refs/heads/main' }} | |
env: | |
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | |
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK | |
steps: | |
- uses: slackapi/[email protected] | |
with: | |
payload: | | |
{ | |
"text": "${{ github.repository }}/${{ github.ref }}: FAILED\n${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" | |
} |