feat: automated stable releases, versioned ISOs, and Hub version badge

- Add release-stable.sh script with automatic tagging, CHANGELOG updates,
  GitHub/Gitea release creation, and VERSION file management
- Update iso/common.nix to include version from VERSION file in ISO filename
- Add VERSION file (current: 1.0.3)
- Polish OS version badge in Sovran Hub header (top-right)
- Update README.md download link to versioned ISO
- Update CHANGELOG.md with existing tags (v1.0.0 – v1.0.3)

Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
This commit is contained in:
naturallaw777
2026-07-29 15:11:59 +00:00
co-authored by arena-agent
parent ac6a2e26bb
commit c54823ff68
8 changed files with 436 additions and 2 deletions
+10 -1
View File
@@ -3,6 +3,14 @@
let
sovranSource = builtins.path { path = ../.; name = "sovran-systemsos"; };
# Read version from VERSION file if it exists, otherwise fall back to "dev"
versionFile = if builtins.pathExists ../VERSION
then builtins.readFile ../VERSION
else "dev";
# Clean version (remove 'v' prefix and newlines)
cleanVersion = builtins.replaceStrings ["v" "\n" "\r"] [""] versionFile;
pythonEnv = pkgs.python3.withPackages (ps: [ ps.pygobject3 ps.pycairo ]);
installerPy = pkgs.writeShellScriptBin "sovran-install" ''
@@ -18,7 +26,8 @@ in
"${modulesPath}/installer/cd-dvd/installation-cd-graphical-gnome.nix"
];
image.baseName = lib.mkForce "Sovran_SystemsOS";
# Dynamic ISO filename with version
image.baseName = lib.mkForce "Sovran_SystemsOS-${cleanVersion}";
isoImage.splashImage = ./assets/splash-logo.png;
services.gnome.gnome-initial-setup.enable = false;