File tree Expand file tree Collapse file tree 4 files changed +39
-11
lines changed Expand file tree Collapse file tree 4 files changed +39
-11
lines changed Original file line number Diff line number Diff line change 1+ FROM ghcr.io/rails/devcontainer/images/ruby:3.3.5
Original file line number Diff line number Diff line change 33{
44 "name" : " solid_queue" ,
55 // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
6- "image" : " ghcr.io/rails/devcontainer/images/ruby:3.3.5" ,
6+ "build" : {
7+ "dockerfile" : " Dockerfile"
8+ },
79 // Features to add to the dev container. More info: https://containers.dev/features.
810 "features" : {
11+ "ghcr.io/devcontainers/features/docker-in-docker" : {},
912 "ghcr.io/devcontainers/features/github-cli:1" : {
1013 "version" : " latest"
11- }
14+ },
15+ "ghcr.io/rails/devcontainer/features/postgres-client" : {
16+ "version" : " 15"
17+ },
18+ "ghcr.io/rails/devcontainer/features/mysql-client" : {}
1219 }
1320 // Use 'forwardPorts' to make a list of ports inside the container available locally.
1421 // "forwardPorts": [],
1825 // "customizations": {},
1926 // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
2027 // "remoteUser": "root"
21- }
28+ }
Original file line number Diff line number Diff line change @@ -8,14 +8,36 @@ load "rails/tasks/engine.rake"
88load "rails/tasks/statistics.rake"
99
1010require "bundler/gem_tasks"
11+ require "rake/tasklib"
1112
12- def databases
13- %w[ mysql postgres sqlite ]
14- end
13+ class TestHelpers < Rake ::TaskLib
14+ def initialize ( databases )
15+ @databases = databases
16+ define
17+ end
1518
16- task :test do
17- databases . each do |database |
19+ def define
20+ desc "Run tests for all databases (mysql, postgres, sqlite)"
21+ task :test do
22+ @databases . each { |database | run_test_for_database ( database ) }
23+ end
24+
25+ namespace :test do
26+ @databases . each do |database |
27+ desc "Run tests for #{ database } database"
28+ task database do
29+ run_test_for_database ( database )
30+ end
31+ end
32+ end
33+ end
34+
35+ private
36+
37+ def run_test_for_database ( database )
1838 sh ( "TARGET_DB=#{ database } bin/setup" )
1939 sh ( "TARGET_DB=#{ database } bin/rails test" )
2040 end
2141end
42+
43+ TestHelpers . new ( %w[ mysql postgres sqlite ] )
Original file line number Diff line number Diff line change 1515
1616echo " Creating databases..."
1717
18- rails db:reset TARGET_DB=sqlite
19- rails db:reset TARGET_DB=mysql
20- rails db:reset TARGET_DB=postgres
18+ rails db:reset
You can’t perform that action at this time.
0 commit comments