1- ---
21name : CI
32
43on :
98 branches :
109 - master
1110
12-
1311jobs :
1412 test :
1513 runs-on : ubuntu-latest
14+
1615 services :
17- mysql :
18- image : mysql/mysql-server
19- ports :
20- - " 3306:3306"
21- env :
22- MYSQL_ROOT_PASSWORD : root
23- MYSQL_DATABASE : closure_tree_test
24- MYSQL_ROOT_HOST : ' %'
2516 postgres :
26- image : ' postgres'
27- ports : ['5432:5432']
17+ image : postgres:17-alpine
18+ ports :
19+ - 5432:5432
2820 env :
21+ POSTGRES_USER : postgres
2922 POSTGRES_PASSWORD : postgres
3023 POSTGRES_DB : closure_tree_test
3124 options : >-
3225 --health-cmd pg_isready
3326 --health-interval 10s
3427 --health-timeout 5s
3528 --health-retries 5
29+
30+ mysql :
31+ image : mysql:8
32+ ports :
33+ - 3306:3306
34+ env :
35+ MYSQL_USER : root
36+ MYSQL_PASSWORD : root
37+ MYSQL_DATABASE : closure_tree_test
38+ MYSQL_ROOT_PASSWORD : root
39+ options : >-
40+ --health-cmd="mysqladmin ping"
41+ --health-interval=10s
42+ --health-timeout=5s
43+ --health-retries=3
3644
3745 strategy :
3846 fail-fast : false
3947 matrix :
4048 ruby :
49+ - ' 3.3'
4150 - ' 3.4'
42- - ' jruby'
43- - ' truffleruby'
4451 rails :
45- - ' 8.0'
4652 - ' 7.2'
47- - ' 7.1'
48- exclude :
49- # JRuby doesn't support Rails 8.0 yet
50- - ruby : ' jruby'
51- rails : ' 7.2'
52- - ruby : ' jruby'
53- rails : ' 8.0'
54- # TruffleRuby also has compatibility issues with Rails 8.0
55- - ruby : ' truffleruby'
56- rails : ' 8.0'
53+ - ' 8.0'
5754
5855 steps :
5956 - name : Checkout
60- uses : actions/checkout@v3
57+ uses : actions/checkout@v4
6158
6259 - name : Setup Ruby
6360 uses : ruby/setup-ruby@v1
@@ -67,25 +64,23 @@ jobs:
6764 rubygems : latest
6865 env :
6966 RAILS_VERSION : ${{ matrix.rails }}
70- RAILS_ENV : test
7167
7268 - name : Setup databases
7369 env :
7470 RAILS_ENV : test
75- RAILS_VERSION : ${{ matrix.rails }}
7671 DATABASE_URL_PG : postgres://postgres:postgres@127.0.0.1:5432/closure_tree_test
7772 DATABASE_URL_MYSQL : mysql2://root:root@127.0.0.1:3306/closure_tree_test
7873 DATABASE_URL_SQLITE3 : ' sqlite3::memory:'
7974 run : |
8075 cd test/dummy
81- bundle exec rails db:schema:load
76+ bundle exec rails db:setup_all
8277
83- - name : Test
78+ - name : Run tests
8479 env :
8580 RAILS_ENV : test
86- RAILS_VERSION : ${{ matrix.rails }}
8781 DATABASE_URL_PG : postgres://postgres:postgres@127.0.0.1:5432/closure_tree_test
8882 DATABASE_URL_MYSQL : mysql2://root:root@127.0.0.1:3306/closure_tree_test
8983 DATABASE_URL_SQLITE3 : ' sqlite3::memory:'
9084 WITH_ADVISORY_LOCK_PREFIX : ${{ github.run_id }}
91- run : bin/rails test
85+ run : |
86+ bundle exec rake test
0 commit comments