Přeskočit na obsah

Vydávání

Pokročilý

Z otestovaného buildu udělej vydání. Tato stránka je pro správce.

  • Projdou všechny kontroly z testování, včetně plného end-to-end běhu a dlouhých běhů a běhů poruch.
  • CHANGELOG.md obsahuje novou verzi.
  • Pro skripty vydání je nainstalovaný Python 3.
  1. Napiš releases/notes-<version>.toml, například releases/notes-1.0.0.toml. Viz soubor s poznámkami k vydání.

  2. Zkontroluj ho:

    Terminal window
    python deploy/release/notes.py 1.0.0 --check

    Neměl bys vidět žádné chyby. Zakázané slovo, pomlčka, datum, řeči o spuštění nebo opakovaný highlight skončí s kódem 1.

  3. Sestav texty vydání:

    Terminal window
    python deploy/release/notes.py 1.0.0

    V releases/out/1.0.0/ bys měl najít 7 souborů.

  4. Sestav image a spusť ho na čerstvé konfigurační složce:

    Terminal window
    docker build --file deploy/Dockerfile .

    Měl bys vidět průvodce prvním spuštěním.

  5. Spusť na svém počítači všechny kontroly z testování. Testy se pouští lokálně, ne na GitHubu.

  6. Předej verzi správci. Správce pushne tag verze na main a tím se vydání spustí.

Názvy verzí a tagů

Odkaz na Názvy verzí a tagů
Věc Název
Git tag (pushuje správce) 1.0.0 (obyčejná čísla, bez v)
Tag image a version v poznámkách 1.0.0

Workflow se spustí jen pro tag ve tvaru X.Y.Z a zastaví se, když se tag liší od souboru VERSION.

Každé vydání pushne svůj tag verze a :latest.

Vezmi vydání zpět

Odkaz na Vezmi vydání zpět
  1. Pushni další verzi s opravou.
  2. Označ špatnou verzi v seznamu aktualizací, aby ji instalace nenabízely.
  3. Tag ponech.

Když to nefunguje

Odkaz na Když to nefunguje

Příznak. notes.py --check skončí s kódem 1. Příčina. Soubor s poznámkami porušuje pravidlo. Zpráva jmenuje řádek. Řešení. Uprav soubor s poznámkami, nikdy ne soubory v releases/out, a spusť to znovu.

Příznak. Workflow se zastaví s hláškou VERSION says. Příčina. Tag a soubor VERSION se liší. Řešení. Oprav VERSION na main a pushni tag další verze.

Soubor s poznámkami k vydání

Každý text vydání vzniká z jednoho souboru. To, co sestaví, nikdy neupravuj ručně.

Pole Obsah
version Prosté X.Y.Z
theme Jeden řádek
images Seznam {registry, name}. Jen Docker Hub holyarrs/holyarrs
docs_url Volitelné. Prázdné znamená žádný odkaz na dokumentaci
[[highlights]] Přesně 3, každý s line, issues a shot. Jejich issues se neobjeví v žádném řádku skupin
[groups] Řádky podle místa. New je výchozí. Ostatní začínají Changed: , Fixed: nebo Docs: . Každý končí svým issue, například (#46). Místo s méně než 3 řádky jde pod Also new
Volitelné [before_you_update] (breaking, manual_steps, backup, rollback), security, known_issues, credits, [stats]. Prázdné části se skryjí

Přihlašovací jméno z GitHubu použij, jen když ho znáš, v souboru poznámek nebo v releases/credits-map.json.

Pořadí těla: theme, Highlights, místa (Requests, Library, Downloads, Indexers, Accounts, Health, Setup, Install), Also new, Security, Known issues, Before you update, Image, Thanks, řádek se statistikami.

Výstup v releases/out/<version>/ Použití
changelog.md Záznam do changelogu
github.md Text vydání na GitHubu
update-notes.json Poznámky, které zobrazí aplikace
reddit.txt Příspěvek na Redditu
discord-dm.txt, discord-announce.md Discord. Každý zůstává pod 1 000 znaky
roadmap-card.json Karta roadmapy

notes.py bere --file (jiný soubor s poznámkami), --map (jinou mapu zásluh), --out (jinou výstupní složku) a --date. --check upozorní na dlouhé řádky a téměř opakování.

Workflow image

Workflow HolyArrs - Release se spustí po pushnutí tagu verze. Má tři kroky:

  1. Sestavit a pushnout image pro linux/amd64, linux/arm64 a linux/arm/v7, s tagem verze a latest.
  2. Aktualizovat popis na Docker Hubu z README.md.
  3. Publikovat vydání na GitHubu s částí CHANGELOG.md pro tuto verzi.
Seznam aktualizací

Aplikace čte podepsaný seznam aktualizací. Každé vydání přidá svůj záznam a podepíše ho. Podpisový klíč nikdy nepatří do repozitáře. HolyArrs odmítne seznam, který neumí ověřit.

Po vydání zkontroluj, že štítek verze image odpovídá tagu, a první den sleduj nová issues:

Terminal window
docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' holyarrs
Testovací šablona pro Unraid

deploy/release/nas-template.py zapíše uživatelskou šablonu Unraidu pro jeden konkrétní image. Nic nestahuje, neinstaluje ani nepublikuje.

Terminal window
python deploy/release/nas-template.py --image 'holyarrs/holyarrs@sha256:<digest>' --config '/mnt/<pool>/appdata/holyarrs-test' --movies /mnt/user/holyarrs-test-data/movies --downloads /mnt/user/holyarrs-test-data/downloads --port 6262 --output holyarrs-test.xml

Nahraď <digest> a <pool>.

Přepínač Poznámky
--image Digest manifestu v registru, ne ID Docker image
--config Cesta na poolu. Nástroj odmítne /mnt/user a /mnt/user0
--movies, --tv, --music, --downloads Volitelné. Oddělené cesty jsou oddělená připojení, takže se při importu kopíruje
--port Výchozí je 6262
--allowed-hosts Volitelné, názvy hostitelů oddělené čárkou
--output XML soubor, který se zapíše

Šablona nastaví PUID=99, PGID=100 a UMASK=022. Dej tomuto účtu přístup pro zápis k testovacím médiím. Soubor ulož do /boot/config/plugins/dockerMan/templates-user/ a vyber ho v Docker > Add Container > Template (Docker > přidat kontejner > šablona).

HolyArrs je zdarma. Pokud ti ušetřil čas, dej mu hvězdičku na GitHubu, podpoř ho sponzorstvím nebo kup mi kávu.