This repository has been archived by the owner on May 22, 2020. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 13
/
Rakefile
126 lines (104 loc) · 4.83 KB
/
Rakefile
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
$LOAD_PATH << File.expand_path('../lib', __FILE__)
require 'solidus_extensions'
require 'circleci_solidus_extensions'
require 'pry'
Travis.access_token = ENV['TRAVIS_TOKEN']
CircleCi.configure { |config| config.token = ENV['CIRCLECI_TOKEN'] }
OLD_VERSIONS = %W[v1.0 v1.1 v1.2 v1.3 v1.4 v2.0 v2.1 v2.2 v2.3 v2.4 v2.5]
VERSIONS = %W[v1.0 v1.1 v1.2 v1.3 v1.4 v2.0 v2.1 v2.2 v2.3 v2.4 v2.5 v2.6 v2.7 v2.8 v2.9 master]
PROJECTS = {
# Auth
'solidus_auth_devise' => { org: 'solidusio', ci: :circleci },
'solidus_social' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_user_roles' => { org: 'boomerdigital' },
# Payments
'solidus_stripe' => { org: 'solidusio', ci: :circleci },
'solidus_braintree' => { org: 'solidusio', ci: :circleci },
'solidus_paypal_braintree' => { org: 'solidusio', ci: :circleci },
'solidus_paypal_express' => { org: 'solidusio-contrib' },
'solidus_affirm' => { org: 'solidusio', ci: :circleci },
'solidus_signifyd' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_amazon_payments' => { org: 'boomerdigital' },
'solidus_subscriptions' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_virtual_gift_card' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_digital' => { org: 'solidusio-contrib', ci: :circleci },
# Shipping
'solidus_easypost' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_quiet_logistics' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_shipstation' => { org: 'boomerdigital' },
'solidus_shipping_labeler' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_shipwire' => { org: 'solidusio-contrib', ci: :circleci },
# I18n
# 'solidus_i18n' => { org: 'solidusio' },
'solidus_globalize' => { org: 'solidusio-contrib' },
# Taxes
'solidus_tax_cloud' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_avatax_certified' => { org: 'boomerdigital', branches: %w[master v2.1] },
# Marketplace
'solidus_multi_domain' => { org: 'solidusio-contrib', ci: :circleci },
# Product and Variant Customization
'solidus_asset_variant_options' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_related_products' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_product_assembly' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_editor' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_email_to_friend' => { org: 'boomerdigital' },
'solidus_flexi_variants' => { org: 'boomerdigital' },
'solidus_handling_fees' => { org: 'solidusio-contrib', ci: :circleci },
# Search
'solidus_elastic_product' => { org: 'boomerdigital' },
'solidus_searchkick' => { org: 'solidusio-contrib', ci: :circleci },
# Marketing
'solidus_abandoned_carts' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_recently_viewed' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_product_feed' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_sitemap' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_trackers' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_seo' => { org: 'karmakatahdin' },
# Promo
'solidus_volume_pricing' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_wishlist' => { org: 'boomerdigital' },
# Admin
'solidus_prototypes' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_print_invoice' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_comments' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_reports' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_simple_dash' => { org: 'magma-labs' },
# Log
'solidus_papertrail' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_log_viewer' => { org: 'solidusio-contrib', ci: :circleci },
# CMS
'solidus_static_content' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_redirector' => { org: 'solidusio-contrib', ci: :circleci },
# Law compliance
'solidus_gdpr' => { org: 'solidusio-contrib', ci: :circleci },
# Misc
'solidus_geocoding' => { org: 'solidusio-contrib', ci: :circleci },
'solidus_reviews' => { org: 'solidusio-contrib', ci: :circleci },
# Legacy (extracted from core)
'solidus_expedited_exchanges' => { org: 'solidusio-contrib', ci: :circleci },
}.map do |repo, options|
case options[:ci]
when :circleci
SolidusExtensions::CircleCi::Project.new(options[:org], repo, options[:branches])
else
SolidusExtensions::Project.new(options[:org], repo, options[:branches])
end
end.select(&:exists?)
task :retrigger do
PROJECTS.each do |project|
next unless project.name =~ /\Asolidusio/
project.retrigger
end
end
task :build do
require 'erb'
File.open('index.html', "w+") do |f|
render = ERB.new(File.read("status.html.erb")).result
f.write(render)
end
end
task :test_project do
project = PROJECTS.find { |p| p.repo == ENV['PROJECT'] }
project.render
puts "#{project.org}/#{project.repo} rendered successfully!"
end