diff options
-rw-r--r-- | .travis.yml | 6 | ||||
-rw-r--r-- | ci/default.nix | 5 | ||||
-rw-r--r-- | ci/pronto/Gemfile | 6 | ||||
-rw-r--r-- | ci/pronto/Gemfile.lock | 67 | ||||
-rw-r--r-- | ci/pronto/default.nix | 10 | ||||
-rw-r--r-- | ci/pronto/gemset.nix | 266 | ||||
-rw-r--r-- | default.nix | 7 |
7 files changed, 363 insertions, 4 deletions
diff --git a/.travis.yml b/.travis.yml index 74e9f59..346f62d 100644 --- a/.travis.yml +++ b/.travis.yml | |||
@@ -1,8 +1,6 @@ | |||
1 | --- | 1 | --- |
2 | language: nix | 2 | language: nix |
3 | before_script: | 3 | before_script: |
4 | - nix-env -iA nixpkgs.hlint nixpkgs.ruby_2_6 | 4 | - nix-env -i -f default.nix |
5 | - gem install bundler | ||
6 | script: | 5 | script: |
7 | - bundle install | 6 | - rake spec |
8 | - bundle exec rake spec | ||
diff --git a/ci/default.nix b/ci/default.nix new file mode 100644 index 0000000..9aecd21 --- /dev/null +++ b/ci/default.nix | |||
@@ -0,0 +1,5 @@ | |||
1 | { callPackage, hlint }: | ||
2 | { | ||
3 | pronto = callPackage ./pronto {}; | ||
4 | inherit hlint; | ||
5 | } | ||
diff --git a/ci/pronto/Gemfile b/ci/pronto/Gemfile new file mode 100644 index 0000000..615ae47 --- /dev/null +++ b/ci/pronto/Gemfile | |||
@@ -0,0 +1,6 @@ | |||
1 | source "https://rubygems.org" | ||
2 | |||
3 | gem "pronto" | ||
4 | gem "pronto-hlint" | ||
5 | gem "rspec" | ||
6 | gem "rake" | ||
diff --git a/ci/pronto/Gemfile.lock b/ci/pronto/Gemfile.lock new file mode 100644 index 0000000..683d4dd --- /dev/null +++ b/ci/pronto/Gemfile.lock | |||
@@ -0,0 +1,67 @@ | |||
1 | GEM | ||
2 | remote: https://rubygems.org/ | ||
3 | specs: | ||
4 | addressable (2.7.0) | ||
5 | public_suffix (>= 2.0.2, < 5.0) | ||
6 | diff-lcs (1.3) | ||
7 | faraday (1.0.0) | ||
8 | multipart-post (>= 1.2, < 3) | ||
9 | gitlab (4.13.1) | ||
10 | httparty (~> 0.14, >= 0.14.0) | ||
11 | terminal-table (~> 1.5, >= 1.5.1) | ||
12 | httparty (0.18.0) | ||
13 | mime-types (~> 3.0) | ||
14 | multi_xml (>= 0.5.2) | ||
15 | mime-types (3.3.1) | ||
16 | mime-types-data (~> 3.2015) | ||
17 | mime-types-data (3.2019.1009) | ||
18 | multi_xml (0.6.0) | ||
19 | multipart-post (2.1.1) | ||
20 | octokit (4.16.0) | ||
21 | faraday (>= 0.9) | ||
22 | sawyer (~> 0.8.0, >= 0.5.3) | ||
23 | pronto (0.10.0) | ||
24 | gitlab (~> 4.0, >= 4.0.0) | ||
25 | httparty (>= 0.13.7) | ||
26 | octokit (~> 4.7, >= 4.7.0) | ||
27 | rainbow (>= 2.2, < 4.0) | ||
28 | rugged (~> 0.24, >= 0.23.0) | ||
29 | thor (~> 0.20.0) | ||
30 | pronto-hlint (0.1.0) | ||
31 | pronto (~> 0.10.0) | ||
32 | public_suffix (4.0.3) | ||
33 | rainbow (3.0.0) | ||
34 | rake (13.0.1) | ||
35 | rspec (3.9.0) | ||
36 | rspec-core (~> 3.9.0) | ||
37 | rspec-expectations (~> 3.9.0) | ||
38 | rspec-mocks (~> 3.9.0) | ||
39 | rspec-core (3.9.1) | ||
40 | rspec-support (~> 3.9.1) | ||
41 | rspec-expectations (3.9.0) | ||
42 | diff-lcs (>= 1.2.0, < 2.0) | ||
43 | rspec-support (~> 3.9.0) | ||
44 | rspec-mocks (3.9.1) | ||
45 | diff-lcs (>= 1.2.0, < 2.0) | ||
46 | rspec-support (~> 3.9.0) | ||
47 | rspec-support (3.9.2) | ||
48 | rugged (0.28.4.1) | ||
49 | sawyer (0.8.2) | ||
50 | addressable (>= 2.3.5) | ||
51 | faraday (> 0.8, < 2.0) | ||
52 | terminal-table (1.8.0) | ||
53 | unicode-display_width (~> 1.1, >= 1.1.1) | ||
54 | thor (0.20.3) | ||
55 | unicode-display_width (1.6.1) | ||
56 | |||
57 | PLATFORMS | ||
58 | ruby | ||
59 | |||
60 | DEPENDENCIES | ||
61 | pronto | ||
62 | pronto-hlint | ||
63 | rake | ||
64 | rspec | ||
65 | |||
66 | BUNDLED WITH | ||
67 | 1.17.3 | ||
diff --git a/ci/pronto/default.nix b/ci/pronto/default.nix new file mode 100644 index 0000000..fd668c9 --- /dev/null +++ b/ci/pronto/default.nix | |||
@@ -0,0 +1,10 @@ | |||
1 | { bundlerEnv, ruby, hlint }: | ||
2 | let gems = import ./gemset.nix; | ||
3 | in | ||
4 | bundlerEnv { | ||
5 | name = "pronto-${gems.pronto.version}"; | ||
6 | inherit ruby; | ||
7 | gemfile = ./Gemfile; | ||
8 | lockfile = ./Gemfile.lock; | ||
9 | gemset = ./gemset.nix; | ||
10 | } | ||
diff --git a/ci/pronto/gemset.nix b/ci/pronto/gemset.nix new file mode 100644 index 0000000..fa412e1 --- /dev/null +++ b/ci/pronto/gemset.nix | |||
@@ -0,0 +1,266 @@ | |||
1 | { | ||
2 | addressable = { | ||
3 | dependencies = ["public_suffix"]; | ||
4 | groups = ["default"]; | ||
5 | platforms = []; | ||
6 | source = { | ||
7 | remotes = ["https://rubygems.org"]; | ||
8 | sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy"; | ||
9 | type = "gem"; | ||
10 | }; | ||
11 | version = "2.7.0"; | ||
12 | }; | ||
13 | diff-lcs = { | ||
14 | groups = ["default"]; | ||
15 | platforms = []; | ||
16 | source = { | ||
17 | remotes = ["https://rubygems.org"]; | ||
18 | sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; | ||
19 | type = "gem"; | ||
20 | }; | ||
21 | version = "1.3"; | ||
22 | }; | ||
23 | faraday = { | ||
24 | dependencies = ["multipart-post"]; | ||
25 | groups = ["default"]; | ||
26 | platforms = []; | ||
27 | source = { | ||
28 | remotes = ["https://rubygems.org"]; | ||
29 | sha256 = "11yn7mhi4rl24brs2qfwysas14csjf1zmb835cfklqz5ka032xp6"; | ||
30 | type = "gem"; | ||
31 | }; | ||
32 | version = "1.0.0"; | ||
33 | }; | ||
34 | gitlab = { | ||
35 | dependencies = ["httparty" "terminal-table"]; | ||
36 | groups = ["default"]; | ||
37 | platforms = []; | ||
38 | source = { | ||
39 | remotes = ["https://rubygems.org"]; | ||
40 | sha256 = "04m14gyacd2dbx8ddl6ka9yrvy8xykl1px1l2pyc347pi8q5nq3k"; | ||
41 | type = "gem"; | ||
42 | }; | ||
43 | version = "4.13.1"; | ||
44 | }; | ||
45 | httparty = { | ||
46 | dependencies = ["mime-types" "multi_xml"]; | ||
47 | groups = ["default"]; | ||
48 | platforms = []; | ||
49 | source = { | ||
50 | remotes = ["https://rubygems.org"]; | ||
51 | sha256 = "0vzfzry2inyz9yd9x9zflm7rzwa3vlp9kl05ajpsxrx6gh8pzxy6"; | ||
52 | type = "gem"; | ||
53 | }; | ||
54 | version = "0.18.0"; | ||
55 | }; | ||
56 | mime-types = { | ||
57 | dependencies = ["mime-types-data"]; | ||
58 | groups = ["default"]; | ||
59 | platforms = []; | ||
60 | source = { | ||
61 | remotes = ["https://rubygems.org"]; | ||
62 | sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh"; | ||
63 | type = "gem"; | ||
64 | }; | ||
65 | version = "3.3.1"; | ||
66 | }; | ||
67 | mime-types-data = { | ||
68 | groups = ["default"]; | ||
69 | platforms = []; | ||
70 | source = { | ||
71 | remotes = ["https://rubygems.org"]; | ||
72 | sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh"; | ||
73 | type = "gem"; | ||
74 | }; | ||
75 | version = "3.2019.1009"; | ||
76 | }; | ||
77 | multi_xml = { | ||
78 | groups = ["default"]; | ||
79 | platforms = []; | ||
80 | source = { | ||
81 | remotes = ["https://rubygems.org"]; | ||
82 | sha256 = "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj"; | ||
83 | type = "gem"; | ||
84 | }; | ||
85 | version = "0.6.0"; | ||
86 | }; | ||
87 | multipart-post = { | ||
88 | groups = ["default"]; | ||
89 | platforms = []; | ||
90 | source = { | ||
91 | remotes = ["https://rubygems.org"]; | ||
92 | sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj"; | ||
93 | type = "gem"; | ||
94 | }; | ||
95 | version = "2.1.1"; | ||
96 | }; | ||
97 | octokit = { | ||
98 | dependencies = ["faraday" "sawyer"]; | ||
99 | groups = ["default"]; | ||
100 | platforms = []; | ||
101 | source = { | ||
102 | remotes = ["https://rubygems.org"]; | ||
103 | sha256 = "06kx258qa5k24q5pv8i4daaw3g57gif6p5k5h3gndj3q2jk6vhkn"; | ||
104 | type = "gem"; | ||
105 | }; | ||
106 | version = "4.16.0"; | ||
107 | }; | ||
108 | pronto = { | ||
109 | dependencies = ["gitlab" "httparty" "octokit" "rainbow" "rugged" "thor"]; | ||
110 | groups = ["default"]; | ||
111 | platforms = []; | ||
112 | source = { | ||
113 | remotes = ["https://rubygems.org"]; | ||
114 | sha256 = "0n6pykyp5jcpgwcvdxyrhjc7n8w95m0pgixz6cpx0n8vwvw1vhlv"; | ||
115 | type = "gem"; | ||
116 | }; | ||
117 | version = "0.10.0"; | ||
118 | }; | ||
119 | pronto-hlint = { | ||
120 | dependencies = ["pronto"]; | ||
121 | groups = ["default"]; | ||
122 | platforms = []; | ||
123 | source = { | ||
124 | remotes = ["https://rubygems.org"]; | ||
125 | sha256 = "1lfan7bgvyns8rb3qz4f5a56ylfqkjqyjc7hdi2qbnwcswldfqkg"; | ||
126 | type = "gem"; | ||
127 | }; | ||
128 | version = "0.1.0"; | ||
129 | }; | ||
130 | public_suffix = { | ||
131 | groups = ["default"]; | ||
132 | platforms = []; | ||
133 | source = { | ||
134 | remotes = ["https://rubygems.org"]; | ||
135 | sha256 = "1c6kq6s13idl2036b5lch8r7390f8w82cal8hcp4ml76fm2vdac7"; | ||
136 | type = "gem"; | ||
137 | }; | ||
138 | version = "4.0.3"; | ||
139 | }; | ||
140 | rainbow = { | ||
141 | groups = ["default"]; | ||
142 | platforms = []; | ||
143 | source = { | ||
144 | remotes = ["https://rubygems.org"]; | ||
145 | sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk"; | ||
146 | type = "gem"; | ||
147 | }; | ||
148 | version = "3.0.0"; | ||
149 | }; | ||
150 | rake = { | ||
151 | groups = ["default"]; | ||
152 | platforms = []; | ||
153 | source = { | ||
154 | remotes = ["https://rubygems.org"]; | ||
155 | sha256 = "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9"; | ||
156 | type = "gem"; | ||
157 | }; | ||
158 | version = "13.0.1"; | ||
159 | }; | ||
160 | rspec = { | ||
161 | dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; | ||
162 | groups = ["default"]; | ||
163 | platforms = []; | ||
164 | source = { | ||
165 | remotes = ["https://rubygems.org"]; | ||
166 | sha256 = "1hzsig4pi9ybr0xl5540m1swiyxa74c8h09225y5sdh2rjkkg84h"; | ||
167 | type = "gem"; | ||
168 | }; | ||
169 | version = "3.9.0"; | ||
170 | }; | ||
171 | rspec-core = { | ||
172 | dependencies = ["rspec-support"]; | ||
173 | groups = ["default"]; | ||
174 | platforms = []; | ||
175 | source = { | ||
176 | remotes = ["https://rubygems.org"]; | ||
177 | sha256 = "1qzc1wdjb1qnbimjl8i1q1r1z5hdv2lmcw7ysz7jawj4d1cvpqvd"; | ||
178 | type = "gem"; | ||
179 | }; | ||
180 | version = "3.9.1"; | ||
181 | }; | ||
182 | rspec-expectations = { | ||
183 | dependencies = ["diff-lcs" "rspec-support"]; | ||
184 | groups = ["default"]; | ||
185 | platforms = []; | ||
186 | source = { | ||
187 | remotes = ["https://rubygems.org"]; | ||
188 | sha256 = "1gjqfb39da6gywdcp4h77738r7khbrn2v4y45589z25bj4z9paf0"; | ||
189 | type = "gem"; | ||
190 | }; | ||
191 | version = "3.9.0"; | ||
192 | }; | ||
193 | rspec-mocks = { | ||
194 | dependencies = ["diff-lcs" "rspec-support"]; | ||
195 | groups = ["default"]; | ||
196 | platforms = []; | ||
197 | source = { | ||
198 | remotes = ["https://rubygems.org"]; | ||
199 | sha256 = "19vmdqym1v2g1zbdnq37zwmyj87y9yc9ijwc8js55igvbb9hx0mr"; | ||
200 | type = "gem"; | ||
201 | }; | ||
202 | version = "3.9.1"; | ||
203 | }; | ||
204 | rspec-support = { | ||
205 | groups = ["default"]; | ||
206 | platforms = []; | ||
207 | source = { | ||
208 | remotes = ["https://rubygems.org"]; | ||
209 | sha256 = "1zwpyq1na23pvgacpxs2v9nwfbjbw6x3arca5j3l1xagigqmzhc3"; | ||
210 | type = "gem"; | ||
211 | }; | ||
212 | version = "3.9.2"; | ||
213 | }; | ||
214 | rugged = { | ||
215 | groups = ["default"]; | ||
216 | platforms = []; | ||
217 | source = { | ||
218 | remotes = ["https://rubygems.org"]; | ||
219 | sha256 = "0rdidxgpk1b6y1jq9v77lcx5khq0s9q0s253lr8x57d3hk43iskx"; | ||
220 | type = "gem"; | ||
221 | }; | ||
222 | version = "0.28.4.1"; | ||
223 | }; | ||
224 | sawyer = { | ||
225 | dependencies = ["addressable" "faraday"]; | ||
226 | groups = ["default"]; | ||
227 | platforms = []; | ||
228 | source = { | ||
229 | remotes = ["https://rubygems.org"]; | ||
230 | sha256 = "0yrdchs3psh583rjapkv33mljdivggqn99wkydkjdckcjn43j3cz"; | ||
231 | type = "gem"; | ||
232 | }; | ||
233 | version = "0.8.2"; | ||
234 | }; | ||
235 | terminal-table = { | ||
236 | dependencies = ["unicode-display_width"]; | ||
237 | groups = ["default"]; | ||
238 | platforms = []; | ||
239 | source = { | ||
240 | remotes = ["https://rubygems.org"]; | ||
241 | sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk"; | ||
242 | type = "gem"; | ||
243 | }; | ||
244 | version = "1.8.0"; | ||
245 | }; | ||
246 | thor = { | ||
247 | groups = ["default"]; | ||
248 | platforms = []; | ||
249 | source = { | ||
250 | remotes = ["https://rubygems.org"]; | ||
251 | sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29"; | ||
252 | type = "gem"; | ||
253 | }; | ||
254 | version = "0.20.3"; | ||
255 | }; | ||
256 | unicode-display_width = { | ||
257 | groups = ["default"]; | ||
258 | platforms = []; | ||
259 | source = { | ||
260 | remotes = ["https://rubygems.org"]; | ||
261 | sha256 = "1pppclzq4qb26g321553nm9xqca3zgllvpwb2kqxsdadwj51s09x"; | ||
262 | type = "gem"; | ||
263 | }; | ||
264 | version = "1.6.1"; | ||
265 | }; | ||
266 | } \ No newline at end of file | ||
diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..319a18b --- /dev/null +++ b/default.nix | |||
@@ -0,0 +1,7 @@ | |||
1 | { pkgs ? import <nixpkgs> {} }: | ||
2 | |||
3 | with pkgs; | ||
4 | |||
5 | let ci = callPackage ./ci/default.nix {}; | ||
6 | |||
7 | in ci | ||