name: Test on: [push, pull_request] jobs: test: strategy: fail-fast: false matrix: ruby: - 2.4 - 2.5 - 2.6 - 2.7 - 3.0 - 3.1 - 3.2 - 3.3 rails: - 5.2.0 - 6.0.0 - 6.1.0 - 7.0.1 - 7.1.2 exclude: # These Rails versions are too new for the respective Ruby versions, or vice-versa - ruby: 2.4 rails: 6.0.0 - ruby: 2.4 rails: 6.1.0 - ruby: 2.4 rails: 7.0.1 - ruby: 2.4 rails: 7.1.2 - ruby: 2.5 rails: 7.0.1 - ruby: 2.5 rails: 7.1.2 - ruby: 2.6 rails: 7.0.1 - ruby: 2.6 rails: 7.1.2 - ruby: 3.0 rails: 5.2.0 - ruby: 3.0 rails: 6.0.0 - ruby: 3.1 rails: 5.2.0 - ruby: 3.1 rails: 6.0.0 - ruby: 3.2 rails: 5.2.0 - ruby: 3.2 rails: 6.0.0 - ruby: 3.3 rails: 5.2.0 - ruby: 3.3 rails: 6.0.0 env: PERCONA_DB_USER: root PERCONA_DB_PASSWORD: root RAILS_VERSION: "~> ${{ matrix.rails }}" runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - name: "Add Percona GPG key" run: sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 9334A25F8507EFA5 - name: "Add Percona APT repository" run: echo "deb http://repo.percona.com/apt `lsb_release -cs` main" | sudo tee -a /etc/apt/sources.list - run: sudo apt-get update -qq - run: sudo apt-get install percona-toolkit - name: Start MySQL server run: sudo systemctl start mysql.service - run: bin/setup - run: bundle exec rake lint: strategy: fail-fast: false matrix: ruby: - 2.7 rails: - 6.1.0 env: PERCONA_DB_USER: root PERCONA_DB_PASSWORD: root RAILS_VERSION: "~> ${{ matrix.rails }}" runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - run: bundle exec rubocop --parallel