name: CI on: push: branches: - main pull_request: workflow_dispatch: permissions: contents: read jobs: lint: runs-on: ubuntu-latest timeout-minutes: 20 steps: - uses: actions/checkout@v3 - name: Set up Ruby 2.3 uses: ruby/setup-ruby@master with: ruby-version: '2.3' - name: Build and test with Rake run: | bundle install --path=vendor/bundle --jobs 4 --retry 3 STYLE_CHECKS=true bundle exec rubocop test-linux: runs-on: ubuntu-latest timeout-minutes: 20 strategy: matrix: ruby-version: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1'] imagemagick-version: - { full: 6.7.7-10, major-minor: '6.7' } - { full: 6.8.9-10, major-minor: '6.8' } - { full: 6.9.12-59, major-minor: '6.9' } - { full: 7.1.0-44, major-minor: '7.0' } name: Linux, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }} steps: - uses: actions/checkout@v3 - name: Set up Ruby ${{ matrix.ruby-version }} uses: ruby/setup-ruby@master with: ruby-version: ${{ matrix.ruby-version }} - name: Update/Install packages run: | export IMAGEMAGICK_VERSION=${{ matrix.imagemagick-version.full }} ./before_install_linux.sh - name: Build and test with Rake run: | bundle install --path=vendor/bundle --jobs 4 --retry 3 bundle exec rake test-macos: runs-on: macos-latest timeout-minutes: 20 strategy: matrix: ruby-version: ['2.6', '2.7', '3.0', '3.1'] imagemagick-version: - { full: 6.9.12-59, major-minor: '6.9' } - { full: 7.1.0-44, major-minor: '7.0' } name: macOS, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }} steps: - uses: actions/checkout@v3 - name: Set up Ruby ${{ matrix.ruby-version }} uses: ruby/setup-ruby@master with: ruby-version: ${{ matrix.ruby-version }} - name: Update/Install packages run: | IMAGEMAGICK_VERSION=${{ matrix.imagemagick-version.full }} ./before_install_osx.sh - name: Build and test with Rake run: | bundle install --path=vendor/bundle --jobs 4 --retry 3 bundle exec rake