Skip to content

Commit 1000b5d

Browse files
committed
Merged latest from upstream
2 parents 8bc3961 + 2b1f088 commit 1000b5d

52 files changed

Lines changed: 2545 additions & 2259 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 28 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,31 @@
22
name: CI
33

44
on:
5-
- push
6-
- pull_request
5+
push:
6+
branches:
7+
- master
8+
pull_request:
9+
branches:
10+
- master
711

812
jobs:
913
rspec:
10-
runs-on: ubuntu-20.04
11-
14+
runs-on: ubuntu-latest
1215
services:
16+
mysql:
17+
image: mysql/mysql-server
18+
ports:
19+
- "3306:3306"
20+
env:
21+
MYSQL_ROOT_PASSWORD: root
22+
MYSQL_DATABASE: closure_tree_test
23+
MYSQL_ROOT_HOST: '%'
1324
postgres:
14-
image: 'postgres:13'
25+
image: 'postgres'
1526
ports: ['5432:5432']
1627
env:
1728
POSTGRES_PASSWORD: postgres
18-
POSTGRES_DB: closure_tree
29+
POSTGRES_DB: closure_tree_test
1930
options: >-
2031
--health-cmd pg_isready
2132
--health-interval 10s
@@ -26,71 +37,37 @@ jobs:
2637
fail-fast: false
2738
matrix:
2839
ruby:
40+
- '3.2'
41+
- '3.1'
2942
- '3.0'
3043
- '2.7'
31-
- '2.6'
32-
- '2.5'
3344
rails:
45+
- activerecord_7.0
3446
- activerecord_6.1
3547
- activerecord_6.0
36-
- activerecord_5.2
37-
- activerecord_5.1
38-
- activerecord_5.0
39-
- activerecord_4.2
40-
- activerecord_edge
4148
adapter:
42-
- sqlite3
43-
- mysql2
44-
- postgresql
45-
exclude:
46-
- ruby: '2.7'
47-
rails: activerecord_4.2
48-
- ruby: '3.0'
49-
rails: activerecord_4.2
50-
- ruby: '3.0'
51-
rails: activerecord_5.0
52-
- ruby: '3.0'
53-
rails: activerecord_5.1
54-
- ruby: '3.0'
55-
rails: activerecord_5.2
56-
- ruby: '2.5'
57-
rails: activerecord_edge
49+
- 'sqlite3:///:memory:'
50+
- mysql2://root:root@0/closure_tree_test
51+
- postgres://closure_tree:closure_tree@0/closure_tree_test
5852

5953
steps:
6054
- name: Checkout
61-
uses: actions/checkout@v2
55+
uses: actions/checkout@v3
6256

6357
- name: Setup Ruby
6458
uses: ruby/setup-ruby@v1
6559
with:
6660
ruby-version: ${{ matrix.ruby }}
67-
68-
- name: Set DB Adapter
69-
env:
70-
RAILS_VERSION: ${{ matrix.rails }}
71-
DB_ADAPTER: ${{ matrix.adapter }}
72-
73-
# See: https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-README.md#mysql
74-
run: |
75-
if [ "${DB_ADAPTER}" = "mysql2" ]; then
76-
sudo systemctl start mysql.service
77-
mysql -u root -proot -e 'create database closure_tree;'
78-
fi
79-
80-
- name: Bundle
61+
bundler-cache: true
62+
rubygems: latest
8163
env:
82-
RAILS_VERSION: ${{ matrix.rails }}
83-
DB_ADAPTER: ${{ matrix.adapter }}
8464
BUNDLE_GEMFILE: gemfiles/${{ matrix.rails }}.gemfile
85-
run: |
86-
gem install bundler
87-
bundle config path vendor/bundle
88-
bundle install --jobs 4 --retry 3
65+
RAILS_ENV: test
8966

9067
- name: RSpec
9168
env:
9269
RAILS_VERSION: ${{ matrix.rails }}
9370
DB_ADAPTER: ${{ matrix.adapter }}
9471
BUNDLE_GEMFILE: gemfiles/${{ matrix.rails }}.gemfile
9572
WITH_ADVISORY_LOCK_PREFIX: ${{ github.run_id }}
96-
run: bin/rake --trace spec:all
73+
run: bin/rake

