Raw output
";
- print "";
- print "```";
-}
-
-# Print all lines anyway
-{ print }
-
-# This is a "Updated input 'x'" ine
-$3 ~ /input/ {
- input = unquote($4);
- operations[input] = $2;
- next;
-}
-
-# This is a "'type:foo/bar/1234' (2021-01-01)" line
-$2 ~ /\(.*\)/ {
- input_from[input] = unquote($1)
- input_from_date[input] = substr($2, 2, 10);
- next;
-}
-
-# This is a "→ 'type:foo/bar/1234' (2021-01-01)" line
-$3 ~ /\(.*\)/ {
- input_to[input] = unquote($2)
- input_to_date[input] = substr($3, 2, 10);
- next;
-}
-
-END {
- print "```";
- print "";
- print "
";
- print "";
-
- # Once we gathered the information we needed, we can show it properly
- for (input in operations) {
- operation = operations[input];
- details = "";
- link = "";
-
- # For "updated" inputs, we have two flake refs
- if (operation == "Updated") {
- from = input_from[input];
- to = input_to[input];
- from_date = input_from_date[input]
- to_date = input_to_date[input]
- parse_flakeref(from, parsed_from);
- parse_flakeref(to, parsed_to);
- type = parsed_to["type"];
- repo = parsed_to["repo"];
- from_commit = parsed_from["commit"];
- to_commit = parsed_to["commit"];
-
- compare = sprintf("`%s` ➡️ `%s`", short(from_commit), short(to_commit));
- # Render the details according to the ref type
- if (type == "github") {
- compare = sprintf("[%s](https://github.com/%s/compare/%s...%s)", compare, repo, from_commit, to_commit);
- link = sprintf("https://github.com/%s", repo);
- } else if (type == "gitlab") {
- compare = sprintf("[%s](https://gitlab.com/%s/-/compare/%s...%s)", compare, repo, from_commit, to_commit);
- link = sprintf("https://gitlab.com/%s", repo);
- }
-
- details = sprintf("%s