Commit graph

71 commits

Author SHA1 Message Date
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
talyz
6f26527358
discourse.plugins.discourse-data-explorer: Update 2021-08-17 18:17:50 +02:00
talyz
92b758266e
discourse.plugins.discourse-solved: Update 2021-08-17 18:17:45 +02:00
talyz
5d94e3bfc9
discourse.plugins.discourse-canned-replies: Update 2021-08-17 18:17:39 +02:00
talyz
d1a63bf19c
discourse.plugins.discourse-calendar: Update 2021-08-17 18:17:34 +02:00
talyz
c97ae4ad8e
discourse: 2.7.5 -> 2.7.7 2021-08-17 18:17:27 +02:00
Robert Hensing
fbafeb7ad5 treewide: runCommandNoCC -> runCommand
This has been synonymous for ~5y.
2021-08-15 17:36:41 +02:00
Ryan Mulligan
32e24e792c discourse/update.py: add missing plugins 2021-08-05 13:25:38 -07:00