Skip to content

Instantly share code, notes, and snippets.

@pkgw
Last active January 25, 2018 14:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save pkgw/345dde6b0801537078353fa42a078c7b to your computer and use it in GitHub Desktop.
Save pkgw/345dde6b0801537078353fa42a078c7b to your computer and use it in GitHub Desktop.
Check Travis CI queue for conda-forge feedstocks
Repo 1 of 3827 ...
Repo 101 of 3827 ...
Repo 201 of 3827 ...
Repo 301 of 3827 ...
Repo 401 of 3827 ...
Repo 501 of 3827 ...
Repo 601 of 3827 ...
Repo 701 of 3827 ...
Repo 801 of 3827 ...
Repo 901 of 3827 ...
Repo 1001 of 3827 ...
Repo 1101 of 3827 ...
Repo 1201 of 3827 ...
Repo 1301 of 3827 ...
Repo 1401 of 3827 ...
Repo 1501 of 3827 ...
Repo 1601 of 3827 ...
Repo 1701 of 3827 ...
Repo 1801 of 3827 ...
Repo 1901 of 3827 ...
Repo 2001 of 3827 ...
Repo 2101 of 3827 ...
Repo 2201 of 3827 ...
Repo 2301 of 3827 ...
Repo 2401 of 3827 ...
Repo 2501 of 3827 ...
Repo 2601 of 3827 ...
Repo 2701 of 3827 ...
Repo 2801 of 3827 ...
Repo 2901 of 3827 ...
Repo 3001 of 3827 ...
Repo 3101 of 3827 ...
Repo 3201 of 3827 ...
Repo 3301 of 3827 ...
Repo 3401 of 3827 ...
Repo 3501 of 3827 ...
Repo 3601 of 3827 ...
Repo 3701 of 3827 ...
Repo 3801 of 3827 ...
Repo 3827 of 3827.
001/479 pyagrum-feedstock build #61 job #1
002/479 pyagrum-feedstock build #61 job #2
003/479 pyagrum-feedstock build #61 job #3
004/479 python-blosc-feedstock build #28 job #1
005/479 python-blosc-feedstock build #28 job #2
006/479 python-blosc-feedstock build #28 job #3
007/479 mumps-feedstock build #24 job #1
008/479 msmtools-feedstock build #15 job #1
009/479 msmtools-feedstock build #15 job #2
010/479 msmtools-feedstock build #15 job #3
011/479 msmtools-feedstock build #15 job #4
012/479 msmtools-feedstock build #15 job #5
013/479 msmtools-feedstock build #15 job #6
014/479 sphinx-gallery-feedstock build #4 job #1
015/479 sphinx-gallery-feedstock build #4 job #2
016/479 sphinx-gallery-feedstock build #4 job #3
017/479 sphinx-gallery-feedstock build #4 job #4
018/479 ipython-feedstock build #46 job #1
019/479 ipython-feedstock build #46 job #2
020/479 ipython-feedstock build #46 job #3
021/479 yeadon-feedstock build #5 job #1
022/479 yeadon-feedstock build #5 job #2
023/479 yeadon-feedstock build #5 job #3
024/479 pytools-feedstock build #28 job #1
025/479 pytools-feedstock build #28 job #2
026/479 pytools-feedstock build #28 job #3
027/479 mdtraj-feedstock build #14 job #1
028/479 mdtraj-feedstock build #14 job #2
029/479 mdtraj-feedstock build #14 job #3
030/479 mdtraj-feedstock build #14 job #4
031/479 mdtraj-feedstock build #14 job #5
032/479 mdtraj-feedstock build #14 job #6
033/479 textblob-feedstock build #5 job #1
034/479 textblob-feedstock build #5 job #2
035/479 textblob-feedstock build #5 job #3
036/479 dbfread-feedstock build #3 job #1
037/479 dbfread-feedstock build #3 job #2
038/479 dbfread-feedstock build #3 job #3
039/479 wrf-python-feedstock build #2 job #1
040/479 wrf-python-feedstock build #2 job #2
041/479 wrf-python-feedstock build #2 job #3
042/479 diskcache-feedstock build #12 job #1
043/479 diskcache-feedstock build #12 job #2
044/479 diskcache-feedstock build #12 job #3
045/479 wrf-python-feedstock build #3 job #1
046/479 wrf-python-feedstock build #3 job #2
047/479 wrf-python-feedstock build #3 job #3
048/479 anaconda-client-feedstock build #6 job #1
049/479 anaconda-client-feedstock build #6 job #2
050/479 anaconda-client-feedstock build #6 job #3
051/479 jupyterlab-feedstock build #69 job #1
052/479 jupyterlab-feedstock build #69 job #2
053/479 jupyterlab-feedstock build #69 job #3
054/479 xarray-feedstock build #30 job #1
055/479 xarray-feedstock build #30 job #2
056/479 xarray-feedstock build #30 job #3
057/479 loghub-feedstock build #11 job #1
058/479 loghub-feedstock build #11 job #2
059/479 loghub-feedstock build #11 job #3
060/479 cookiecutter-feedstock build #29 job #1
061/479 cookiecutter-feedstock build #29 job #2
062/479 cookiecutter-feedstock build #29 job #3
063/479 deepdish-feedstock build #2 job #1
064/479 deepdish-feedstock build #2 job #2
065/479 deepdish-feedstock build #2 job #3
066/479 xarray-feedstock build #31 job #1
067/479 xarray-feedstock build #31 job #2
068/479 xarray-feedstock build #31 job #3
069/479 xarray-feedstock build #31 job #4
070/479 xorg-libx11-feedstock build #12 job #1
071/479 trmm_rsl-feedstock build #18 job #1
072/479 pytools-feedstock build #29 job #1
073/479 pytools-feedstock build #29 job #2
074/479 pytools-feedstock build #29 job #3
075/479 census-feedstock build #5 job #1
076/479 census-feedstock build #5 job #2
077/479 census-feedstock build #5 job #3
078/479 gflags-feedstock build #9 job #1
079/479 openjdk-feedstock build #29 job #1
080/479 hdbscan-feedstock build #26 job #1
081/479 hdbscan-feedstock build #26 job #2
082/479 hdbscan-feedstock build #26 job #3
083/479 python-annoy-feedstock build #7 job #1
084/479 python-annoy-feedstock build #7 job #2
085/479 python-annoy-feedstock build #7 job #3
086/479 flask-oauthlib-feedstock build #11 job #1
087/479 flask-oauthlib-feedstock build #11 job #2
088/479 flask-oauthlib-feedstock build #11 job #3
089/479 oauthlib-feedstock build #7 job #1
090/479 oauthlib-feedstock build #7 job #2
091/479 oauthlib-feedstock build #7 job #3
092/479 urllib3-feedstock build #10 job #1
093/479 urllib3-feedstock build #10 job #2
094/479 urllib3-feedstock build #10 job #3
095/479 requests-cache-feedstock build #7 job #1
096/479 requests-cache-feedstock build #7 job #2
097/479 requests-cache-feedstock build #7 job #3
098/479 flask-babel-feedstock build #7 job #1
099/479 flask-babel-feedstock build #7 job #2
100/479 flask-babel-feedstock build #7 job #3
101/479 flask-babel-feedstock build #7 job #4
102/479 positional-feedstock build #8 job #1
103/479 positional-feedstock build #8 job #2
104/479 positional-feedstock build #8 job #3
105/479 misaka-feedstock build #3 job #1
106/479 misaka-feedstock build #3 job #2
107/479 misaka-feedstock build #3 job #3
108/479 ghost.py-feedstock build #3 job #1
109/479 ghost.py-feedstock build #3 job #2
110/479 ghost.py-feedstock build #3 job #3
111/479 mutagen-feedstock build #9 job #1
112/479 mutagen-feedstock build #9 job #2
113/479 mutagen-feedstock build #9 job #3
114/479 pyinstrument-feedstock build #5 job #1
115/479 pyinstrument-feedstock build #5 job #2
116/479 pyinstrument-feedstock build #5 job #3
117/479 nosexcover-feedstock build #8 job #1
118/479 nosexcover-feedstock build #8 job #2
119/479 nosexcover-feedstock build #8 job #3
120/479 python-mimeparse-feedstock build #10 job #1
121/479 python-mimeparse-feedstock build #10 job #2
122/479 python-mimeparse-feedstock build #10 job #3
123/479 flask-sqlalchemy-feedstock build #13 job #1
124/479 flask-sqlalchemy-feedstock build #13 job #2
125/479 flask-sqlalchemy-feedstock build #13 job #3
126/479 mpi4py-feedstock build #16 job #1
127/479 mpi4py-feedstock build #16 job #2
128/479 mpi4py-feedstock build #16 job #3
129/479 mpi4py-feedstock build #16 job #4
130/479 mpi4py-feedstock build #16 job #5
131/479 mpi4py-feedstock build #16 job #6
132/479 healpy-feedstock build #17 job #1
133/479 healpy-feedstock build #17 job #2
134/479 healpy-feedstock build #17 job #3
135/479 skyfield-feedstock build #32 job #1
136/479 skyfield-feedstock build #32 job #2
137/479 skyfield-feedstock build #32 job #3
138/479 fiona-feedstock build #131 job #1
139/479 fiona-feedstock build #131 job #2
140/479 fiona-feedstock build #131 job #3
141/479 r-rintrojs-feedstock build #1 job #1
142/479 r-rintrojs-feedstock build #1 job #2
143/479 libuuid-feedstock build #16 job #1
144/479 ipywidget-pivot-table-feedstock build #3 job #1
145/479 ipywidget-pivot-table-feedstock build #3 job #2
146/479 ipywidget-pivot-table-feedstock build #3 job #3
147/479 batman-feedstock build #11 job #1
148/479 batman-feedstock build #11 job #2
149/479 batman-feedstock build #11 job #3
150/479 batman-feedstock build #12 job #1
151/479 batman-feedstock build #12 job #2
152/479 batman-feedstock build #12 job #3
153/479 phconvert-feedstock build #20 job #1
154/479 phconvert-feedstock build #20 job #2
155/479 phconvert-feedstock build #20 job #3
156/479 icalendar-feedstock build #10 job #1
157/479 icalendar-feedstock build #10 job #2
158/479 icalendar-feedstock build #10 job #3
159/479 pymc3-feedstock build #68 job #1
160/479 pymc3-feedstock build #68 job #2
161/479 pymc3-feedstock build #68 job #3
162/479 s3transfer-feedstock build #33 job #1
163/479 s3transfer-feedstock build #33 job #2
164/479 s3transfer-feedstock build #33 job #3
165/479 boto3-feedstock build #27 job #1
166/479 boto3-feedstock build #27 job #2
167/479 boto3-feedstock build #27 job #3
168/479 r-rgexf-feedstock build #5 job #1
169/479 r-rgexf-feedstock build #5 job #2
170/479 pyparsing-feedstock build #27 job #1
171/479 pyparsing-feedstock build #27 job #2
172/479 pyparsing-feedstock build #27 job #3
173/479 django-feedstock build #80 job #1
174/479 django-feedstock build #80 job #2
175/479 libradolan-feedstock build #38 job #1
176/479 python-eccodes-feedstock build #70 job #1
177/479 gdal-feedstock build #400 job #1
178/479 gdal-feedstock build #400 job #2
179/479 gdal-feedstock build #400 job #3
180/479 libgdal-feedstock build #70 job #1
181/479 eccodes-feedstock build #101 job #1
182/479 cgal-feedstock build #110 job #1
183/479 cgal-feedstock build #110 job #2
184/479 cgal-feedstock build #110 job #3
185/479 libkml-feedstock build #28 job #1
186/479 r-pbdzmq-feedstock build #12 job #1
187/479 r-pbdzmq-feedstock build #12 job #2
188/479 gcsfs-feedstock build #6 job #1
189/479 gcsfs-feedstock build #6 job #2
190/479 gcsfs-feedstock build #6 job #3
191/479 gcsfs-feedstock build #7 job #1
192/479 gcsfs-feedstock build #7 job #2
193/479 gcsfs-feedstock build #7 job #3
194/479 gcsfs-feedstock build #8 job #1
195/479 gcsfs-feedstock build #8 job #2
196/479 gcsfs-feedstock build #8 job #3
197/479 gcsfs-feedstock build #9 job #1
198/479 gcsfs-feedstock build #9 job #2
199/479 gcsfs-feedstock build #9 job #3
200/479 boto3-feedstock build #28 job #1
201/479 boto3-feedstock build #28 job #2
202/479 boto3-feedstock build #28 job #3
203/479 aipy-feedstock build #14 job #1
204/479 ipywidget-pivot-table-feedstock build #4 job #1
205/479 ipywidget-pivot-table-feedstock build #4 job #2
206/479 ipywidget-pivot-table-feedstock build #4 job #3
207/479 fastavro-feedstock build #51 job #1
208/479 fastavro-feedstock build #51 job #2
209/479 fastavro-feedstock build #51 job #3
210/479 conda-feedstock build #91 job #1
211/479 conda-feedstock build #91 job #2
212/479 conda-feedstock build #91 job #3
213/479 beakerx-feedstock build #55 job #1
214/479 beakerx-feedstock build #55 job #2
215/479 zeromq-feedstock build #115 job #1
216/479 xtl-feedstock build #53 job #1
217/479 xsimd-feedstock build #16 job #1
218/479 beakerx-feedstock build #56 job #1
219/479 beakerx-feedstock build #56 job #2
220/479 watermark-feedstock build #17 job #1
221/479 watermark-feedstock build #17 job #2
222/479 watermark-feedstock build #17 job #3
223/479 pyne-feedstock build #61 job #1
224/479 pyne-feedstock build #61 job #2
225/479 pyne-feedstock build #61 job #3
226/479 libsemigroups-feedstock build #21 job #1
227/479 fs_filepicker-feedstock build #43 job #1
228/479 fs_filepicker-feedstock build #43 job #2
229/479 fs_filepicker-feedstock build #43 job #3
230/479 docrep-feedstock build #8 job #1
231/479 docrep-feedstock build #8 job #2
232/479 docrep-feedstock build #8 job #3
233/479 gcsfs-feedstock build #10 job #1
234/479 gcsfs-feedstock build #10 job #2
235/479 gcsfs-feedstock build #10 job #3
236/479 gcsfs-feedstock build #11 job #1
237/479 gcsfs-feedstock build #11 job #2
238/479 gcsfs-feedstock build #11 job #3
239/479 fiona-feedstock build #132 job #1
240/479 fiona-feedstock build #132 job #2
241/479 fiona-feedstock build #132 job #3
242/479 scikit-beam-feedstock build #35 job #1
243/479 scikit-beam-feedstock build #35 job #2
244/479 scikit-beam-feedstock build #35 job #3
245/479 pyside2-feedstock build #20 job #1
246/479 pyside2-feedstock build #20 job #2
247/479 pyside2-feedstock build #20 job #3
248/479 pyside2-feedstock build #21 job #1
249/479 pyside2-feedstock build #21 job #2
250/479 pyside2-feedstock build #21 job #3
251/479 pymc3-feedstock build #69 job #1
252/479 pymc3-feedstock build #69 job #2
253/479 pymc3-feedstock build #69 job #3
254/479 sqlalchemy-feedstock build #19 job #1
255/479 sqlalchemy-feedstock build #19 job #2
256/479 sqlalchemy-feedstock build #19 job #3
257/479 filesdb-feedstock build #17 job #1
258/479 filesdb-feedstock build #17 job #2
259/479 thrift-cpp-feedstock build #45 job #1
260/479 uncertainties-feedstock build #11 job #1
261/479 uncertainties-feedstock build #11 job #2
262/479 uncertainties-feedstock build #11 job #3
263/479 fastavro-feedstock build #52 job #1
264/479 fastavro-feedstock build #52 job #2
265/479 fastavro-feedstock build #52 job #3
266/479 pandoc-feedstock build #53 job #1
267/479 kernda-feedstock build #5 job #1
268/479 kernda-feedstock build #5 job #2
269/479 kernda-feedstock build #5 job #3
270/479 cmd2-feedstock build #53 job #1
271/479 cmd2-feedstock build #53 job #2
272/479 cmd2-feedstock build #53 job #3
273/479 tifffile-feedstock build #43 job #1
274/479 tifffile-feedstock build #43 job #2
275/479 tifffile-feedstock build #43 job #3
276/479 tifffile-feedstock build #44 job #1
277/479 tifffile-feedstock build #44 job #2
278/479 tifffile-feedstock build #44 job #3
279/479 petsc-feedstock build #50 job #1
280/479 pyopencl-feedstock build #68 job #1
281/479 pyopencl-feedstock build #68 job #2
282/479 pyopencl-feedstock build #68 job #3
283/479 pyopencl-feedstock build #68 job #4
284/479 pyopencl-feedstock build #68 job #5
285/479 pyopencl-feedstock build #68 job #6
286/479 numpy-feedstock build #176 job #1
287/479 numpy-feedstock build #176 job #2
288/479 numpy-feedstock build #176 job #3
289/479 numpy-feedstock build #176 job #4
290/479 mdbenchmark-feedstock build #2 job #1
291/479 thrift-feedstock build #14 job #1
292/479 thrift-feedstock build #14 job #2
293/479 thrift-feedstock build #14 job #3
294/479 nxviz-feedstock build #15 job #1
295/479 hypothesis-feedstock build #115 job #1
296/479 hypothesis-feedstock build #115 job #2
297/479 hypothesis-feedstock build #115 job #3
298/479 nxviz-feedstock build #16 job #1
299/479 sqlalchemy-feedstock build #20 job #1
300/479 sqlalchemy-feedstock build #20 job #2
301/479 sqlalchemy-feedstock build #20 job #3
302/479 ppci-feedstock build #4 job #1
303/479 ppci-feedstock build #4 job #2
304/479 ppci-feedstock build #5 job #1
305/479 ppci-feedstock build #5 job #2
306/479 pyfmmlib-feedstock build #7 job #1
307/479 pyfmmlib-feedstock build #7 job #2
308/479 pyfmmlib-feedstock build #7 job #3
309/479 arrow-feedstock build #23 job #1
310/479 arrow-feedstock build #23 job #2
311/479 arrow-feedstock build #23 job #3
312/479 numpy-feedstock build #181 job #1
313/479 numpy-feedstock build #181 job #2
314/479 numpy-feedstock build #181 job #3
315/479 r-nloptr-feedstock build #10 job #1
316/479 r-nloptr-feedstock build #10 job #2
317/479 r-nloptr-feedstock build #11 job #1
318/479 r-nloptr-feedstock build #11 job #2
319/479 hdbscan-feedstock build #39 job #1
320/479 hdbscan-feedstock build #39 job #2
321/479 hdbscan-feedstock build #39 job #3
322/479 pygridgen-feedstock build #22 job #1
323/479 pygridgen-feedstock build #22 job #2
324/479 pygridgen-feedstock build #22 job #3
325/479 jupyter_nbextensions_configurator-feedstock build #51 job #1
326/479 jupyter_nbextensions_configurator-feedstock build #51 job #2
327/479 jupyter_nbextensions_configurator-feedstock build #51 job #3
328/479 notebook-feedstock build #69 job #1
329/479 notebook-feedstock build #69 job #2
330/479 notebook-feedstock build #69 job #3
331/479 msmtools-feedstock build #23 job #1
332/479 msmtools-feedstock build #23 job #2
333/479 msmtools-feedstock build #23 job #3
334/479 thermotools-feedstock build #17 job #1
335/479 thermotools-feedstock build #17 job #2
336/479 thermotools-feedstock build #17 job #3
337/479 hdbscan-feedstock build #40 job #1
338/479 hdbscan-feedstock build #40 job #2
339/479 hdbscan-feedstock build #40 job #3
340/479 turbodbc-feedstock build #38 job #1
341/479 turbodbc-feedstock build #38 job #2
342/479 turbodbc-feedstock build #38 job #3
343/479 pygridtools-feedstock build #11 job #1
344/479 pygridtools-feedstock build #11 job #2
345/479 pygridtools-feedstock build #11 job #3
346/479 clickhouse-driver-feedstock build #9 job #1
347/479 clickhouse-driver-feedstock build #9 job #2
348/479 clickhouse-driver-feedstock build #9 job #3
349/479 r-nloptr-feedstock build #12 job #1
350/479 r-nloptr-feedstock build #12 job #2
351/479 pytest-django-feedstock build #22 job #1
352/479 pytest-django-feedstock build #22 job #2
353/479 xgboost-feedstock build #21 job #1
354/479 xgboost-feedstock build #21 job #2
355/479 xgboost-feedstock build #21 job #3
356/479 docrep-feedstock build #9 job #1
357/479 docrep-feedstock build #9 job #2
358/479 docrep-feedstock build #9 job #3
359/479 notebook-feedstock build #70 job #1
360/479 notebook-feedstock build #70 job #2
361/479 notebook-feedstock build #70 job #3
362/479 pandoc-feedstock build #54 job #1
363/479 uncertainties-feedstock build #12 job #1
364/479 uncertainties-feedstock build #12 job #2
365/479 uncertainties-feedstock build #12 job #3
366/479 sqlalchemy-feedstock build #21 job #1
367/479 sqlalchemy-feedstock build #21 job #2
368/479 sqlalchemy-feedstock build #21 job #3
369/479 libuuid-feedstock build #17 job #1
370/479 cgal-feedstock build #111 job #1
371/479 cgal-feedstock build #111 job #2
372/479 cgal-feedstock build #111 job #3
373/479 orange3-feedstock build #104 job #1
374/479 orange3-feedstock build #104 job #2
375/479 eccodes-feedstock build #102 job #1
376/479 libgdal-feedstock build #71 job #1
377/479 fiona-feedstock build #133 job #1
378/479 fiona-feedstock build #133 job #2
379/479 fiona-feedstock build #133 job #3
380/479 libgdal-feedstock build #72 job #1
381/479 libgdal-feedstock build #73 job #1
382/479 libgdal-feedstock build #74 job #1
383/479 glymur-feedstock build #38 job #1
384/479 glymur-feedstock build #38 job #2
385/479 glymur-feedstock build #38 job #3
386/479 libgdal-feedstock build #75 job #1
387/479 hpc05-feedstock build #49 job #1
388/479 openjpeg-feedstock build #69 job #1
389/479 libgdal-feedstock build #76 job #1
390/479 libgdal-feedstock build #77 job #1
391/479 openjpeg-feedstock build #70 job #1
392/479 libgdal-feedstock build #78 job #1
393/479 fastavro-feedstock build #53 job #1
394/479 fastavro-feedstock build #53 job #2
395/479 fastavro-feedstock build #53 job #3
396/479 graphviz-feedstock build #37 job #1
397/479 libgdal-feedstock build #79 job #1
398/479 rdkit-feedstock build #15 job #1
399/479 rdkit-feedstock build #15 job #2
400/479 rdkit-feedstock build #15 job #3
401/479 fiona-feedstock build #134 job #1
402/479 fiona-feedstock build #134 job #2
403/479 fiona-feedstock build #134 job #3
404/479 fiona-feedstock build #135 job #1
405/479 fiona-feedstock build #135 job #2
406/479 fiona-feedstock build #135 job #3
407/479 r-base-feedstock build #83 job #1
408/479 fiona-feedstock build #136 job #1
409/479 fiona-feedstock build #136 job #2
410/479 fiona-feedstock build #136 job #3
411/479 r-robis-feedstock build #1 job #1
412/479 r-robis-feedstock build #1 job #2
413/479 r-ssoap-feedstock build #1 job #1
414/479 fiona-feedstock build #137 job #1
415/479 fiona-feedstock build #137 job #2
416/479 fiona-feedstock build #137 job #3
417/479 r-taxizesoap-feedstock build #1 job #1
418/479 r-xmlschema-feedstock build #1 job #1
419/479 r-xmlschema-feedstock build #1 job #2
420/479 pystan-feedstock build #19 job #1
421/479 pystan-feedstock build #19 job #2
422/479 pystan-feedstock build #19 job #3
423/479 fiona-feedstock build #138 job #1
424/479 fiona-feedstock build #138 job #2
425/479 fiona-feedstock build #138 job #3
426/479 parallel-feedstock build #2 job #1
427/479 parallel-feedstock build #2 job #2
428/479 parallel-feedstock build #2 job #3
429/479 parallel-feedstock build #2 job #4
430/479 swiglpk-feedstock build #2 job #1
431/479 swiglpk-feedstock build #2 job #2
432/479 swiglpk-feedstock build #2 job #3
433/479 parallel-feedstock build #3 job #1
434/479 parallel-feedstock build #3 job #2
435/479 parallel-feedstock build #3 job #3
436/479 parallel-feedstock build #3 job #4
437/479 swiglpk-feedstock build #3 job #1
438/479 swiglpk-feedstock build #3 job #2
439/479 swiglpk-feedstock build #3 job #3
440/479 swiglpk-feedstock build #4 job #1
441/479 swiglpk-feedstock build #4 job #2
442/479 swiglpk-feedstock build #4 job #3
443/479 pvlib-python-feedstock build #30 job #1
444/479 pvlib-python-feedstock build #30 job #2
445/479 pvlib-python-feedstock build #30 job #3
446/479 mumps-feedstock build #72 job #1
447/479 mumps-feedstock build #73 job #1
448/479 xraylib-feedstock build #77 job #1
449/479 xraylib-feedstock build #77 job #2
450/479 xraylib-feedstock build #77 job #3
451/479 av-feedstock build #18 job #1
452/479 av-feedstock build #18 job #2
453/479 av-feedstock build #18 job #3
454/479 scotch-feedstock build #82 job #1
455/479 scotch-feedstock build #82 job #2
456/479 r-diffusionmap-feedstock build #1 job #1
457/479 r-diffusionmap-feedstock build #1 job #2
458/479 r-dtw-feedstock build #1 job #1
459/479 r-dtw-feedstock build #1 job #2
460/479 r-ggridges-feedstock build #1 job #1
461/479 r-ggridges-feedstock build #1 job #2
462/479 r-ica-feedstock build #1 job #1
463/479 r-ica-feedstock build #1 job #2
464/479 r-ranger-feedstock build #1 job #1
465/479 r-ranger-feedstock build #1 job #2
466/479 r-rcppprogress-feedstock build #1 job #1
467/479 r-rcppprogress-feedstock build #1 job #2
468/479 r-sdmtools-feedstock build #1 job #1
469/479 r-sdmtools-feedstock build #1 job #2
470/479 r-sn-feedstock build #1 job #1
471/479 r-sn-feedstock build #1 job #2
472/479 papillon-feedstock build #7 job #1
473/479 papillon-feedstock build #7 job #2
474/479 r-tclust-feedstock build #2 job #1
475/479 mtspec-feedstock build #17 job #1
476/479 mtspec-feedstock build #17 job #2
477/479 mtspec-feedstock build #17 job #3
478/479 r-tclust-feedstock build #3 job #1
479/479 loompy-feedstock build #4 job #1
#! /usr/bin/env python
# Copyright 2018 Peter Williams <peter@newton.cx>
# Licensed under the GNU GPL version 3 or later.
# (Because we borrow some code from TravisPy.)
from datetime import datetime
from dateutil.tz import tzutc
from dateutil.parser import parse as parse_date
import os
import requests
import sys
token = os.getenv('TRAVIS_TOKEN')
PUBLIC = 'https://api.travis-ci.org'
def get_response_contents(response):
status_code = response.status_code
try:
contents = response.json()
except:
raise Exception('Travis error: %s (%d)' % (response.text.strip(), status_code))
if status_code == 200:
return contents
raise Exception('Travis error: %s (%d)' % (response.text.strip(), status_code))
class Client(requests.Session):
_fixed_headers = {
'User-Agent': 'TravisPy3',
'Travis-API-Version': '3',
'Accept': 'application/vnd.travis-ci.2+json',
}
def __init__(self, token=None, uri=PUBLIC):
requests.Session.__init__(self)
self.uri = uri
self.headers.update(self._fixed_headers)
if token is not None:
self.headers['Authorization'] = 'token %s' % token
def paginate(self, path, item):
uri = self.uri + path
offset = 0
limit = 100
count = None
while True:
resp = self.get(uri, params=dict(offset=offset, limit=limit))
json = get_response_contents(resp)
if count is None:
count = json['@pagination']['count']
if item not in json:
raise Exception('expected key %s; got %r' % (item, sorted(json.keys())))
for item_data in json[item]:
item_data['_pagination_count'] = count # hack for progress reporting
yield item_data
offset += len(json[item])
if offset >= count:
break
def main():
client = Client(token=token)
states = set()
now = datetime.now(tz=tzutc())
def get_all_jobs():
for i, repo in enumerate(client.paginate('/owner/conda-forge/repos', 'repositories')):
if i == repo['_pagination_count'] - 1:
print('Repo %d of %d.' % (i + 1, i + 1), file=sys.stderr)
elif i % 100 == 0:
print('Repo %d of %d ...' % (i + 1, repo['_pagination_count']), file=sys.stderr)
repo_name = repo['name']
if not (repo_name.endswith('-feedstock') or repo_name == 'staged-recipes'):
continue
for build in client.paginate('/repo/{}/builds'.format(repo['id']), 'builds'):
# States are: ['canceled', 'created', 'errored', 'failed', 'passed', 'started']
build_state = build['state']
if build_state != 'created':
continue
build_number_text = build['number']
build_updated = parse_date(build['updated_at'])
build_age_days = (now - build_updated).total_seconds() / 86400
age_desc = '%.2f days' % build_age_days
for job_num, job in enumerate(build['jobs']):
job_id = job['id']
# We *could* check whether this individual job has
# completed or not, but this script is slow enough as it
# is.
job_desc = 'build #%s job #%d' % (build_number_text, job_num + 1)
yield (job_id, repo_name, job_desc, age_desc)
pending_job_info = sorted(get_all_jobs(), key=lambda t: t[0])
n_jobs_text = str(len(pending_job_info))
n_jobs_width = len(n_jobs_text)
repo_name_width = 0
job_desc_width = 0
#age_desc_width = 0 # last item doesn't need padding
for job_id, repo_name, job_desc, age_desc in pending_job_info:
repo_name_width = max(repo_name_width, len(repo_name))
job_desc_width = max(job_desc_width, len(job_desc))
#age_desc_width = max(age_desc_width, len(age_desc))
for i, (job_id, repo_name, job_desc, age_desc) in enumerate(pending_job_info):
print('%*d/%s\t%-*s\t%-*s\t%s' % (
n_jobs_width, i + 1, n_jobs_text,
repo_name_width, repo_name,
job_desc_width, job_desc,
age_desc,
))
if __name__ == '__main__':
main()
@mariusvniekerk
Copy link

mariusvniekerk commented Jan 25, 2018

all_repos = []

async def list_repos(url):
    async with aiohttp.ClientSession() as session:
        async with session.get(url, headers=headers) as response:
            print(url)
            data = await response.json()
            all_repos.append(data)
            async with Semaphore(10) as sem:
                for repo in data['repositories']:
                    await list_builds(repo)
            if 'next' in data['@pagination']:
                await list_repos(f"https://api.travis-ci.org{data['@pagination']['next']['@href']}")
                
async def list_builds(repo):
    url_repo = f'https://api.travis-ci.org/repo/{repo["id"]}/builds?state=created'
    async with aiohttp.ClientSession() as session:
        data_build = await session.get(url_repo, headers=headers)
        builds = await data_build.json()
        repo_name = repo['name']
        if len(builds['builds']) > 0:
            all_builds[repo_name] = builds['builds']
        elif repo_name in all_builds:
            del all_builds[repo_name]

url = 'https://api.travis-ci.org/owner/conda-forge/repos?sort_by=active,name&limit=100'

all_builds = {}
out = loop.run_until_complete(list_repos(url))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment