aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorPaul Bonaud <paul.bonaud@fretlink.com>2019-04-14 19:42:39 +0200
committerPaul Bonaud <paul.bonaud@fretlink.com>2020-03-02 15:27:34 +0100
commit57dd8a22fc5b17b152fe68539debedecd01a93a8 (patch)
treec77e3b932a201edbb77bf3a66490f833a144e58f
parent9c1df04756bd900c1ab61e98526ad6eaac8a7216 (diff)
downloadpronto-hlint-57dd8a22fc5b17b152fe68539debedecd01a93a8.tar.gz
pronto-hlint-57dd8a22fc5b17b152fe68539debedecd01a93a8.tar.zst
pronto-hlint-57dd8a22fc5b17b152fe68539debedecd01a93a8.zip
ci: fix Nix environment to launch tests
-rw-r--r--.travis.yml6
-rw-r--r--ci/default.nix5
-rw-r--r--ci/pronto/Gemfile6
-rw-r--r--ci/pronto/Gemfile.lock67
-rw-r--r--ci/pronto/default.nix10
-rw-r--r--ci/pronto/gemset.nix266
-rw-r--r--default.nix7
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---
2language: nix 2language: nix
3before_script: 3before_script:
4 - nix-env -iA nixpkgs.hlint nixpkgs.ruby_2_6 4 - nix-env -i -f default.nix
5 - gem install bundler
6script: 5script:
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 @@
1source "https://rubygems.org"
2
3gem "pronto"
4gem "pronto-hlint"
5gem "rspec"
6gem "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 @@
1GEM
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
57PLATFORMS
58 ruby
59
60DEPENDENCIES
61 pronto
62 pronto-hlint
63 rake
64 rspec
65
66BUNDLED 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 }:
2let gems = import ./gemset.nix;
3in
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
3with pkgs;
4
5let ci = callPackage ./ci/default.nix {};
6
7in ci