Gå til innholdet

Utgivelse av versjoner

Ekspert

Gjør et testet bygg om til en versjon. Denne siden er for vedlikeholdere.

  • Alle sjekkene i Testing går gjennom, også en full ende-til-ende-kjøring og de lange kjøringene og feilkjøringene.
  • CHANGELOG.md har den nye versjonen.
  • Python 3 er installert for utgivelsesskriptene.
  1. Skriv releases/notes-<version>.toml, for eksempel releases/notes-1.0.0.toml. Se Notatfilen for versjonen.

  2. Sjekk den:

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

    Du skal ikke se noen feil. Et forbudt ord, en tankestrek, en dato, lanseringssnakk eller en gjentatt høydepunktsak gir exit 1.

  3. Bygg tekstene for versjonen:

    Terminal window
    python deploy/release/notes.py 1.0.0

    Du skal finne 7 filer i releases/out/1.0.0/.

  4. Bygg imaget og start det på en fersk konfigurasjonsmappe:

    Terminal window
    docker build --file deploy/Dockerfile .

    Du skal se veiviseren ved første oppstart.

  5. Kjør alle sjekkene i Testing på maskinen din. Testene kjører lokalt, ikke på GitHub.

  6. Gi versjonen videre til vedlikeholderen. Vedlikeholderen pusher versjonstaggen på main, og det starter utgivelsen.

Lenke til Navn på versjon og tagg
Ting Navn
Git-tagg (pushes av vedlikeholderen) 1.0.0 (vanlige tall, ingen v)
Image-tagg og version i notatene 1.0.0

Arbeidsflyten starter bare for en X.Y.Z-tagg og stopper når taggen er forskjellig fra filen VERSION.

Hver versjon pusher versjonstaggen sin og :latest.

Trekk en versjon tilbake

Lenke til Trekk en versjon tilbake
  1. Push neste versjon med rettelsen.
  2. Merk den dårlige versjonen i oppdateringslisten, så installasjoner ikke tilbyr den.
  3. Behold taggen.

Hvis det ikke fungerer

Lenke til Hvis det ikke fungerer

Symptom. notes.py --check gir exit 1. Årsak. Notatfilen bryter en regel. Meldingen nevner linjen. Løsning. Rediger notatfilen, aldri filene i releases/out, og kjør den på nytt.

Symptom. Arbeidsflyten stopper med VERSION says. Årsak. Taggen og filen VERSION er forskjellige. Løsning. Rett VERSION på main og push neste versjonstagg.

Notatfilen for versjonen

Hver tekst for versjonen kommer fra én fil. Rediger aldri for hånd det den bygger.

Felt Innhold
version Vanlig X.Y.Z
theme Én linje
images Liste med {registry, name}. Bare Docker Hub holyarrs/holyarrs
docs_url Valgfri. Tom betyr ingen lenke til doksene
[[highlights]] Nøyaktig 3, hver med line, issues og shot. Sakene deres står ikke i noen gruppelinje
[groups] Linjer per sted. New er standard. Andre starter med Changed: , Fixed: eller Docs: . Hver slutter med saken sin, for eksempel (#46). Et sted med under 3 linjer havner under Also new
Valgfritt [before_you_update] (breaking, manual_steps, backup, rollback), security, known_issues, credits, [stats]. Tomme deler skjules

Bruk et GitHub-brukernavn bare når det er kjent, i notatfilen eller i releases/credits-map.json.

Rekkefølgen i teksten: tema, Highlights, steder (Requests, Library, Downloads, Indexers, Accounts, Health, Setup, Install), Also new, Security, Known issues, Before you update, Image, Thanks, statistikklinje.

Utdata i releases/out/<version>/ Brukes til
changelog.md Oppføringen i endringsloggen
github.md Teksten til GitHub-versjonen
update-notes.json Notatene appen viser
reddit.txt Reddit-innlegget
discord-dm.txt, discord-announce.md Discord. Hver er under 1000 tegn
roadmap-card.json Veikortet

notes.py tar --file (en annen notatfil), --map (et annet kredittkart), --out (en annen utdatamappe) og --date. --check advarer om lange linjer og nesten like linjer.

Arbeidsflyten for imaget

Arbeidsflyten HolyArrs - Release starter når en versjonstagg pushes. Den har tre trinn:

  1. Bygg og push imaget for linux/amd64, linux/arm64 og linux/arm/v7, med versjonstaggen og latest.
  2. Oppdater beskrivelsen på Docker Hub fra README.md.
  3. Publiser GitHub-versjonen med CHANGELOG.md-delen for denne versjonen.
Oppdateringsliste

Appen leser en signert oppdateringsliste. Hver versjon legger til sin oppføring og signerer den. Signeringsnøkkelen havner aldri i repoet. HolyArrs avviser en liste det ikke kan verifisere.

Etter en versjon, sjekk at versjonsetiketten på imaget stemmer med taggen, og følg med på nye saker den første dagen:

Terminal window
docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' holyarrs
Unraid-testmal

deploy/release/nas-template.py skriver en Unraid-brukermal for ett bestemt image. Den henter, installerer og publiserer ingenting.

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

Bytt ut <digest> og <pool>.

Flagg Merknader
--image Manifest-digesten fra registeret, ikke en Docker image-ID
--config En pool-sti. Verktøyet avviser /mnt/user og /mnt/user0
--movies, --tv, --music, --downloads Valgfrie. Egne stier er egne mounts, så importer kopierer
--port Som standard 6262
--allowed-hosts Valgfri, vertsnavn adskilt med komma
--output XML-filen som skrives

Malen setter PUID=99, PGID=100 og UMASK=022. Gi den kontoen skrivetilgang til testmediene. Legg filen i /boot/config/plugins/dockerMan/templates-user/ og velg den under Docker > Add Container > Template.

HolyArrs er gratis. Hvis det sparte deg tid, kan du gi det en stjerne på GitHub, sponse det eller spandere en kaffe.