.github/workflows/ci_jruby.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
---
2+
name: CI Jruby
3+
4+
on:
5+
push:
6+
branches:
7+
- master
8+
pull_request:
9+
branches:
10+
- master
11+
12+
jobs:
13+
rspec:
14+
runs-on: ubuntu-latest
15+
services:
16+
mysql:
17+
image: mysql/mysql-server
18+
ports:
19+
- "3306:3306"
20+
env:
21+
MYSQL_ROOT_PASSWORD: root
22+
MYSQL_DATABASE: closure_tree_test
23+
MYSQL_ROOT_HOST: '%'
24+
postgres:
25+
image: 'postgres'
26+
ports: ['5432:5432']
27+
env:
28+
POSTGRES_PASSWORD: postgres
29+
POSTGRES_DB: closure_tree_test
30+
options: >-
31+
--health-cmd pg_isready
32+
--health-interval 10s
33+
--health-timeout 5s
34+
--health-retries 5
35+
36+
strategy:
37+
fail-fast: false
38+
matrix:
39+
rails:
40+
- activerecord_7.0
41+
- activerecord_6.1
42+
adapter:
43+
- 'sqlite3:///:memory:'
44+
- mysql2://root:root@0/closure_tree_test
45+
- postgres://closure_tree:closure_tree@0/closure_tree_test
46+
47+
steps:
48+
- name: Checkout
49+
uses: actions/checkout@v3
50+
51+
- name: Setup Ruby
52+
uses: ruby/setup-ruby@v1
53+
with:
54+
ruby-version: jruby
55+
bundler-cache: true
56+
rubygems: latest
57+
env:
58+
BUNDLE_GEMFILE: gemfiles/${{ matrix.rails }}.gemfile
59+
RAILS_ENV: test
60+
61+
- name: RSpec
62+
env:
63+
RAILS_VERSION: ${{ matrix.rails }}
64+
DB_ADAPTER: ${{ matrix.adapter }}
65+
BUNDLE_GEMFILE: gemfiles/${{ matrix.rails }}.gemfile
66+
WITH_ADVISORY_LOCK_PREFIX: ${{ github.run_id }}
67+
run: bin/rake
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
name: CI Truffleruby
3+
4+
on:
5+
push:
6+
branches:
7+
- master
8+
pull_request:
9+
branches:
10+
- master
11+
12+
jobs:
13+
rspec:
14+
runs-on: ubuntu-latest
15+
services:
16+
mysql:
17+
image: mysql/mysql-server
18+
ports:
19+
- "3306:3306"
20+
env:
21+
MYSQL_ROOT_PASSWORD: root
22+
MYSQL_DATABASE: closure_tree_test
23+
MYSQL_ROOT_HOST: '%'
24+
postgres:
25+
image: 'postgres'
26+
ports: ['5432:5432']
27+
env:
28+
POSTGRES_PASSWORD: postgres
29+
POSTGRES_DB: closure_tree_test
30+
options: >-
31+
--health-cmd pg_isready
32+
--health-interval 10s
33+
--health-timeout 5s
34+
--health-retries 5
35+
36+
strategy:
37+
fail-fast: false
38+
matrix:
39+
ruby:
40+
- truffleruby
41+
rails:
42+
- activerecord_7.0
43+
- activerecord_6.1
44+
- activerecord_6.0
45+
adapter:
46+
- 'sqlite3:///:memory:'
47+
- mysql2://root:root@0/closure_tree_test
48+
- postgres://closure_tree:closure_tree@0/closure_tree_test
49+
50+
steps:
51+
- name: Checkout
52+
uses: actions/checkout@v3
53+
54+
- name: Setup Ruby
55+
uses: ruby/setup-ruby@v1
56+
with:
57+
ruby-version: truffleruby
58+
bundler-cache: true
59+
rubygems: latest
60+
env:
61+
BUNDLE_GEMFILE: gemfiles/${{ matrix.rails }}.gemfile
62+
RAILS_ENV: test
63+
64+
- name: RSpec
65+
env:
66+
RAILS_VERSION: ${{ matrix.rails }}
67+
DB_ADAPTER: ${{ matrix.adapter }}
68+
BUNDLE_GEMFILE: gemfiles/${{ matrix.rails }}.gemfile
69+
WITH_ADVISORY_LOCK_PREFIX: ${{ github.run_id }}
70+
run: bin/rake

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ tmp/
1111
.yardoc/
1212
.rvmrc
1313
*.lock
14-
tmp/
1514
.ruby-*
1615
*.iml
1716
coverage/

