name: cronjob on: schedule: - cron: "0 0 * * *" jobs: sqlite3: runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: ruby: - 3.2.2 env: DB: sqlite3 RAILS: main steps: - uses: actions/checkout@v2 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - name: Install dependencies run: bundle install - name: Run tests run: bundle exec rspec mysql: runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: ruby: - 3.2.2 env: DB: mysql RAILS: main MYSQL_USERNAME: root MYSQL_PASSWORD: root steps: - uses: actions/checkout@v2 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - name: Startup MySQL run: | sudo systemctl start mysql.service - name: Setup databases run: | mysql --user=root --password=root --host=127.0.0.1 -e 'create database ransack collate utf8_general_ci;'; mysql --user=root --password=root --host=127.0.0.1 -e 'use ransack;show variables like "%character%";show variables like "%collation%";'; - name: Install dependencies run: bundle install - name: Run tests run: bundle exec rspec postgres: runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: ruby: - 3.2.2 env: DB: postgres RAILS: main DATABASE_USERNAME: postgres DATABASE_PASSWORD: postgres DATABASE_HOST: 127.0.0.1 services: postgres: image: postgres ports: - 5432:5432 env: POSTGRES_PASSWORD: postgres POSTGRES_HOST_AUTH_METHOD: trust # Set health checks to wait until postgres has started options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 steps: - uses: actions/checkout@v2 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - name: Setup databases run: | psql -h localhost -p 5432 -W postgres -c 'create database ransack;' -U postgres; - name: Install dependencies run: bundle install - name: Run tests run: bundle exec rspec