Commit graph

78 commits

Author SHA1 Message Date
github-actions[bot] c58a108aaa
Merge master into staging-next 2022-04-16 06:01:08 +00:00
Ryan Mulligan 8c33504431 discourse: 2.9.0.beta3 -> 2.9.0.beta4 2022-04-14 13:23:50 -07:00
Vladimír Čunát d5d94127fd
Merge branch 'staging-next' into staging
Minor conflicts; I hope I didn't mess up:
	pkgs/development/tools/misc/binutils/default.nix
	pkgs/games/openjk/default.nix
2022-04-14 09:53:21 +02:00
talyz d46598d4f4
discourse-mail-receiver: Add update_mail_receiver to update.py 2022-03-25 12:06:14 +01:00
talyz 9b891e6f64
discourse.plugins: Update all plugins to their latest versions 2022-03-25 12:05:55 +01:00
talyz 04afc69a29
discourse: 2.9.0.beta1 -> 2.9.0.beta3 2022-03-25 12:05:48 +01:00
Naïm Favier 9160044f5f
treewide/makeWrapper: replace --run cd with --chdir
Lay the groundwork for switching to binary wrappers by reducing uses
of `--run` (which is not supported by `makeBinaryWrapper`).
2022-03-19 09:46:31 +01:00
Ryan Mulligan c0ddbde02f discourse: 2.8.0.beta11 -> 2.9.0.beta1 2022-01-27 16:42:23 -08:00
Ryan Mulligan 3d2cb0d6a2 discourse: 2.8.0.beta10 -> 2.8.0.beta11
https://meta.discourse.org/t/2-8-0-beta11-user-will-not-be-mentioned-warning-updated-emoji-and-more/214752

Small fix to a patch but otherwise I just ran the update scripts.
2022-01-13 15:08:41 -08:00
talyz ae77e2fb78
discourse: Forward the used system and pkgs attributes to the tests
The system attribute is otherwise deduced from the system the
evaluation runs on, which could be incorrect if using remote
builders.
2021-12-23 10:34:27 +01:00
talyz 1138af5637
discourse: Add aarch64-linux to the list of platforms to be removed
...in the update script and remove it from the Gemfile.lock. Having
it there causes a failure with the error message:

Could not find libv8-node-16.10.0.0-aarch64-linux in any of the
sources (Bundler::GemNotFound)

And since we're not using the prebuilt binary packages anyway, we
don't need it there in the first place.
2021-12-23 10:24:18 +01:00
Ryan Mulligan 50832be998 discourse: 2.8.0.beta9 -> 2.8.0.beta10; update plugins 2021-12-21 15:40:12 -08:00
talyz 125bb7dac1
discourse: Don't patch the public path
Instead of patching the path to /public in Discourse's sources, make
the nginx configuration refer to the symlink in the discourse
package which points to the real path.

When there is a mismatch between the path nginx serves and the path
Discourse thinks it serves, we can run into issues like files not
being served - at least when sendfile requests from the ruby app are
processed by nginx. The issue I ran into most recently is that backup
downloads don't work.

Since Discourse refers to the public directory relative to the Rails
root in many places, it's much easier to just sync this path to the
nginx configuration than trying to patch all occurrences in the
sources. This should hopefully mean less potential for breakage in
future Discourse releases, too.
2021-12-06 14:21:39 +01:00
talyz 4fb343c87e
discourse: update.py: Improve version handling, use pinned plugins
Add a DiscourseVersion class which handles Discourse's version
numbering properly when sorting - beta versions are sorted lower than
their respective release versions. It can also return both its version
number and equivalent git tag, removing the need for `rev2version` and
manually adding `v` to the front.

Using DiscourseVersion instead of LooseVersion, we can list all
current version number tags from the `discourse` repo and sort them
correctly, giving us the latest one, regardless of type; i.e. we don't
have to filter for only release versions or beta versions anymore.

This also implements the plugin pinning algorithm laid out here:
https://meta.discourse.org/t/pinning-plugin-and-theme-versions-for-older-discourse-installs/156971
to make sure we don't upgrade plugins further than what's compatible
with our currently packaged Discourse version. While it likely won't
matter much most of the time if we continue packaging the beta
versions, it could be helpful if we decide to go back to packaging
release versions or if we run into issues with future upgrades. In
that case, the plugins could still be updated safely even though we're
not on the latest version of Discourse.
2021-12-02 11:55:07 +01:00
talyz ab042d6452
discourse.plugins: Update all plugins to their latest versions
Also, add support for updating plugins which keep gem versions in
files at the root of the repo (discourse-prometheus) and replace the
`up-plugin.sh` script with a README file pointing to the plugin
packaging documentation.
2021-12-02 10:43:14 +01:00
talyz e2415dbb8f
discourse: 2.7.9 -> 2.8.0.beta9
Update to the latest beta, since upstream advocates for it. See
https://github.com/NixOS/nixpkgs/issues/146308 for more info.
2021-12-02 10:31:00 +01:00
Ryan Mulligan 88120a1377 discourse/update.py: use nix-instantiate
The interface of `nix eval` is not stable across versions of nix that
are currently in the wild, so use the older nix-instantiate command
instead.
2021-11-16 15:59:32 -08:00
Kim Lindberger b4ef544bcd
Merge pull request #140904 from dpausp/discourse-new-plugins
Discourse: add plugins: assign, chat-integration, docs, prometheus, saved-searches
2021-10-31 12:55:26 +01:00
TredwellGit 44ffcb8362 discourse: 2.7.8 -> 2.7.9
https://nvd.nist.gov/vuln/detail/CVE-2021-41163
2021-10-28 01:56:09 +00:00
Tobias Stenzel 34ba7d2fdc discourse.plugins.discourse-voting: Init 2021-10-26 23:24:10 +02:00
Tobias Stenzel 3251a4a7d2 discourse.plugins.discourse-saved-searches: Init 2021-10-26 23:24:10 +02:00
Tobias Stenzel 7584343790 discourse.plugins.discourse-prometheus: Init 2021-10-26 23:24:10 +02:00
Tobias Stenzel 9ede32d45c discourse.plugins.discourse-docs: Init 2021-10-26 23:24:09 +02:00
Tobias Stenzel ecb1b736c7 discourse.plugins.discourse-chat-integration: Init 2021-10-26 23:24:09 +02:00
Tobias Stenzel 1ef543a549 discourse.plugins.discourse-assign: Init 2021-10-26 23:24:09 +02:00
talyz 1fb77e822b discourse: Fix the public directory path reported by Discourse
Change the path to the public directory reported by Discourse
to its real path instead of the symlink in the store, since
the store path won't be matched by any nginx rules.

