Add GitHub job `cronjob` to run CI against Rails master branch daily
https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows#schedule
This commit is contained in:
parent
f586e19d8f
commit
c6166334ba
|
@ -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
|
Loading…
Reference in New Issue