How to release RawTherapee: Difference between revisions

From RawPedia
Jump to navigation Jump to search
(Updated)
No edit summary
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
<div class="pagetitle">How to Release RawTherapee</div>
# Tea
# Tea
# Pull and update
# Pull and update
# Run: <pre>./tools/generateTranslationDiffs</pre> Perform final language file updates.
# Run: <pre>./tools/generateTranslationDiffs</pre> Perform final language file updates.
# Run: <pre>dos2unix rtdata/languages/* and rtdata/profiles/*</pre>
# Run: <pre>dos2unix rtdata/languages/* rtdata/profiles/*</pre>
# Commit language files, profiles, and a new splash screen if needed.
# Update splash screen, <code>RELEASE_NOTES.txt</code>, AppData, language files, profiles, etc. Once ready, commit to new branch:
# Update RELEASE_NOTES.txt
#:<pre>
# Tag the new release: <pre>git tag -a "5.0" -m "Tagged RawTherapee 5.0"</pre>
#::git checkout -b release-5.10
# Make a source tarball and upload it to the website: <pre>./tools/generateSourceTarball</pre>
#::git commit -a -m "Preparing for release 5.10-rc1"
 
#::git push --set-upstream origin release-5.10</pre>
<!--
# Once others have revised the changes, merge this <code>release-5.10</code> branch into <code>releases</code>:
/* This commented-out section has not been updated since we used mercurial, and there's probably no need to. */
#:<pre>
 
#::git checkout releases
To find new features from the changelog more easily, use:<pre>hg log --template '- {desc}\n' -b default -r "reverse(4.0.11::4.0.12)"</pre>
#::git pull
 
#::git merge release-5.10</pre>
Running ''generateSourceTarball'' is the preferred method because it results in a tarball with metadata: <pre>./tools/generateSourceTarball 4.1</pre>If you need to make a tarball manually, use this, but beware some metadata (AboutThisBuild) will be missing: <pre style="white-space:pre-wrap;">tag="4.1"; time { hg archive --time -r ${tag} rawtherapee-${tag}.tar -X ".hg*" && xz -z -9e -T 8 rawtherapee-${tag}.tar; } && ll rawtherapee-*</pre>
# Tag and push:
#:<pre>
#::git tag -a "5.10-rc1" -m "Tagged RawTherapee 5.10-rc1"
#::git push origin "5.10-rc1"
#::git push</pre>
# Make a source tarball:<pre>./tools/generateSourceTarball</pre><pre>sha1sum rawtherapee-5.10-rc1.tar.xz > rawtherapee-5.10-rc1.tar.xz.sha1</pre>
# Over at GitHub, create a release for the new tag. Copy the description from the previous tag, updating the version as necessary. Attach the source tarball and hash file to the release: https://github.com/Beep6581/RawTherapee/tags
# Upload the source tarball and hash file to the website, to <code>shared/source</code>.
# Upload Linux/Windows/macOS installers/packages to the website, to <code>shared/builds</code>.
# Update the website, see https://gitlab.com/patdavid/rawtherapee-web/-/blob/master/README.md
## <code>cd</code> into your cloned website repo and run <code>hugo</code> (no arguments) to generate the static website in the <code>/public</code> folder.
## Log in via ssh, <code>cd rawtherapee.com/web/</code> and run <code>./danger_cleanup_hugo.sh</code> to delete the contents of the <code>public</code> folder without deleting files placed there manually and used by third-party services (screenshots for appdata, etc).
## Then upload everything from inside your local <code>public</code> folder.