Fixes #142528.
2021-10-22 23:38:53 +02:00
Maciej Krüger 4da1ca8777
Merge pull request #139936 from mkg20001/disoid 2021-10-19 16:21:00 +02:00
talyz 917a0cfe47
discourse: Make sure the notification email setting applies
Discourse normally overrides the default notification email setting,
which makes the `notificationEmailAddress` setting ineffective. Add a
patch to remove this override.

Fixes #140114.
2021-10-01 11:37:35 +02:00
Maciej Krüger de65b31b17
discourse.plugins.discourse-openid-connect: init at unstable 2021-09-29 18:10:36 +02:00
Maciej Krüger 463090378b
discourse: add up-plugin.sh 2021-09-29 18:08:49 +02:00
Kim Lindberger 454f253acf
Merge pull request #139201 from talyz/discourse-2.7.8
discourse: 2.7.7 -> 2.7.8, update plugins
2021-09-27 15:33:48 +02:00
talyz ed8c4e01d9
discourse: Enable jhead, which is no longer marked vulnerable 2021-09-27 09:58:45 +02:00
talyz e4ed6b5929
discourse.plugins.discourse-yearly-review: Update 2021-09-27 09:58:39 +02:00
talyz 957eaf8237
discourse.plugins.discourse-spoiler-alert: Update 2021-09-27 09:58:34 +02:00
talyz fd084acb95
discourse.plugins.discourse-solved: Update 2021-09-27 09:58:29 +02:00
talyz b1aa7efd36
discourse.plugins.discourse-math: Update 2021-09-27 09:58:24 +02:00
talyz 97034cfa1c
discourse.plugins.discourse-github: Update 2021-09-27 09:58:18 +02:00
Ryan Mulligan f933c68374 discourse: enable restoring backups bigger than RAM
When restoring a backup, discourse decompresses the backup archive in
the /share/discourse/tmp dir. Before this change, it is linked to /run
which is typically backed by memory, so the backup will fail to
restore if you do not have enough memory on your system to contain the
backup. This has already happened to me on two small forums.

This moves tmp to the StateDirectory /var/lib/discourse/tmp which is
typically backed by disk.
2021-09-23 09:59:31 -07:00
talyz d583001723
discourse.plugins.discourse-checklist: Update 2021-09-23 18:50:11 +02:00
talyz 1e62b64b90
discourse.plugins.discourse-canned-replies: Update 2021-09-23 18:49:48 +02:00
talyz d62ea8705b
discourse.plugins.discourse-calendar: Update 2021-09-23 18:47:43 +02:00
talyz 73e8eb91c1
discourse: 2.7.7 -> 2.7.8 2021-09-23 18:46:23 +02:00
Ryan Mulligan 70d29c5cf4 discourseAllPlugins: init discourse-ldap-auth 2021-08-18 10:12:41 -07:00
talyz 12ff4b79e4
discourse: update.py: Remove native platforms in plugin lock files..
...and add ruby.
2021-08-17 18:21:27 +02:00
talyz 04e6b03fa9
discourse.mkDiscoursePlugin: Handle repos with gems directories
Some plugin repos already have a `gems` directory. This lets the
packager choose whether it should be kept and the nix packaged ruby
gems should be copied into it or if it should be removed in favor of
our ruby gems.
2021-08-17 18:21:21 +02:00
talyz f8096460bd
discourse.plugins: Make the updater able to package plugins
Let the update.py script handle the initial, repetitive task of
packaging new plugins. With this in place, the plugin only needs to be
added to the list in `update-plugins` and most of the work will be
done automatically when the script is run. Metadata still needs to be
filled in manually and some packages may of course require additional
work/patching.
2021-08-17 18:21:15 +02:00
talyz 4197b6dd14
discourse.plugins.discourse-github: Update 2021-08-17 18:21:10 +02:00
talyz 443b318ee9
discourse: Change the path to the auto generated plugin assets
Change the path to the auto generated plugin assets, which defaults to
the plugin's directory and isn't writable at the time of asset
generation.
2021-08-17 18:21:03 +02:00
talyz 6fd5a40cca
discourse.tests: Test the appropriate discourse package
Perform the tests on the package that the `tests` attribute is a child
of, i.e. if `discourseAllPlugins.tests` is built, the tests will run
with the `discourseAllPlugins` package, not the `discourse` package as
previously.
2021-08-17 18:20:55 +02:00
talyz bb14315d51
discourse: Remove leftover link to unused plugins directory 2021-08-17 18:17:56 +02:00