Home Explore Blog Models CI



nixpkgs

pkgs/servers/web-apps/discourse/how_to_update.md
fa233d174ba5a5b0e074c9c844dee6acdebda4c656d167f3000000030000048c
To update discourse, do the following:

1. Switch to and work from the `master` branch and the directory this
   file is in.
2. Run `./update.py print-diffs` and update the nginx settings and
   backend settings accordingly. If you don't know how to, ask for
   help - do not skip this step!
3. Run `./update.py update`.
4. Run `nix build -L -f ../../../../ discourse.tests` to make sure the
   update works. Also test manually, if possible.
5. If the update works, commit it. If not, apply necessary fixes and
   commit. No manual fixes that would be overwritten by the
   `./update.py` script should be committed - the script should be
   fixed instead.
6. Run `./update.py update-mail-receiver`. If there's an update, do
   step 4 and 5 again.
7. Run `./update.py update-plugins`.
8. Run `nix build -L -f ../../../../ discourseAllPlugins.tests` to
   make sure the plugins build and discourse starts with them. Also
   test manually, if possible.
9. If the update works, commit it. If not, apply necessary fixes and
   commit. No manual fixes that would be overwritten by the
   `./update.py` script should be committed - the script should be
   fixed instead.

Chunks
9ec34690 (1st chunk of `pkgs/servers/web-apps/discourse/how_to_update.md`)
Title: Discourse Update Procedure
Summary
This document outlines the step-by-step process for updating 'discourse.' The procedure involves switching to the `master` branch, running `./update.py` scripts to print diffs, update the core, update the mail receiver, and update plugins. Crucially, it emphasizes updating nginx and backend settings, building and testing updates (using `nix build` and manual checks) for both the main discourse and its plugins, and committing changes only after successful verification. Any necessary fixes should be applied to the update script itself rather than committing manual changes that would be overwritten.