Nuovi doc: tutorial-primo-giro, risoluzione-problemi, sviluppo, rilascio, glossario e registro delle decisioni (docs/decisioni, 6 ADR). docs/README.md e' l'indice per categoria e la tabella delle fonti uniche; il README di root rimanda a sviluppo/rilascio invece di duplicarli. scripts/CheckDocs.cs verifica link e ancore, <Version> contro CHANGELOG, copertura di architettura.md e presenza di ogni doc nell'indice; .markdownlint-cli2.jsonc configura il lint Markdown. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
48 lines
1.9 KiB
Markdown
48 lines
1.9 KiB
Markdown
# Rilasciare una nuova versione
|
|
|
|
Procedura per produrre il setup `PrepStep-Setup-<versione>.exe`, l'unico file da distribuire.
|
|
Il comportamento del setup (installazione per-utente, aggiornamento, `/VERYSILENT`) è descritto
|
|
in [`architettura.md`](architettura.md#installazione); qui ci sono solo i passi da eseguire.
|
|
|
|
## Una volta sola
|
|
|
|
Installa Inno Setup 6 per l'utente corrente (niente admin):
|
|
|
|
```powershell
|
|
winget install --id JRSoftware.InnoSetup -e --scope user
|
|
```
|
|
|
|
## A ogni release
|
|
|
|
1. Aggiorna `<Version>` in `PrepStep/PrepStep.csproj` (SemVer).
|
|
2. In [`CHANGELOG.md`](../CHANGELOG.md) trasforma "Non rilasciato" nella nuova versione con la
|
|
data e riscrivi sotto le modifiche (Aggiunto/Modificato/Corretto/Rimosso).
|
|
3. Controlla i doc: `dotnet run scripts/CheckDocs.cs` deve confermare che versione e CHANGELOG
|
|
coincidono.
|
|
4. Esegui i test: `dotnet test` in `PrepStep.Tests/`.
|
|
5. Chiudi l'app se è aperta (l'exe in uso blocca la build), poi dalla root del repo:
|
|
|
|
```powershell
|
|
dotnet publish PrepStep -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o PrepStep\publish
|
|
& "$env:LOCALAPPDATA\Programs\Inno Setup 6\ISCC.exe" installer\PrepStep.iss
|
|
```
|
|
|
|
6. Il setup è in `installer\Output\PrepStep-Setup-<versione>.exe`; la versione è letta
|
|
dall'exe, quindi coincide con `<Version>`. Provalo lanciandolo.
|
|
7. Commit con codice, doc e CHANGELOG insieme (regola in [`README.md`](README.md)).
|
|
|
|
## Solo l'eseguibile, senza setup
|
|
|
|
```powershell
|
|
cd PrepStep
|
|
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o publish
|
|
```
|
|
|
|
Produce `PrepStep\publish\PrepStep.exe`, un file unico che gira su un Windows x64 senza .NET
|
|
installato.
|
|
|
|
## Da non toccare
|
|
|
|
`AppGuid` in `installer/PrepStep.iss`: è ciò che fa riconoscere a Windows le versioni nuove
|
|
come aggiornamento della stessa app. Cambiarlo produce un'installazione doppia.
|