Implement mage pulp:supportedOSVersions target
This is analogous to the packagecloud:supportedOSVersions commands, and prints the same output, but the implementation is different.
With packagecloud, because we didn't have direct control over what package-types/distros/releases it supports, we had to do a lot of post-processing to the distributions.json response to e.g. filter out packages, distros, and releases we don't support, sort the result, and
format it appropriately.
With pulp we DO have full control over the package type, distros, and releases IT supports (https://gitlab.com/gitlab-org/build/pulp-repository-automation), so we can push all this "logic" into the config itself. All we have to do here is get the config file, select deb or rpm, stable or unstable, and print out the distro/release for each entry.
This command requires either a CI_JOB_TOKEN or PRIVATE_TOKEN environment variable to be able to hit https://gitlab.com/gitlab-org/build/pulp-repository-automation. This is temporary.
Notes:
- Compared to the packagecloud equivalent of this command, I have renamed
bleedingtounstable. - This MR deppends on https://gitlab.com/gitlab-org/build/pulp-repository-automation/-/merge_requests/5+, and the
pulp:supportedOSVersionswill print out nonsense until that MR merges.
Also, Quite a few release have reached EOL since we last updated the packageclould release config. Let's add them now.
Testing: These commands should output the same list:
mage pulp:supportedOSVersions rpm stable; mage pulp:supportedOSVersions rpm unstable; mage pulp:supportedOSVersions deb stable; mage pulp:supportedOSVersions deb unstable
mage packageCloud:supportedOSVersions rpm stable; mage packageCloud:supportedOSVersions rpm bleeding; mage packageCloud:supportedOSVersions deb stable; mage packageCloud:supportedOSVersions deb bleeding