# Update the changelog (replace "''4.1''" with whatever the latest tag currently is in "''reverse(4.1::tip)''"): <pre style="white-space:pre-wrap;">printf "%-12s\t" "  DATE" "| CHANGESET" "| COMMITTER"; printf "%s\n" "" "  --------------|---------------|-------------------------------------"; hg log --template '> {date|shortdate}\t| {node|short}\t| {author|person}\n  {desc|fill68}\n\n' -b default -r "reverse(4.0.12::tip)" | sed -e 's/^[^> ]/ &/' -e 's/[ ]\{0,1\}<natureh.510>//g; s/natureh.510/Hombre/g; s/natureh/Hombre/g; s/michael/Michael Ezra/g; s/dualon/Dualon/g; s/entertheyoni/DrSlony/g; s/ejmartin/Emil Martinec/g; s/wyatt/TheBigOne/g; s/google/thebluelabel/g; s/ghorvath/Gabor Horvath/g; s/ffsup2/Joker/g; s/jdc$/Jacques Desmis/g; s/jdesmis/Jacques Desmis/g; s/torger/Torger/g'</pre>
When ready for a final release (5.10, not 5.10-rc1), do as above, merge <code>release-5.10</code> into <code>releases</code>, tag <code>5.10</code>, finally deleted branch <code>release-5.10</code>. Never delete branch <code>releases</code>.


-->
Once done with the release, you may need to merge <code>releases</code> back into <code>dev</code> if new commits were made exclusively to the <code>release-5.10</code> branch. To do that,
# <code>git checkout releases</code>,
# Edit <code>RELEASE_NOTES.txt</code> and revert the contents to describe the development build (<code>git show dev:RELEASE_NOTES.txt</code>).
# Edit the splash screen in Inkscape to revert it to the dev one.
# <code>git commit -a -m "Preparing to merge back to dev"</code>
# <code>git checkout dev</code>
# <code>git merge releases</code>
# <code>git push</code>

Latest revision as of 18:37, 29 November 2022

How to Release RawTherapee
  1. Tea
  2. Pull and update
  3. Run:
    ./tools/generateTranslationDiffs
    Perform final language file updates.
  4. Run:
    dos2unix rtdata/languages/* rtdata/profiles/*
  5. Update splash screen, RELEASE_NOTES.txt, AppData, language files, profiles, etc. Once ready, commit to new branch:
    git checkout -b release-5.10
    git commit -a -m "Preparing for release 5.10-rc1"
    git push --set-upstream origin release-5.10
  6. Once others have revised the changes, merge this release-5.10 branch into releases:
    git checkout releases
    git pull
    git merge release-5.10
  7. Tag and push:
    git tag -a "5.10-rc1" -m "Tagged RawTherapee 5.10-rc1"
    git push origin "5.10-rc1"
    git push
  8. Make a source tarball:
    ./tools/generateSourceTarball
    sha1sum rawtherapee-5.10-rc1.tar.xz > rawtherapee-5.10-rc1.tar.xz.sha1
  9. Over at GitHub, create a release for the new tag. Copy the description from the previous tag, updating the version as necessary. Attach the source tarball and hash file to the release: https://github.com/Beep6581/RawTherapee/tags
  10. Upload the source tarball and hash file to the website, to shared/source.
  11. Upload Linux/Windows/macOS installers/packages to the website, to shared/builds.
  12. Update the website, see https://gitlab.com/patdavid/rawtherapee-web/-/blob/master/README.md
    1. cd into your cloned website repo and run hugo (no arguments) to generate the static website in the /public folder.
    2. Log in via ssh, cd rawtherapee.com/web/ and run ./danger_cleanup_hugo.sh to delete the contents of the public folder without deleting files placed there manually and used by third-party services (screenshots for appdata, etc).
    3. Then upload everything from inside your local public folder.

When ready for a final release (5.10, not 5.10-rc1), do as above, merge release-5.10 into releases, tag 5.10, finally deleted branch release-5.10. Never delete branch releases.

Once done with the release, you may need to merge releases back into dev if new commits were made exclusively to the release-5.10 branch. To do that,

  1. git checkout releases,
  2. Edit RELEASE_NOTES.txt and revert the contents to describe the development build (git show dev:RELEASE_NOTES.txt).
  3. Edit the splash screen in Inkscape to revert it to the dev one.
  4. git commit -a -m "Preparing to merge back to dev"
  5. git checkout dev
  6. git merge releases
  7. git push