Skip to content

Commit f172dcd

Browse files
committed
Run SQLite in saas mode too
1 parent 4da3633 commit f172dcd

File tree

2 files changed

+32
-22
lines changed

2 files changed

+32
-22
lines changed

bin/setup

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,24 @@ needs_seeding() {
5858
fi
5959
}
6060

61+
62+
setup_database() {
63+
local adapter="$1"
64+
local reset="$2"
65+
local label="${adapter:+ ($adapter)}"
66+
local env_cmd="${adapter:+env DATABASE_ADAPTER=$adapter}"
67+
68+
if [ "$reset" = "true" ]; then
69+
step "Resetting the database$label" $env_cmd rails db:reset
70+
else
71+
step "Preparing the database$label" $env_cmd rails db:prepare
72+
73+
if needs_seeding; then
74+
step "Seeding the database$label" $env_cmd rails db:seed
75+
fi
76+
fi
77+
}
78+
6179
echo
6280
gum style --foreground 153 " ˚ ∘ ∘ ˚ "
6381
gum style --foreground 111 --bold " ∘˚˳°∘° 𝒻𝒾𝓏𝓏𝓎 °∘°˳˚∘ "
@@ -100,27 +118,16 @@ else
100118
fi
101119
fi
102120

103-
if [ -n "$SAAS" ]; then
104-
if [[ $* == *--reset* ]]; then
105-
step "Resetting the database" rails db:reset
106-
else
107-
step "Preparing the database" rails db:prepare
121+
reset_flag=""
122+
[[ $* == *--reset* ]] && reset_flag="true"
108123

109-
if needs_seeding; then
110-
step "Seeding the database" rails db:seed
111-
fi
112-
fi
124+
if [ -n "$SAAS" ]; then
125+
for adapter in saas sqlite; do
126+
setup_database "$adapter" "$reset_flag"
127+
done
113128
else
114129
for adapter in sqlite mysql; do
115-
if [[ $* == *--reset* ]]; then
116-
step "Resetting the database ($adapter)" env DATABASE_ADAPTER=$adapter rails db:reset
117-
else
118-
step "Preparing the database ($adapter)" env DATABASE_ADAPTER=$adapter rails db:prepare
119-
120-
if needs_seeding; then
121-
step "Seeding the database ($adapter)" env DATABASE_ADAPTER=$adapter rails db:seed
122-
fi
123-
fi
130+
setup_database "$adapter" "$reset_flag"
124131
done
125132
fi
126133

config/ci.rb

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
require_relative "../lib/fizzy"
44

5+
OSS_ENV = "SAAS=false BUNDLE_GEMFILE=Gemfile"
6+
SAAS_ENV = "SAAS=true BUNDLE_GEMFILE=Gemfile.saas"
7+
58
CI.run do
69
step "Setup", "bin/setup --skip-server"
710

@@ -12,13 +15,13 @@
1215
step "Security: Brakeman audit", "bin/brakeman --quiet --no-pager --exit-on-warn --exit-on-error"
1316

1417
if Fizzy.saas?
15-
step "Tests: SaaS", "SAAS=true BUNDLE_GEMFILE=Gemfile.saas bin/rails test:all"
18+
step "Tests: SaaS", "#{SAAS_ENV} bin/rails test:all"
19+
step "Tests: SQLite", "#{OSS_ENV} DATABASE_ADAPTER=sqlite bin/rails test:all"
1620
else
17-
step "Tests: MySQL", "SAAS=false BUNDLE_GEMFILE=Gemfile DATABASE_ADAPTER=mysql bin/rails test:all"
18-
step "Tests: SQLite", "SAAS=false BUNDLE_GEMFILE=Gemfile DATABASE_ADAPTER=sqlite bin/rails test:all"
21+
step "Tests: MySQL", "#{OSS_ENV} DATABASE_ADAPTER=mysql bin/rails test:all"
22+
step "Tests: SQLite", "#{OSS_ENV} DATABASE_ADAPTER=sqlite bin/rails test:all"
1923
end
2024

21-
2225
if success?
2326
step "Signoff: All systems go. Ready for merge and deploy.", "gh signoff"
2427
else

0 commit comments

Comments
 (0)