Skip to content

v3.1.0

  • v3.1.0
  • 78ba4cd
  • Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
  • Choose a tag to compare

  • v3.1.0
  • 78ba4cd
  • Choose a tag to compare

  • Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
@neuraaak neuraaak tagged this 02 Jul 06:16
* feat(installer): ajouter la hiérarchie d'exceptions InstallerError

Ajoute les exceptions pour les opérations d'installer packaging:
- InstallerError (base)
- InstallerTypeError
- IsccNotFoundError
- InstallerBuildError
- InstallerConfigError

Suit le pattern existant de ReleaseError avec tests unitaires complets.

* feat(installer): ajouter le Port InstallerPort

- Ajouter la Protocol InstallerPort dans types.py, après ReleaserPort
- Protocol runtime_checkable définit deux méthodes:
  * build(bundle_dir, app_name, version, output_dir) → Path
  * get_installer_name() → str
- Ajouter InstallerPort à __all__
- Tests: test_installer_port.py valide la conformité structurelle

* feat(installer): ajouter BaseInstaller

* feat(installer): ajouter le template setup.iss par défaut

* fix(installer): aligner __init__.py sur 0 octet comme updater/__init__.py

* feat(installer): ajouter l'adapter InnoSetupInstaller

Détecte ISCC.exe (PATH puis emplacements par défaut), rend le script
.iss via substitution #PLACEHOLDER# et compile en shellant vers
ISCC.exe. Gère les erreurs de config, de détection et de build.

* fix(installer): verifier l'existence du setup.exe genere par ISCC.exe

ISCC.exe pouvait retourner un code 0 sans que le setup.exe attendu
n'existe reellement (ex: iss_path personnalise avec un
OutputBaseFilename different), renvoyant alors un chemin invalide
sans erreur.

* feat(installer): ajouter InstallerFactory

* feat(installer): ajouter InstallerService

Service orchestrant la création de setup.exe via InstallerFactory.
Miroir de ReleaseService : délégation simple au factory.

* feat(installer): ajouter les champs de config installer_enabled/output_dir/iss_path

Ajoute installer_enabled, installer_output_dir et installer_iss_path à
CompilerConfig, en miroir du groupe release (tuf_*) : coercion str->Path,
validation d'existence de installer_iss_path, support to_dict()/from_dict()
via un groupe "installer".

* feat(installer): ajouter PipelineService.build_installer et le stage installer

* feat(installer): integrer le stage installer dans run_pipeline

Ajoute skip_installer a run_pipeline pour construire le setup.exe
Inno Setup entre les stages zip et release quand installer_enabled
est actif. InstallerError est propagee comme les autres erreurs de
pipeline.

Corrige egalement le wiring de compiler_service_factory de EzCompiler
vers PipelineService, jamais transmis jusqu'ici.

* feat(installer): ajouter le flag CLI --installer-enabled

* fix(installer): corriger la generation ISCC et l'assemblage du release

- Echapper correctement AppId dans le template .iss (ISPP consomme les
  accolades de {#MyAppName}, il en fallait trois pour en laisser deux
  litterales apres expansion)
- Resoudre BUNDLE_DIR/OUTPUT_DIR en chemins absolus, ISCC les
  resolvant relativement au .iss et non au cwd du process
- Copier le setup.exe dans dist/release/ lors de l'assemblage, sinon
  l'installeur n'etait jamais uploade

* docs(installer): documenter le stage installer et completer release/CLI

- Nouveau guide guides/windows-installer.md (prerequis ISCC.exe,
  activation, iss custom, skip_installer, erreurs)
- Pipeline order et upload layout mis a jour (compile -> zip ->
  installer -> release)
- API reference : BaseInstaller/InnoSetupInstaller/InstallerFactory,
  InstallerService, exceptions installer
- Gaps preexistants combles au passage : BaseReleaser/TufupReleaser/
  ReleaserFactory, ReleaseService, exceptions release, commandes CLI
  compile/upload/release init

* chore(release): bump version to 3.1.0
Assets 2
Loading