File tree Expand file tree Collapse file tree 2 files changed +32
-22
lines changed
Expand file tree Collapse file tree 2 files changed +32
-22
lines changed Original file line number Diff line number Diff 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+
6179echo
6280gum style --foreground 153 " ˚ ∘ ∘ ˚ "
6381gum style --foreground 111 --bold " ∘˚˳°∘° 𝒻𝒾𝓏𝓏𝓎 °∘°˳˚∘ "
@@ -100,27 +118,16 @@ else
100118 fi
101119fi
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
113128else
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
125132fi
126133
Original file line number Diff line number Diff line change 22
33require_relative "../lib/fizzy"
44
5+ OSS_ENV = "SAAS=false BUNDLE_GEMFILE=Gemfile"
6+ SAAS_ENV = "SAAS=true BUNDLE_GEMFILE=Gemfile.saas"
7+
58CI . run do
69 step "Setup" , "bin/setup --skip-server"
710
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
You can’t perform that action at this time.
0 commit comments