Udgivelse
Erfaren
Gør et testet build til en version. Denne side er for vedligeholdere.
Før du begynder
Link til Før du begynder- Alle tjek i Testning består, også en fuld end-to-end-kørsel og de lange kørsler og fejlkørslerne.
CHANGELOG.mdhar den nye version.- Python 3 er installeret til release-scripts.
Forbered en version
Link til Forbered en version-
Skriv
releases/notes-<version>.toml, for eksempelreleases/notes-1.0.0.toml. Se Filen med versionsnoter. -
Tjek den:
Terminal window python deploy/release/notes.py 1.0.0 --checkDu bør ikke se nogen fejl. Et forbudt ord, en tankestreg, en dato, lanceringssnak eller et gentaget highlight giver exit 1.
-
Byg versionsteksterne:
Terminal window python deploy/release/notes.py 1.0.0Du bør finde 7 filer i
releases/out/1.0.0/. -
Byg imaget og start det på en ny konfigurationsmappe:
Terminal window docker build --file deploy/Dockerfile .Du bør se guiden ved første start.
-
Kør alle tjek i Testning på din computer. Tests kører lokalt, ikke på GitHub.
-
Giv versionen videre til vedligeholderen. Vedligeholderen pusher versions-tagget på main, og det starter udgivelsen.
Valg
Link til ValgNavne på version og tag
Link til Navne på version og tag| Ting | Navn |
|---|---|
| Git-tag (pushes af vedligeholderen) | 1.0.0 (almindelige tal, uden v) |
Image-tag og version i noterne |
1.0.0 |
Workflowet starter kun for et X.Y.Z-tag og stopper, når tagget er forskelligt fra filen VERSION.
Image-tags
Link til Image-tagsHver version pusher sit versions-tag og :latest.
Træk en version tilbage
Link til Træk en version tilbage- Push den næste version med rettelsen.
- Marker den dårlige version i opdateringslisten, så installationer ikke tilbyder den.
- Behold tagget.
Hvis det ikke virker
Link til Hvis det ikke virkerSymptom. notes.py --check giver exit 1.
Årsag. Notefilen bryder en regel. Beskeden nævner linjen.
Løsning. Ret notefilen, aldrig filerne i releases/out, og kør den igen.
Symptom. Workflowet stopper med VERSION says.
Årsag. Tagget og filen VERSION er forskellige.
Løsning. Ret VERSION på main og push det næste versions-tag.
For erfarne
Link til For erfarneFilen med versionsnoter
Alle versionstekster kommer fra én fil. Ret aldrig i det, den bygger, i hånden.
| Felt | Indhold |
|---|---|
version |
Almindelig X.Y.Z |
theme |
Én linje |
images |
Liste af {registry, name}. Kun Docker Hub holyarrs/holyarrs |
docs_url |
Valgfri. Tom betyder intet link til dokumentationen |
[[highlights]] |
Præcis 3, hver med line, issues og shot. Deres issues står ikke i nogen gruppelinje |
[groups] |
Linjer pr. sted. New er standard. Andre starter med Changed: , Fixed: eller Docs: . Hver ender med sin issue, for eksempel (#46). Et sted med under 3 linjer kommer under Also new |
| Valgfrit | [before_you_update] (breaking, manual_steps, backup, rollback), security, known_issues, credits, [stats]. Tomme dele bliver skjult |
Brug kun et GitHub-login, når det er kendt, i notefilen eller i releases/credits-map.json.
Rækkefølge i teksten: tema, Highlights, steder (Requests, Library, Downloads, Indexers, Accounts, Health, Setup, Install), Also new, Security, Known issues, Before you update, Image, Thanks, statistiklinjen.
Output i releases/out/<version>/ |
Bruges til |
|---|---|
changelog.md |
Indlægget i changelog |
github.md |
Teksten til GitHub-udgivelsen |
update-notes.json |
Noterne, appen viser |
reddit.txt |
Opslaget på Reddit |
discord-dm.txt, discord-announce.md |
Discord. Hver er under 1.000 tegn |
roadmap-card.json |
Kortet på køreplanen |
notes.py tager --file (en anden notefil), --map (en anden kreditliste), --out (en anden outputmappe) og --date. --check advarer om lange linjer og næsten-gentagelser.
Image-workflowet
Workflowet HolyArrs - Release starter, når et versions-tag pushes. Det har tre trin:
- Byg og push imaget til
linux/amd64,linux/arm64oglinux/arm/v7, med versions-tagget oglatest. - Opdater beskrivelsen på Docker Hub ud fra
README.md. - Udgiv GitHub-udgivelsen med denne versions afsnit i
CHANGELOG.md.
Opdateringsliste
Appen læser en signeret opdateringsliste. Hver version tilføjer sit indlæg og signerer det. Signeringsnøglen kommer aldrig i repoet. HolyArrs afviser en liste, det ikke kan verificere.
Efter en version skal du tjekke, at imagets versionslabel passer med tagget, og holde øje med nye issues den første dag:
docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' holyarrsUnraid-testskabelon
deploy/release/nas-template.py skriver en Unraid-brugerskabelon til ét bestemt image. Den henter, installerer og udgiver ingenting.
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.xmlErstat <digest> og <pool>.
| Flag | Noter |
|---|---|
--image |
Registrets manifest-digest, ikke et Docker-image-ID |
--config |
En pool-sti. Værktøjet afviser /mnt/user og /mnt/user0 |
--movies, --tv, --music, --downloads |
Valgfri. Separate stier er separate mounts, så importer kopierer |
--port |
Som standard 6262 |
--allowed-hosts |
Valgfri, værtsnavne adskilt af komma |
--output |
XML-filen, der skrives |
Skabelonen sætter PUID=99, PGID=100 og UMASK=022. Giv den konto skriveadgang til testmedierne. Læg filen i /boot/config/plugins/dockerMan/templates-user/ og vælg den under Docker > Add Container > Template (tilføj container, skabelon).
Se også
Link til Se ogsåHolyArrs er gratis. Hvis det sparede dig tid, kan du give det en stjerne på GitHub, sponsorere det eller give mig en kop kaffe.