Adapte le canal aux versions candidates
This commit is contained in:
parent
53e79a72d7
commit
465b384c08
3 changed files with 4 additions and 2 deletions
|
|
@ -8,6 +8,7 @@ Toutes les modifications importantes du projet sont consignées ici. Le format s
|
|||
|
||||
- ajout d’un centre de mises à jour pour les installations hors YunoHost ;
|
||||
- détection directe des releases stables publiées sur le dépôt Forgejo configurable ;
|
||||
- suivi des préversions uniquement depuis une installation elle-même candidate ou explicitement configurée ;
|
||||
- vérification SHA-256 obligatoire des archives téléchargées ou téléversées ;
|
||||
- sauvegarde complète vérifiée et copie du code avant chaque installation ;
|
||||
- restauration automatique du code et des données lorsqu’une migration ou un contrôle échoue ;
|
||||
|
|
|
|||
|
|
@ -234,8 +234,9 @@ final class UpdateService
|
|||
if (!is_array($releases)) {
|
||||
throw new RuntimeException(t('updates.release_invalid'));
|
||||
}
|
||||
$acceptPrereleases = str_contains(self::currentVersion(), '-') || getenv('GLOBINOURS_RELEASES_PRERELEASES') === '1';
|
||||
foreach ($releases as $release) {
|
||||
if (!is_array($release) || !empty($release['draft']) || !empty($release['prerelease'])) {
|
||||
if (!is_array($release) || !empty($release['draft']) || (!empty($release['prerelease']) && !$acceptPrereleases)) {
|
||||
continue;
|
||||
}
|
||||
$version = ltrim(trim((string) ($release['tag_name'] ?? '')), 'vV');
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ Le fichier `SHA256SUMS` contient l’empreinte de l’archive :
|
|||
0f00000000000000000000000000000000000000000000000000000000000000 globinours-1.0.1.tar.gz
|
||||
```
|
||||
|
||||
Un fichier nommé `globinours-1.0.1.tar.gz.sha256` peut remplacer `SHA256SUMS`. Les brouillons et préversions Forgejo sont ignorés par le canal stable.
|
||||
Un fichier nommé `globinours-1.0.1.tar.gz.sha256` peut remplacer `SHA256SUMS`. Les brouillons sont toujours ignorés. Une installation candidate accepte les releases marquées comme préversions ; une installation stable les ignore. Un technicien peut exceptionnellement les autoriser avec `GLOBINOURS_RELEASES_PRERELEASES=1`.
|
||||
|
||||
L’archive doit contenir un fichier `VERSION`, le dossier `app`, le dossier `migrations` et `public/index.php`, directement ou sous un unique dossier parent. Les dossiers `.env`, `data`, `storage` et `public/media` éventuellement présents sont toujours ignorés.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue