Aller au contenu

Versions et montées de version

Le framework publie des versions SemVer 🡕. Une version est ce que votre projet épingle, ce que la documentation décrit et ce que vous lisez sur un hôte déployé.

Tant que le framework est en 0.x, c’est le numéro MINEUR qui porte les ruptures. Le numéro de CORRECTIF n’en porte jamais.

ChiffreCe qui bougeExemples
0.Y.z (mineur)Rupture assuméeclé etc/config.yaml renommée, option darkone.* supprimée, recette just renommée, structure usr/ modifiée
0.y.Z (correctif)Rien à migrercorrection, nouveau module ou service, nouvelle option, remontée de nixpkgs

La version 1.0.0 marquera le lancement public. À partir de là, ce sera le numéro MAJEUR qui portera les ruptures.

Un projet consommateur déclare le framework par son tag, et commite son flake.lock. Sans ce fichier, un clone du projet reconstruit un arbre différent à chaque fois.

flake.nix
inputs = {
dnf.url = "github:darkone-linux/darkone-nixos-framework/v0.1.0";
};

Le générateur n’a pas à être déclaré : la version épinglée du framework fixe mécaniquement celle du générateur qui va avec.

  1. Repérer la version cible dans les releases 🡕 et lire les sections ⚠ Breaking de toutes les versions traversées.

  2. Modifier le tag dans flake.nix, puis rafraîchir le verrou :

    Fenêtre de terminal
    nix flake update dnf
  3. Remettre le lien dnf/ sur la révision que le verrou épingle :

    Fenêtre de terminal
    nix run .#init
  4. Régénérer, contrôler, puis déployer un hôte en test avant la flotte :

    Fenêtre de terminal
    just generate
    just apply-local test
  5. Commiter flake.nix et flake.lock ensemble.

Chaque hôte déployé porte sa version, ce qui évite de deviner après un retour arrière ou une flotte mise à jour hôte par hôte.

Fenêtre de terminal
cat /etc/dnf-release
nixos-version

/etc/dnf-release donne la version publiée (DNF_RELEASE) et la révision git exacte (DNF_REV). nixos-version fait apparaître la version sous forme d’étiquette dnf-X.Y.Z, également visible dans les entrées de démarrage.

ProjetRègle de version
darkone-nixos-frameworkRéférence, c’est ce que vous épinglez
dnf-generatorVersion propre, épinglée par le framework
dnf-docPartage MAJEUR.MINEUR avec le framework
dnf-boilerplate, dnf-exampleTag miroir du framework, verrou commité

Pour lire la documentation qui correspond à votre version, comparez le MAJEUR.MINEUR : la doc 0.1.x décrit le framework 0.1.x.