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