summaryrefslogtreecommitdiff
path: root/lib/tasks/spinach.rake
blob: 4aefc18ce1481b9c98754a17239ac5e16d226d57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Rake::Task["spinach"].clear if Rake::Task.task_defined?('spinach')

desc "GITLAB | Run spinach"
task :spinach do
  tags = if ENV['SEMAPHORE']
           '~@tricky'
         else
           '~@semaphore'
         end

  cmds = [
    %W(rake gitlab:setup),
    %W(spinach --tags #{tags}),
  ]
  run_commands(cmds)
end

desc "GITLAB | Run project spinach features"
task :spinach_project do
  cmds = [
    %W(rake gitlab:setup),
    %W(spinach --tags ~@admin,~@dashboard,~@profile,~@public,~@snippets),
  ]
  run_commands(cmds)
end

desc "GITLAB | Run other spinach features"
task :spinach_other do
  cmds = [
    %W(rake gitlab:setup),
    %W(spinach --tags @admin,@dashboard,@profile,@public,@snippets),
  ]
  run_commands(cmds)
end

def run_commands(cmds)
  cmds.each do |cmd|
    system({'RAILS_ENV' => 'test', 'force' => 'yes'}, *cmd) or raise("#{cmd} failed!")
  end
end