2019-08-14 15:34:54 +00:00
#!/usr/bin/php
<?php
2019-08-15 19:31:34 +00:00
chdir(__DIR__);
require_once __DIR__ . "/vendor/autoload.php";
2019-08-14 15:34:54 +00:00
2019-08-15 19:31:34 +00:00
use \GuzzleHttp\Client as Guzzle;
use \MaddHatter\MarkdownTable\Builder as TableBuilder;
2019-08-14 15:34:54 +00:00
2019-08-15 19:31:34 +00:00
$client = new Guzzle();
$images = ['gone/php', 'gone/node', 'gone/marshall', ];
$results = [];
foreach($images as $image) {
$results[$image] = [];
$url = "https://hub.docker.com/v2/repositories/{$image}/tags/";
$allLoaded = false;
while ($allLoaded == false) {
$data = $client->get($url)->getBody()->getContents();
$json = json_decode($data, true);
$results[$image] = array_merge($results[$image], $json['results']);
if ($json['next']) {
$url = $json['next'];
} else {
$allLoaded = true;
}
2019-08-14 15:34:54 +00:00
}
}
2019-08-15 19:31:34 +00:00
$tableBuilder = new TableBuilder();
2019-08-14 15:34:54 +00:00
2019-08-15 19:31:34 +00:00
$tableBuilder->headers(['Name', 'Architecture', 'Size', 'Last Updated', 'Microbadger']);
$tableBuilder->align(['L','L', 'R','R','C']);
2019-08-14 15:34:54 +00:00
2019-08-15 19:31:34 +00:00
foreach($results as $image => $variants){
foreach($variants as $variant) {
$megabytes = number_format($variant['full_size'] / 1024 / 1024, 2);
//[](https://hub.docker.com/r/gone/marshall)
$sizeColour = 'green';
$arches = [];
foreach($variant['images'] as $archSpecificImage){
2019-08-15 19:35:28 +00:00
$arches[] = $archSpecificImage['architecture'];
2019-08-14 15:34:54 +00:00
}
2019-08-15 19:31:34 +00:00
$tableBuilder->row([
$image . ":" . $variant['name'],
strtoupper(implode(", ", $arches)),
"[](https://hub.docker.com/r/{$image})",
date("Y-m-d H:i:s", strtotime($variant['last_updated'])),
"[](https://microbadger.com/images/gone/marshall:latest \"Get your own image badge on microbadger.com\")",
]);
}
2019-08-14 15:34:54 +00:00
}
2019-08-15 19:31:34 +00:00
$readme = file_get_contents(__DIR__ ."/../README.template");
2019-08-14 15:34:54 +00:00
2019-08-15 19:31:34 +00:00
$readme = str_replace("{{TABLE}}", $tableBuilder->render(), $readme);
2019-08-14 15:34:54 +00:00
2019-08-15 19:31:34 +00:00
file_put_contents(__DIR__ . "/../README.md", $readme);