name: CI on: push: branches: [ master ] pull_request: branches: [ master ] permissions: contents: read jobs: lint: runs-on: ubuntu-22.04 timeout-minutes: 20 name: Lint steps: - uses: actions/checkout@v3 with: ref: ${{ github.event.pull_request.head.sha }} - name: Set up Ruby 2.5 uses: ruby/setup-ruby@master with: ruby-version: '2.5' bundler-cache: true - name: Install dependencies run: bundle install --path=vendor/bundle --jobs 4 --retry 3 - name: RuboCop Problem Matchers uses: r7kamura/rubocop-problem-matchers-action@v1 - name: Run tests run: bundle exec rubocop test-ruby: runs-on: ubuntu-22.04 timeout-minutes: 20 strategy: matrix: ruby-version: ['2.5', '2.6', '2.7', '3.0', '3.1'] imagemagick-version: - { full: 7.1.0-45, major-minor: '7.0' } name: Ruby ${{ matrix.ruby-version }} steps: - uses: actions/checkout@v3 - name: Cache ImageMagick uses: actions/cache@v3 with: path: ./build-ImageMagick key: v1-linux-imagemagick-${{ matrix.imagemagick-version.full }} restore-keys: | v1-linux-imagemagick-${{ matrix.imagemagick-version.full }} - name: Install ImageMagick ${{ matrix.imagemagick-version.full }} run: | export IMAGEMAGICK_VERSION=${{ matrix.imagemagick-version.full }} ./before_install_linux.sh - name: Set up Ruby uses: ruby/setup-ruby@master with: ruby-version: ${{ matrix.ruby-version }} bundler-cache: false - name: Install dependencies run: bundle install --path=vendor/bundle --jobs 4 --retry 3 - name: Run tests run: bundle exec rake test-jruby: runs-on: ubuntu-22.04 timeout-minutes: 20 strategy: matrix: ruby-version: ['9.2.21.0', '9.3.7.0'] name: JRuby ${{ matrix.ruby-version }} steps: - uses: actions/checkout@v3 - name: Set up Ruby uses: ruby/setup-ruby@master with: ruby-version: jruby-${{ matrix.ruby-version }} bundler-cache: true - name: Install dependencies run: bundle install --path=vendor/bundle --jobs 4 --retry 3 - name: Run tests run: bundle exec rake