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 3
3
{
4
4
"name" : " solid_queue" ,
5
5
// 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
+ },
7
9
// Features to add to the dev container. More info: https://containers.dev/features.
8
10
"features" : {
11
+ "ghcr.io/devcontainers/features/docker-in-docker" : {},
9
12
"ghcr.io/devcontainers/features/github-cli:1" : {
10
13
"version" : " latest"
11
- }
14
+ },
15
+ "ghcr.io/rails/devcontainer/features/postgres-client" : {
16
+ "version" : " 15"
17
+ },
18
+ "ghcr.io/rails/devcontainer/features/mysql-client" : {}
12
19
}
13
20
// Use 'forwardPorts' to make a list of ports inside the container available locally.
14
21
// "forwardPorts": [],
18
25
// "customizations": {},
19
26
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
20
27
// "remoteUser": "root"
21
- }
28
+ }
Original file line number Diff line number Diff line change @@ -8,14 +8,36 @@ load "rails/tasks/engine.rake"
8
8
load "rails/tasks/statistics.rake"
9
9
10
10
require "bundler/gem_tasks"
11
+ require "rake/tasklib"
11
12
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
15
18
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 )
18
38
sh ( "TARGET_DB=#{ database } bin/setup" )
19
39
sh ( "TARGET_DB=#{ database } bin/rails test" )
20
40
end
21
41
end
42
+
43
+ TestHelpers . new ( %w[ mysql postgres sqlite ] )
Original file line number Diff line number Diff line change 15
15
16
16
echo " Creating databases..."
17
17
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