CI/CD for Webmin modules and Virtualmin plugins

The work has now been fully completed, enabling virtualmin-install.sh to configure multiple branches. By default, the installer always sets up stable software. However, it’s now possible to enable or disable unstable and prerelease repositories during the initial installation or afterward.

The primary change (not yet released to the public) is the introduction of the new --branch or -B flag in the installer. This flag accepts stable (default), unstable and prerelease modes. If the unstable option is selected during the initial installation, the installer will make it explicitly clear that using unstable repositories is highly risky, such as with the following warning:

sh virtualmin-install.sh -B unstable -b LEMP -t micro

Using the prerelease option, as shown below, will show a more moderate notice:

sh virtualmin-install.sh -B prerelease -b LAMP -t nano

Furthermore, if the install script is run with the --setup flag but without the new --branch flag, the setup process will now not only reconfigure the Virtualmin repositories, as before, but also remove all unstable or prerelease repositories, in case they were previously configured. However, if it is run with --branch unstable or --branch prerelease, it will configure corresponding unstable or prerelease repository, for example:

sh virtualmin-install.sh --setup --branch unstable

sh virtualmin-install.sh --setup --branch prerelease

sh virtualmin-install.sh --setup

When using the virtualmin-install.sh script to configure the unstable or prerelease branches, the system will be configured to get access to both Webmin and Virtualmin repositories of the chosen type.

This makes testing or trying new prerelease packages much simpler and more straightforward.

By the way, the unstable and prerelease repositories also support ARM architectures.

If you have any questions, feel free to ask!

3 Likes