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 ;
|
- 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 ;
|
- 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 ;
|
- 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 ;
|
- 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 ;
|
- 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)) {
|
if (!is_array($releases)) {
|
||||||
throw new RuntimeException(t('updates.release_invalid'));
|
throw new RuntimeException(t('updates.release_invalid'));
|
||||||
}
|
}
|
||||||
|
$acceptPrereleases = str_contains(self::currentVersion(), '-') || getenv('GLOBINOURS_RELEASES_PRERELEASES') === '1';
|
||||||
foreach ($releases as $release) {
|
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;
|
continue;
|
||||||
}
|
}
|
||||||
$version = ltrim(trim((string) ($release['tag_name'] ?? '')), 'vV');
|
$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
|
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.
|
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