diff --git a/.github/workflows/cronjob.yml b/.github/workflows/cronjob.yml new file mode 100644 index 0000000..fdf35d5 --- /dev/null +++ b/.github/workflows/cronjob.yml @@ -0,0 +1,105 @@ +name: cronjob + +on: + schedule: + - cron: "0 0 * * *" + +jobs: + sqlite3: + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + ruby: + - 3.0.0 + - 2.7.2 + - 2.6.6 + env: + DB: sqlite3 + RAILS: master + 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-20.04 + strategy: + fail-fast: false + matrix: + ruby: + - 3.0.0 + - 2.7.2 + - 2.6.6 + env: + DB: mysql + RAILS: master + 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-20.04 + strategy: + fail-fast: false + matrix: + ruby: + - 3.0.0 + - 2.7.2 + - 2.6.6 + env: + DB: postgres + RAILS: master + 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