Skip to content

feat: enhance scheduler documentation and signal handling #97

feat: enhance scheduler documentation and signal handling

feat: enhance scheduler documentation and signal handling #97

Workflow file for this run

name: CI
permissions:
contents: read
on:
pull_request:
push:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.pull_request.number) || format('ref-{0}', github.ref) }}
cancel-in-progress: true
env:
RUBY_VERSION: 3.4.3
APP_DIR: ${{ github.workspace }}/rails_cron
jobs:
setup:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ${{ env.APP_DIR }}
steps:
- uses: actions/checkout@v6
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ env.RUBY_VERSION }}
bundler-cache: true
working-directory: ${{ env.APP_DIR }}
- run: bundle info rake
lint:
permissions:
contents: read
runs-on: ubuntu-latest
needs: setup
defaults:
run:
working-directory: ${{ env.APP_DIR }}
steps:
- uses: actions/checkout@v6
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ env.RUBY_VERSION }}
bundler-cache: true
working-directory: ${{ env.APP_DIR }}
- name: RuboCop
run: bin/rubocop -f github
reek:
permissions:
contents: read
runs-on: ubuntu-latest
needs: setup
defaults:
run:
working-directory: ${{ env.APP_DIR }}
steps:
- uses: actions/checkout@v6
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ env.RUBY_VERSION }}
bundler-cache: true
working-directory: ${{ env.APP_DIR }}
- name: Reek
run: bin/reek
tests:
name: Tests (${{ matrix.name }})
strategy:
fail-fast: false
matrix:
gemfile:
- rails_8_1.gemfile
- rails_8_0.gemfile
- rails_7_2.gemfile
- rails_edge.gemfile
include:
- gemfile: rails_8_1.gemfile
name: Rails 8.1
- gemfile: rails_8_0.gemfile
name: Rails 8.0
- gemfile: rails_7_2.gemfile
name: Rails 7.2
- gemfile: rails_edge.gemfile
name: Rails Edge
needs: [lint, reek]
uses: ./.github/workflows/ruby-tests.yml
with:
upload_coverage: ${{ matrix.gemfile == 'rails_8_0.gemfile' }}
bundle_gemfile: rails_cron/gemfiles/${{ matrix.gemfile }}
secrets:
QLTY_COVERAGE_TOKEN: ${{ secrets.QLTY_COVERAGE_TOKEN }}