.tool-versions

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ruby 3.0.5

Appraisals

Lines changed: 7 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,7 @@
1+
# frozen_string_literal: true
12

2-
appraise 'activerecord-4.2' do
3-
gem 'activerecord', '~> 4.2.0'
4-
platforms :ruby do
5-
gem 'mysql2', "< 0.5"
6-
gem 'pg', "~> 0.21"
7-
gem 'sqlite3', '~> 1.3.13'
8-
end
9-
10-
platforms :jruby do
11-
gem 'activerecord-jdbcmysql-adapter'
12-
gem 'activerecord-jdbcpostgresql-adapter'
13-
gem 'activerecord-jdbcsqlite3-adapter'
14-
end
15-
end
16-
17-
appraise 'activerecord-5.0' do
18-
gem 'activerecord', '~> 5.0.0'
19-
platforms :ruby do
20-
gem 'mysql2'
21-
gem 'pg'
22-
gem 'sqlite3', '~> 1.3.13'
23-
end
24-
25-
platforms :jruby do
26-
gem 'activerecord-jdbcmysql-adapter'
27-
gem 'activerecord-jdbcpostgresql-adapter'
28-
gem 'activerecord-jdbcsqlite3-adapter'
29-
end
30-
end
31-
32-
appraise 'activerecord-5.1' do
33-
gem 'activerecord', '~> 5.1.0'
34-
platforms :ruby do
35-
gem 'mysql2'
36-
gem 'pg'
37-
gem 'sqlite3', '~> 1.3.13'
38-
end
39-
40-
platforms :jruby do
41-
gem 'activerecord-jdbcmysql-adapter'
42-
gem 'activerecord-jdbcpostgresql-adapter'
43-
gem 'activerecord-jdbcsqlite3-adapter'
44-
end
45-
end
46-
47-
appraise 'activerecord-5.2' do
48-
gem 'activerecord', '~> 5.2.0'
3+
appraise 'activerecord-6.0' do
4+
gem 'activerecord', '~> 6.0.0'
495
platforms :ruby do
506
gem 'mysql2'
517
gem 'pg'
@@ -59,8 +15,8 @@ appraise 'activerecord-5.2' do
5915
end
6016
end
6117

62-
appraise 'activerecord-6.0' do
63-
gem 'activerecord', '~> 6.0.0'
18+
appraise 'activerecord-6.1' do
19+
gem 'activerecord', '~> 6.1.0'
6420
platforms :ruby do
6521
gem 'mysql2'
6622
gem 'pg'
@@ -74,8 +30,8 @@ appraise 'activerecord-6.0' do
7430
end
7531
end
7632

77-
appraise 'activerecord-6.1' do
78-
gem 'activerecord', '~> 6.1.0'
33+
appraise 'activerecord-7.0' do
34+
gem 'activerecord', '~> 7.0.0'
7935
platforms :ruby do
8036
gem 'mysql2'
8137
gem 'pg'

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
# Changelog
22

3+
### 8.0.0
4+
5+
- Drop support to EOL ruby and rails
6+
- Reference ancestor_hierarchies in depth instead of ancestors to avoid n+1
7+
8+
## [7.4.0](https://github.com/ClosureTree/closure_tree/tree/7.4.0)
9+
10+
[Full Changelog](https://github.com/ClosureTree/closure_tree/compare/v7.3.0...7.4.0)
11+
12+
- fix: hierarchy model with namespace should inherit from the superclass of basic model [\#384](https://github.com/ClosureTree/closure_tree/pull/384) ([shawndodo](https://github.com/shawndodo))
13+
- Add with\_descendant to readme [\#381](https://github.com/ClosureTree/closure_tree/pull/381) ([mattvague](https://github.com/mattvague))
314

415
### 7.3.0
516
- Ruby 3.0 support

Gemfile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
# frozen_string_literal: true
2+
13
source 'https://rubygems.org'
24

35
gemspec
6+
7+
platform :mri do
8+
group :development do
9+
gem 'bump', '~> 0.10.0'
10+
gem 'github_changelog_generator', '~> 1.16'
11+
end
12+
end

0 commit comments

Comments
 (0)