Merge pull request #165481 from talyz/discourse-2.9.0.beta3

discourse: 2.9.0.beta1 -> 2.9.0.beta3
This commit is contained in:
Kim Lindberger 2022-04-12 10:38:16 +02:00 committed by GitHub
commit 9d12de1ab7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
39 changed files with 394 additions and 328 deletions

View File

@ -609,6 +609,7 @@ in
connection_reaper_interval = 30;
relative_url_root = null;
message_bus_max_backlog_size = 100;
message_bus_clear_every = 50;
secret_key_base = cfg.secretKeyBaseFile;
fallback_assets_path = null;
@ -655,7 +656,12 @@ in
long_polling_interval = null;
};
services.redis.enable = lib.mkDefault (cfg.redis.host == "localhost");
services.redis.servers.discourse =
lib.mkIf (lib.elem cfg.redis.host [ "localhost" "127.0.0.1" ]) {
enable = true;
bind = cfg.redis.host;
port = cfg.backendSettings.redis_port;
};
services.postgresql = lib.mkIf databaseActuallyCreateLocally {
enable = true;
@ -696,12 +702,12 @@ in
systemd.services.discourse = {
wantedBy = [ "multi-user.target" ];
after = [
"redis.service"
"redis-discourse.service"
"postgresql.service"
"discourse-postgresql.service"
];
bindsTo = [
"redis.service"
"redis-discourse.service"
] ++ lib.optionals (cfg.database.host == null) [
"postgresql.service"
"discourse-postgresql.service"

View File

@ -1,5 +1,5 @@
diff --git a/lib/tasks/admin.rake b/lib/tasks/admin.rake
index 80c403616d..cba01202ac 100644
index 37ef651f2b..b775129498 100644
--- a/lib/tasks/admin.rake
+++ b/lib/tasks/admin.rake
@@ -107,3 +107,43 @@ task "admin:create" => :environment do

View File

@ -0,0 +1,13 @@
diff --git a/lib/tasks/assets.rake b/lib/tasks/assets.rake
index 68b5db61ac..d460b5753e 100644
--- a/lib/tasks/assets.rake
+++ b/lib/tasks/assets.rake
@@ -19,7 +19,7 @@ task 'assets:precompile:before' do
if only_assets_precompile_remaining
# Using exec to free up Rails app memory during ember build
- exec "#{compile_command} && EMBER_CLI_COMPILE_DONE=1 bin/rake assets:precompile"
+ exec "#{compile_command} && EMBER_CLI_COMPILE_DONE=1 bundle exec rake assets:precompile"
else
system compile_command
end

View File

@ -1,8 +1,8 @@
diff --git a/lib/plugin/instance.rb b/lib/plugin/instance.rb
index e59a6fbc05..c773a1356e 100644
index 8482ff0210..826d111d65 100644
--- a/lib/plugin/instance.rb
+++ b/lib/plugin/instance.rb
@@ -447,7 +447,7 @@ class Plugin::Instance
@@ -455,7 +455,7 @@ class Plugin::Instance
end
def auto_generated_path

View File

@ -3,20 +3,21 @@
, ruby, replace, gzip, gnutar, git, cacert, util-linux, gawk, nettools
, imagemagick, optipng, pngquant, libjpeg, jpegoptim, gifsicle, jhead
, libpsl, redis, postgresql, which, brotli, procps, rsync, icu
, nodePackages, nodejs-16_x
, oxipng, libpsl, redis, postgresql, which, brotli, procps, rsync, icu
, fetchYarnDeps, yarn, fixup_yarn_lock, nodePackages, nodejs-14_x
, nodejs-16_x
, plugins ? []
}@args:
let
version = "2.9.0.beta1";
version = "2.9.0.beta3";
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse";
rev = "v${version}";
sha256 = "sha256-mf2Niyv1H+Zq7RfnV93O1Ul9RdRrtmtAJMBJrb8hp3U=";
sha256 = "sha256-+VYHGkISY4PFScUzk6eJ7eN9cPTjNEww/kusKcufMI0=";
};
runtimeDeps = [
@ -38,6 +39,7 @@ let
# Image optimization
imagemagick
optipng
oxipng
pngquant
libjpeg
jpegoptim
@ -157,6 +159,11 @@ let
];
};
yarnOfflineCache = fetchYarnDeps {
yarnLock = src + "/app/assets/javascripts/yarn.lock";
sha256 = "0xx5gncvb2mwpwwbgi4y320ji143i38vmz946xjcx5z3jxxjkymz";
};
assets = stdenv.mkDerivation {
pname = "discourse-assets";
inherit version src;
@ -166,6 +173,8 @@ let
redis
nodePackages.uglify-js
nodePackages.terser
yarn
nodejs-14_x
];
patches = [
@ -177,6 +186,10 @@ let
# defaults to the plugin's directory and isn't writable at the
# time of asset generation
./auto_generated_path.patch
# Fix the rake command used to recursively execute itself in the
# assets precompilation task.
./assets_rake_command.patch
];
# We have to set up an environment that is close enough to
@ -184,8 +197,21 @@ let
# run. This means that Redis and PostgreSQL has to be running and
# database migrations performed.
preBuild = ''
# Yarn wants a real home directory to write cache, config, etc to
export HOME=$NIX_BUILD_TOP/fake_home
# Make yarn install packages from our offline cache, not the registry
yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
# Fixup "resolved"-entries in yarn.lock to match our offline cache
${fixup_yarn_lock}/bin/fixup_yarn_lock app/assets/javascripts/yarn.lock
export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
yarn install --offline --cwd app/assets/javascripts/discourse
patchShebangs app/assets/javascripts/node_modules/
redis-server >/dev/null &
initdb -A trust $NIX_BUILD_TOP/postgres >/dev/null
@ -211,7 +237,7 @@ let
export RAILS_ENV=production
bundle exec rake db:migrate >/dev/null
rm -r tmp/*
chmod -R +w tmp
'';
buildPhase = ''
@ -229,6 +255,10 @@ let
runHook postInstall
'';
passthru = {
inherit yarnOfflineCache;
};
};
discourse = stdenv.mkDerivation {
@ -309,7 +339,7 @@ let
};
passthru = {
inherit rubyEnv runtimeEnv runtimeDeps rake mkDiscoursePlugin;
inherit rubyEnv runtimeEnv runtimeDeps rake mkDiscoursePlugin assets;
enabledPlugins = plugins;
plugins = callPackage ./plugins/all-plugins.nix { inherit mkDiscoursePlugin; };
ruby = rubyEnv.wrappedRuby;

View File

@ -1,8 +1,8 @@
diff --git a/app/models/site_setting.rb b/app/models/site_setting.rb
index 89a5e923fc..b60754f50a 100644
index a6641f967a..a45353504a 100644
--- a/app/models/site_setting.rb
+++ b/app/models/site_setting.rb
@@ -26,6 +26,8 @@ class SiteSetting < ActiveRecord::Base
@@ -21,6 +21,8 @@ class SiteSetting < ActiveRecord::Base
end
end

View File

@ -1,5 +1,5 @@
diff --git a/lib/plugin_gem.rb b/lib/plugin_gem.rb
index 855d1aca2c..8115623547 100644
index 49882b2cd9..96672df2ea 100644
--- a/lib/plugin_gem.rb
+++ b/lib/plugin_gem.rb
@@ -4,7 +4,7 @@ module PluginGem

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-assign";
rev = "ffe95da7ed0cf0893a76af37498784ad92041131";
sha256 = "sha256-FdZATO1Z6XmhForETZ2FC+6wfR437cpRg8QSFzmbsxQ=";
rev = "d8d2dc950a0512cc53885afbd1da26ea38fdf1e1";
sha256 = "sha256-FRq/zL+Hiu/Pd/8HDOmFW8Uoovw9so1gKbM4by3jSYg=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-docs";

View File

@ -2,7 +2,5 @@
source "https://rubygems.org"
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
# gem "rails"
gem 'rrule', '0.4.2', require: false
gem 'rrule', '0.4.4', require: false

View File

@ -1,17 +1,17 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (7.0.1)
activesupport (7.0.2.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
concurrent-ruby (1.1.9)
i18n (1.9.1)
concurrent-ruby (1.1.10)
i18n (1.10.0)
concurrent-ruby (~> 1.0)
minitest (5.15.0)
rrule (0.4.2)
activesupport (>= 4.1)
rrule (0.4.4)
activesupport (>= 2.3)
tzinfo (2.0.4)
concurrent-ruby (~> 1.0)
@ -19,7 +19,7 @@ PLATFORMS
ruby
DEPENDENCIES
rrule (= 0.4.2)
rrule (= 0.4.4)
BUNDLED WITH
2.2.24
2.3.9

View File

@ -6,8 +6,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-calendar";
rev = "765d16242ffeb4324c3269393d3fa81e9b751d4f";
sha256 = "sha256-YYxspW0DX0DUBwPOcvX2pLJYmyK4b56LdjL6avLKzRs=";
rev = "c44d348c7739f08fe026f1d67dbd902cb2f4d590";
sha256 = "sha256-+876F3/nGhqtwQn2D/v3WzqchemsocnneiYYFmjqGGo=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-calendar";

View File

@ -5,20 +5,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "02lys9pnb99hsczs551iqzjn008i8k7c728xxba7acfi9rdw9pa6";
sha256 = "1jpydd414j0fig3r0f6ci67mchclg6cq2qgqbq9zplrbg40pzfi8";
type = "gem";
};
version = "7.0.1";
version = "7.0.2.3";
};
concurrent-ruby = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f";
sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14";
type = "gem";
};
version = "1.1.9";
version = "1.1.10";
};
i18n = {
dependencies = ["concurrent-ruby"];
@ -26,10 +26,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1nancdgq51wk3c1pkxps0rkjsfdwnkx60hzkm947m5rzsz8b2sw8";
sha256 = "0b2qyvnk4yynlg17ymkq4g5xgr275637fhl1mjh0valw3cb1fhhg";
type = "gem";
};
version = "1.9.1";
version = "1.10.0";
};
minitest = {
groups = ["default"];
@ -47,10 +47,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0w338b7dgvd144fl5b8xy2lfc6zgbcjac7b4z158jc8h070yzc9v";
sha256 = "04h3q0ws0wswqj3mwjyv44yx59d9ima9a820ay9w5bwnlb73syj2";
type = "gem";
};
version = "0.4.2";
version = "0.4.4";
};
tzinfo = {
dependencies = ["concurrent-ruby"];

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-canned-replies";
rev = "8762b8d0fe28ffcacc427e7a683b971bf125a881";
sha256 = "sha256-ZAm/A45vAofiOiqXS/STt4XO3FJ6XUFyVydsFaI40+k=";
rev = "f9d1d87e352c0d1c41c1a8e4ef26b7766e39d2f1";
sha256 = "sha256-luFPwcnH6faTJV7Bhx9nnaxkK5PHI9vqhHrFO0m49mg=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-canned-replies";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-chat-integration";
rev = "ddee0c44179c547b2581474c3c4d0da7d8d23fe8";
sha256 = "sha256-8AUzIu+HRHrcAqpyI/eVrgZLTKXTLgDjXFTGQbMRzxs=";
rev = "0c367e19ca4c06ace067f1268c1a1a64d8da4253";
sha256 = "sha256-X7bkAjINzKTrWcVd9MPl51Vy6pOWp378ACJJTSihQRc=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-chat-integration";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-checklist";
rev = "c2bb6b0156e411ef3c1de52aa36b38abeba801cd";
sha256 = "sha256-p0nOdh0zg891Pe8wYhMzcbunGYJY41iVET4fFRDJt+k=";
rev = "c4f3df0d825082eeaaa3fd9fceba0258080aa6fa";
sha256 = "sha256-VGKDpu8tohMgSjMoTzhVnPLHMfLsXOejXL3bmQQ3jWM=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-checklist";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-data-explorer";
rev = "2a17f49f66feb7a3068cf6f1e4ad08550f875057";
sha256 = "sha256-LOcJle0S7Z8oGz1XgTEHiz1JNKufxege+joeinwX7xU=";
rev = "e7c19ac107dcd37618c7ac7b98530e99c7fe31db";
sha256 = "sha256-w7IzniVlSArmR58Xk9U4MLolV61w/7t1C0nMqERM9J4=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-data-explorer";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-docs";
rev = "05678c451caf2ceb192501da91cf0d24ea44c8e8";
sha256 = "sha256-C+3jaJ09P1PteeHFVfbAXxDgAa6d0RZwLdlp+NKuZJU=";
rev = "e517e69c09479654c197b1d620e6e7a5e69edca7";
sha256 = "sha256-fbkuFWyY25V3B32a7NYtTcOlBot18JZYRth6ainHDQo=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-docs";

View File

@ -2,8 +2,6 @@
source "https://rubygems.org"
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
# gem "rails"
gem 'sawyer', '0.8.2'
gem 'octokit', '4.21.0'
gem 'octokit', '4.22.0'

View File

@ -3,7 +3,7 @@ GEM
specs:
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
faraday (1.9.3)
faraday (1.10.0)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
@ -27,7 +27,7 @@ GEM
faraday-rack (1.0.0)
faraday-retry (1.0.3)
multipart-post (2.1.1)
octokit (4.21.0)
octokit (4.22.0)
faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3)
public_suffix (4.0.6)
@ -40,8 +40,8 @@ PLATFORMS
ruby
DEPENDENCIES
octokit (= 4.21.0)
octokit (= 4.22.0)
sawyer (= 0.8.2)
BUNDLED WITH
2.2.24
2.3.9

View File

@ -6,8 +6,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-github";
rev = "031dc6b512ada263eb3634eae5adfe4cdb008b4b";
sha256 = "sha256-v69RYgA5k6A3bus+Joc/NFp2DU4bwiaoCSe2xua3DgY=";
rev = "810105186dbe8441852e2df9a9fc2ae8b8516ec6";
sha256 = "sha256-96sqnvtEmm7sxFPAk6iDiYm7XChaQV+6HXZt/m5BtsI=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-github";

View File

@ -16,10 +16,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0y32gj994ll3zlcqjmwp78r7s03iiwayij6fz2pjpkfywgvp71s6";
sha256 = "00palwawk897p5gypw5wjrh93d4p0xz2yl9w93yicb4kq7amh8d4";
type = "gem";
};
version = "1.9.3";
version = "1.10.0";
};
faraday-em_http = {
groups = ["default"];
@ -138,10 +138,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ak64rb48d8z98nw6q70r6i0i3ivv61iqla40ss5l79491qfnn27";
sha256 = "1nmdd7klyinvrrv2mggwwmc99ykaq7i379j00i37hvvaqx4giifj";
type = "gem";
};
version = "4.21.0";
version = "4.22.0";
};
public_suffix = {
groups = ["default"];

View File

@ -2,8 +2,6 @@
source "https://rubygems.org"
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
# gem "rails"
gem 'pyu-ruby-sasl', '0.0.3.3', require: false
gem 'rubyntlm', '0.3.4', require: false

View File

@ -25,4 +25,4 @@ DEPENDENCIES
rubyntlm (= 0.3.4)
BUNDLED WITH
2.2.24
2.3.9

View File

@ -6,8 +6,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "jonmbake";
repo = "discourse-ldap-auth";
rev = "fe014176bd635e7df24ee2978d356e1f87d8daed";
sha256 = "sha256-1Cx+65rJx292sTfPUfbzSfJAU71V1pKWvWdLNCq8M8A=";
rev = "a7a2e35eb5a8f6ee3b90bf48424efcb2a66c9989";
sha256 = "sha256-Dsb12bZEZlNjFGw1GX7zt2hDVM9Ua+MDWSmBn4HEvs0=";
};
meta = with lib; {
homepage = "https://github.com/jonmbake/discourse-ldap-auth";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-math";
rev = "2deef48ab16bc0a15ab5f1fef98e15261251bf32";
sha256 = "sha256-Crt7ozasZ1DCwAzaH/Y6BQEXwpX6t9qsIrGYMlECylk=";
rev = "447c4811ea44d006da98dcbb6dfde142ada53567";
sha256 = "sha256-iq3wWhYhOnh+QgChEsSIlRzDmD8kXbjNerVGfuNF7uY=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-math";

View File

@ -6,8 +6,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-openid-connect";
rev = "ab26c4eaa858bf35cb6fa6314597a50fff57baf9";
sha256 = "sha256-Yxw1C0vNcVr+sYvmLvBWFV/XOr7yDBTW17Ohxfkv6W0=";
rev = "dfcdc38d77aab4010cfe032cdd4155b4ae60ed14";
sha256 = "sha256-I2cuyhA4jhhz+pJ5692/lRj6YRViP//HsoZOZjtu/e4=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-openid-connect";

View File

@ -2,7 +2,5 @@
source "https://rubygems.org"
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
# gem "rails"
gem 'prometheus_exporter', File.read(File.expand_path("../prometheus_exporter_version", __FILE__)).strip

View File

@ -10,4 +10,4 @@ DEPENDENCIES
prometheus_exporter (= 0.5.0)
BUNDLED WITH
2.2.24
2.3.9

View File

@ -6,8 +6,8 @@
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-prometheus";
rev = "1c3e2d75c33a0ed8563977d7c4919e3d06788dcd";
sha256 = "sha256-tj/IYUjuUs6foV4goIm+HACccmHjAiI1/EAOKibwUMs=";
rev = "834f8683dfae475483c50bdeec979a5fa4a1cf04";
sha256 = "sha256-M7NnXUib/iKxQT+UTqicmrZONR/Z+oXl46BNgYf1SQM=";
};
patches = [

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-saved-searches";
rev = "baf1ab94317129d2ff2eb4e5e6d84fa76c40797c";
sha256 = "sha256-6NP9TK5Wx0LPX0ZFIiaEEYJv3d9WIQ26nvODk0dU2I0=";
rev = "a7eafe288a2f93aa8cc7cf59d8173adc70c8f48a";
sha256 = "sha256-Zli+tzNxLIwp5sZome+pXqvpsvqM/kXRbe73QtH0rTc=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-saved-searches";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-solved";
rev = "922ca15fc92bfab496088b5ee240982bd8404f28";
sha256 = "sha256-s7XNRLDXnrsoB7FUgGaYIVfd7iO3ittIBoqSo2UaUTY=";
rev = "9aba2bd6b7efbea3e46158fd0b1ce96a975379d7";
sha256 = "sha256-RmYsDCDuVxXX91haljP6Jbx3s4Nl2RV6UU3PBQ/Xi7Y=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-solved";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-spoiler-alert";
rev = "5afbcb905fa2c8cb8b7156ab5df3af27d6e6b477";
sha256 = "sha256-/Y5ATVSnJ3hMNiiqqYJzitgkQ/2zbWLaPdII9agTa10=";
rev = "7382d74af57f4476004014598135aec530b0342f";
sha256 = "sha256-YyCG1bAfjJ9/itHlsZTBQgkRjgPKNKPzJopnP/Z7/NA=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-spoiler-alert";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-voting";
rev = "6a4b2a306928191c9ef9f3efdafeb9b4df496bcb";
sha256 = "sha256-OAn+NS64BcOlhmFYXV0Bq+O1B4a9FKHyN44vbHSax3Y=";
rev = "2de1fe5df1a5c25ad1e0e31e8d28adca315d9092";
sha256 = "sha256-XxrRPIc9F78wHF6p1qqUZhkPqKWSebqGZn9P5lNTDeo=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-voting";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-yearly-review";
rev = "5e3674201a32bf9e6c22417395bc2e052d9f217d";
sha256 = "sha256-gkQGLJegWTSwzpjrHPYK5/Uz4QjLUCLd6OuEIRYeP/I=";
rev = "f2224b38c96c8772ce6cc64514b8a3edaa42ebb9";
sha256 = "sha256-dJtQXaLsADXcsADzExGPj3L2x4zlNfsQCNBk17W0a5A=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-yearly-review";

View File

@ -18,7 +18,7 @@ else
# this allows us to include the bits of rails we use without pieces we do not.
#
# To issue a rails update bump the version number here
rails_version = '6.1.4.1'
rails_version = '6.1.4.7'
gem 'actionmailer', rails_version
gem 'actionpack', rails_version
gem 'actionview', rails_version
@ -105,9 +105,7 @@ gem 'omniauth-oauth2', require: false
gem 'omniauth-google-oauth2'
# Pinning oj until https://github.com/ohler55/oj/issues/699 is resolved.
# Segfaults and stuck processes after upgrading.
gem 'oj', '3.13.2'
gem 'oj'
gem 'pg'
gem 'mini_sql'
@ -135,6 +133,14 @@ gem 'cose', require: false
gem 'addressable'
gem 'json_schemer'
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.1")
# net-smtp, net-imap and net-pop were removed from default gems in Ruby 3.1
gem "net-smtp", "~> 0.2.1", require: false
gem "net-imap", "~> 0.2.1", require: false
gem "net-pop", "~> 0.1.1", require: false
gem "digest", "3.0.0", require: false
end
# Gems used only for assets and not required in production environments by default.
# Allow everywhere for now cause we are allowing asset debugging in production
group :assets do
@ -152,7 +158,6 @@ end
group :test, :development do
gem 'rspec'
gem 'mock_redis'
gem 'listen', require: false
gem 'certified', require: false
gem 'fabrication', require: false

View File

@ -8,22 +8,22 @@ GIT
GEM
remote: https://rubygems.org/
specs:
actionmailer (6.1.4.1)
actionpack (= 6.1.4.1)
actionview (= 6.1.4.1)
activejob (= 6.1.4.1)
activesupport (= 6.1.4.1)
actionmailer (6.1.4.7)
actionpack (= 6.1.4.7)
actionview (= 6.1.4.7)
activejob (= 6.1.4.7)
activesupport (= 6.1.4.7)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (6.1.4.1)
actionview (= 6.1.4.1)
activesupport (= 6.1.4.1)
actionpack (6.1.4.7)
actionview (= 6.1.4.7)
activesupport (= 6.1.4.7)
rack (~> 2.0, >= 2.0.9)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actionview (6.1.4.1)
activesupport (= 6.1.4.1)
actionview (6.1.4.7)
activesupport (= 6.1.4.7)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
@ -32,15 +32,15 @@ GEM
actionview (>= 6.0.a)
active_model_serializers (0.8.4)
activemodel (>= 3.0)
activejob (6.1.4.1)
activesupport (= 6.1.4.1)
activejob (6.1.4.7)
activesupport (= 6.1.4.7)
globalid (>= 0.3.6)
activemodel (6.1.4.1)
activesupport (= 6.1.4.1)
activerecord (6.1.4.1)
activemodel (= 6.1.4.1)
activesupport (= 6.1.4.1)
activesupport (6.1.4.1)
activemodel (6.1.4.7)
activesupport (= 6.1.4.7)
activerecord (6.1.4.7)
activemodel (= 6.1.4.7)
activesupport (= 6.1.4.7)
activesupport (6.1.4.7)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
@ -48,8 +48,8 @@ GEM
zeitwerk (~> 2.3)
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
annotate (3.1.1)
activerecord (>= 3.2, < 7.0)
annotate (3.2.0)
activerecord (>= 3.2, < 8.0)
rake (>= 10.4, < 14.0)
ast (2.4.2)
aws-eventstream (1.2.0)
@ -80,8 +80,8 @@ GEM
rack (>= 0.9.0)
binding_of_caller (1.0.0)
debug_inspector (>= 0.0.1)
bootsnap (1.9.4)
msgpack (~> 1.0)
bootsnap (1.11.1)
msgpack (~> 1.2)
builder (3.2.4)
bullet (7.0.1)
activesupport (>= 3.0.0)
@ -97,7 +97,7 @@ GEM
cose (1.2.0)
cbor (~> 0.5.9)
openssl-signature_algorithm (~> 1.0)
cppjieba_rb (0.3.3)
cppjieba_rb (0.4.2)
crack (0.4.5)
rexml
crass (1.0.6)
@ -129,14 +129,14 @@ GEM
sprockets (>= 3.3, < 4.1)
ember-source (2.18.2)
erubi (1.10.0)
excon (0.89.0)
excon (0.92.1)
execjs (2.8.1)
exifr (1.3.9)
fabrication (2.24.0)
faker (2.19.0)
i18n (>= 1.6, < 2)
fabrication (2.27.0)
faker (2.20.0)
i18n (>= 1.8.11, < 2)
fakeweb (1.3.0)
faraday (1.9.3)
faraday (1.10.0)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
@ -175,7 +175,7 @@ GEM
hkdf (0.3.0)
htmlentities (4.3.4)
http_accept_language (2.1.1)
i18n (1.8.11)
i18n (1.10.0)
concurrent-ruby (~> 1.0)
image_optim (0.31.1)
exifr (~> 1.2, >= 1.2.2)
@ -184,9 +184,9 @@ GEM
in_threads (~> 1.3)
progress (~> 3.0, >= 3.0.1)
image_size (3.0.1)
in_threads (1.5.4)
ipaddr (1.2.3)
jmespath (1.5.0)
in_threads (1.6.0)
ipaddr (1.2.4)
jmespath (1.6.1)
jquery-rails (4.4.0)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
@ -194,7 +194,7 @@ GEM
json (2.6.1)
json-schema (2.8.1)
addressable (>= 2.4)
json_schemer (0.2.18)
json_schemer (0.2.19)
ecma-re-validator (~> 0.3)
hana (~> 1.3)
regexp_parser (~> 2.0)
@ -214,38 +214,36 @@ GEM
logstash-event (1.2.02)
logstash-logger (0.26.1)
logstash-event (~> 1.2)
logster (2.10.1)
loofah (2.13.0)
logster (2.11.0)
loofah (2.15.0)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
lru_redux (1.1.0)
lz4-ruby (0.3.3)
maxminddb (0.1.22)
memory_profiler (1.0.0)
message_bus (4.0.0)
message_bus (4.2.0)
rack (>= 1.1.3)
method_source (1.0.0)
mini_mime (1.1.2)
mini_portile2 (2.6.1)
mini_racer (0.6.1)
mini_portile2 (2.8.0)
mini_racer (0.6.2)
libv8-node (~> 16.10.0.0)
mini_scheduler (0.13.0)
sidekiq (>= 4.2.3)
mini_sql (1.1.3)
mini_sql (1.4.0)
mini_suffix (0.3.3)
ffi (~> 1.9)
minitest (5.15.0)
mocha (1.13.0)
mock_redis (0.29.0)
ruby2_keywords
msgpack (1.4.2)
msgpack (1.4.5)
multi_json (1.15.0)
multi_xml (0.6.0)
multipart-post (2.1.1)
mustache (1.1.1)
nio4r (2.5.8)
nokogiri (1.12.5)
mini_portile2 (~> 2.6.1)
nokogiri (1.13.3)
mini_portile2 (~> 2.8.0)
racc (~> 1.4)
oauth (0.5.8)
oauth2 (1.4.7)
@ -254,7 +252,7 @@ GEM
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
oj (3.13.2)
oj (3.13.11)
omniauth (1.9.1)
hashie (>= 3.4.6)
rack (>= 1.6.2, < 3)
@ -282,12 +280,12 @@ GEM
openssl-signature_algorithm (1.1.1)
openssl (~> 2.0)
optimist (3.0.1)
parallel (1.21.0)
parallel (1.22.0)
parallel_tests (3.7.3)
parallel
parser (3.1.0.0)
parser (3.1.1.0)
ast (~> 2.4.1)
pg (1.2.3)
pg (1.3.4)
progress (3.6.0)
pry (0.13.1)
coderay (~> 1.1)
@ -298,14 +296,14 @@ GEM
pry-rails (0.3.9)
pry (>= 0.10.4)
public_suffix (4.0.6)
puma (5.5.2)
puma (5.6.2)
nio4r (~> 2.0)
r2 (0.2.7)
racc (1.6.0)
rack (2.2.3)
rack-mini-profiler (2.3.3)
rack-mini-profiler (3.0.0)
rack (>= 1.2.0)
rack-protection (2.1.0)
rack-protection (2.2.0)
rack
rack-test (1.1.0)
rack (>= 1.0, < 3)
@ -314,23 +312,23 @@ GEM
nokogiri (>= 1.6)
rails-html-sanitizer (1.4.2)
loofah (~> 2.3)
rails_failover (0.7.3)
activerecord (~> 6.0)
rails_failover (0.8.1)
activerecord (> 6.0, < 7.1)
concurrent-ruby
railties (~> 6.0)
rails_multisite (4.0.0)
activerecord (> 5.0, < 7)
railties (> 5.0, < 7)
railties (6.1.4.1)
actionpack (= 6.1.4.1)
activesupport (= 6.1.4.1)
railties (> 6.0, < 7.1)
rails_multisite (4.0.1)
activerecord (> 5.0, < 7.1)
railties (> 5.0, < 7.1)
railties (6.1.4.7)
actionpack (= 6.1.4.7)
activesupport (= 6.1.4.7)
method_source
rake (>= 0.13)
thor (~> 1.0)
rainbow (3.1.1)
raindrops (0.20.0)
rake (13.0.6)
rb-fsevent (0.11.0)
rb-fsevent (0.11.1)
rb-inotify (0.10.1)
ffi (~> 1.0)
rbtrace (0.4.14)
@ -339,34 +337,34 @@ GEM
optimist (>= 3.0.0)
rchardet (1.8.0)
redis (4.5.1)
redis-namespace (1.8.1)
redis-namespace (1.8.2)
redis (>= 3.0.4)
regexp_parser (2.2.0)
request_store (1.5.0)
regexp_parser (2.2.1)
request_store (1.5.1)
rack (>= 1.4)
rexml (3.2.5)
rinku (2.0.6)
rotp (6.2.0)
rqrcode (2.1.0)
rqrcode (2.1.1)
chunky_png (~> 1.0)
rqrcode_core (~> 1.0)
rqrcode_core (1.2.0)
rspec (3.10.0)
rspec-core (~> 3.10.0)
rspec-expectations (~> 3.10.0)
rspec-mocks (~> 3.10.0)
rspec-core (3.10.1)
rspec-support (~> 3.10.0)
rspec-expectations (3.10.2)
rspec (3.11.0)
rspec-core (~> 3.11.0)
rspec-expectations (~> 3.11.0)
rspec-mocks (~> 3.11.0)
rspec-core (3.11.0)
rspec-support (~> 3.11.0)
rspec-expectations (3.11.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.10.0)
rspec-support (~> 3.11.0)
rspec-html-matchers (0.9.4)
nokogiri (~> 1)
rspec (>= 3.0.0.a, < 4)
rspec-mocks (3.10.2)
rspec-mocks (3.11.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.10.0)
rspec-rails (5.0.2)
rspec-support (~> 3.11.0)
rspec-rails (5.1.1)
actionpack (>= 5.2)
activesupport (>= 5.2)
railties (>= 5.2)
@ -374,29 +372,29 @@ GEM
rspec-expectations (~> 3.10)
rspec-mocks (~> 3.10)
rspec-support (~> 3.10)
rspec-support (3.10.3)
rspec-support (3.11.0)
rss (0.2.9)
rexml
rswag-specs (2.4.0)
activesupport (>= 3.1, < 7.0)
rswag-specs (2.5.1)
activesupport (>= 3.1, < 7.1)
json-schema (~> 2.2)
railties (>= 3.1, < 7.0)
railties (>= 3.1, < 7.1)
rtlit (0.0.5)
rubocop (1.25.0)
rubocop (1.26.0)
parallel (~> 1.10)
parser (>= 3.1.0.0)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml
rubocop-ast (>= 1.15.1, < 2.0)
rubocop-ast (>= 1.16.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 3.0)
rubocop-ast (1.15.1)
parser (>= 3.0.1.1)
rubocop-ast (1.16.0)
parser (>= 3.1.1.0)
rubocop-discourse (2.5.0)
rubocop (>= 1.1.0)
rubocop-rspec (>= 2.0.0)
rubocop-rspec (2.7.0)
rubocop-rspec (2.9.0)
rubocop (~> 1.19)
ruby-prof (1.4.3)
ruby-progressbar (1.11.0)
@ -422,7 +420,7 @@ GEM
activesupport (>= 3.1)
shoulda-matchers (5.1.0)
activesupport (>= 5.2.0)
sidekiq (6.3.1)
sidekiq (6.4.1)
connection_pool (>= 2.2.2)
rack (~> 2.0)
redis (>= 4.2.0)
@ -431,7 +429,7 @@ GEM
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
simplecov-html (0.12.3)
simplecov_json_formatter (0.1.3)
simplecov_json_formatter (0.1.4)
sprockets (3.7.2)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
@ -440,7 +438,7 @@ GEM
activesupport (>= 5.2)
sprockets (>= 3.0.0)
sshkey (2.0.0)
stackprof (0.2.17)
stackprof (0.2.19)
test-prof (1.0.7)
thor (1.2.1)
tilt (2.0.10)
@ -450,12 +448,12 @@ GEM
execjs (>= 0.3.0, < 3)
unf (0.1.4)
unf_ext
unf_ext (0.0.8)
unf_ext (0.0.8.1)
unicode-display_width (2.1.0)
unicorn (6.1.0)
kgio (~> 2.6)
raindrops (~> 0.7)
uniform_notifier (1.14.2)
uniform_notifier (1.15.0)
uri_template (0.7.0)
webmock (3.14.0)
addressable (>= 2.8.0)
@ -466,20 +464,20 @@ GEM
jwt (~> 2.0)
xorcist (1.1.2)
yaml-lint (0.0.10)
zeitwerk (2.5.3)
zeitwerk (2.5.4)
PLATFORMS
ruby
DEPENDENCIES
actionmailer (= 6.1.4.1)
actionpack (= 6.1.4.1)
actionview (= 6.1.4.1)
actionmailer (= 6.1.4.7)
actionpack (= 6.1.4.7)
actionview (= 6.1.4.7)
actionview_precompiler
active_model_serializers (~> 0.8.3)
activemodel (= 6.1.4.1)
activerecord (= 6.1.4.1)
activesupport (= 6.1.4.1)
activemodel (= 6.1.4.7)
activerecord (= 6.1.4.7)
activesupport (= 6.1.4.7)
addressable
annotate
aws-sdk-s3
@ -537,11 +535,10 @@ DEPENDENCIES
mini_suffix
minitest
mocha
mock_redis
multi_json
mustache
nokogiri
oj (= 3.13.2)
oj
omniauth
omniauth-facebook
omniauth-github
@ -559,7 +556,7 @@ DEPENDENCIES
rack-protection
rails_failover
rails_multisite
railties (= 6.1.4.1)
railties (= 6.1.4.7)
rake
rb-fsevent
rbtrace
@ -601,4 +598,4 @@ DEPENDENCIES
yaml-lint
BUNDLED WITH
2.3.4
2.3.5

View File

@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "00s07l2ac5igch1g2rpa0linmiq7mhgk6v6wxkckg8gbiqijb592";
sha256 = "0rjm6rx3qbqgxczy2a8l6hff72166hsf878fy2v1ik4pp8rh9cxa";
type = "gem";
};
version = "6.1.4.1";
version = "6.1.4.7";
};
actionpack = {
dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@ -16,10 +16,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xgysqnibjsy6kdz10x2xb3kwa6lssiqhh0zggrbgs31ypwhlpia";
sha256 = "0cr02mj9wic0xbdrhjipk58cdljsfl4mplhqr9whn3l5qg8x5814";
type = "gem";
};
version = "6.1.4.1";
version = "6.1.4.7";
};
actionview = {
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@ -27,10 +27,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yf4ic5kl324rs0raralpwx24s6hvvdzxfhinafylf8f3x7jj23z";
sha256 = "02x8cxq2bhgj5r9vpdjz8a56awg22gqvnqn01dqwyx8ny6sirzac";
type = "gem";
};
version = "6.1.4.1";
version = "6.1.4.7";
};
actionview_precompiler = {
dependencies = ["actionview"];
@ -60,10 +60,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1q7c0i0kwarxgcbxk71wa9jnlg45grbxmhlrh7dk9bgcv7r7r7hn";
sha256 = "1g8dpxjzj7k3sjfjhfia21bwzmgc721lafpk2napravmq1qi0rkj";
type = "gem";
};
version = "6.1.4.1";
version = "6.1.4.7";
};
activemodel = {
dependencies = ["activesupport"];
@ -71,10 +71,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "16ixam4lni8b5lgx0whnax0imzh1dh10fy5r9pxs52n83yz5nbq3";
sha256 = "01mzgr5pdxcki023p96bj77by1iblv9bq6pwmbly931bjwhr5irv";
type = "gem";
};
version = "6.1.4.1";
version = "6.1.4.7";
};
activerecord = {
dependencies = ["activemodel" "activesupport"];
@ -82,10 +82,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ccgvlj767ybps3pxlaa4iw77n7wbriw2sr8754id3ngjfap08ja";
sha256 = "1idirwh7dzhzcjsssnghqyjl87inh84za0cmrf8g323p9qsx879l";
type = "gem";
};
version = "6.1.4.1";
version = "6.1.4.7";
};
activesupport = {
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@ -93,10 +93,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "19gx1jcq46x9d1pi1w8xq0bgvvfw239y4lalr8asm291gj3q3ds4";
sha256 = "04j9cgv729mcz2jwr312nr5aswv07s6kjynmf59w61j395dfcvw9";
type = "gem";
};
version = "6.1.4.1";
version = "6.1.4.7";
};
addressable = {
dependencies = ["public_suffix"];
@ -111,14 +111,14 @@
};
annotate = {
dependencies = ["activerecord" "rake"];
groups = ["development"];
groups = ["development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1dxrfppwfg13vqmambbs56xjj8qsdgcy58r2yc44vvy3z1g5yflw";
sha256 = "1lw0fxb5mirsdp3bp20gjyvs7clvi19jbxnrm2ihm20kzfhvlqcs";
type = "gem";
};
version = "3.1.1";
version = "3.2.0";
};
ast = {
groups = ["default" "development" "test"];
@ -252,10 +252,10 @@
}];
source = {
remotes = ["https://rubygems.org"];
sha256 = "19i4x2nascd74ahcvmrsnf03cygh1y4c9yf8rcv91fv0mcxpvb9n";
sha256 = "0bjhh8pngmvnrsri2h6a753pgv0xdkbbgi1bmv6c7q137sp37jbg";
type = "gem";
};
version = "1.9.4";
version = "1.11.1";
};
builder = {
groups = ["default" "development" "test"];
@ -382,10 +382,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1sslff7yy8jvp4rcn1b6jn9v0d3iibb68i79shgd94rs2yq8k117";
sha256 = "0ijzvnm5jclyhf6ls30kv7dqy05f3hbha69f59jwbzdid7dndla5";
type = "gem";
};
version = "0.3.3";
version = "0.4.2";
};
crack = {
dependencies = ["rexml"];
@ -573,10 +573,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0153rr745g48h48vaplgmx7xkfjbc79acpq5jsl7agdrk4yf75ih";
sha256 = "12d0xkb2qkydygs4py2z2m7vzx0hygx2dnyk98ja8lkj2k348925";
type = "gem";
};
version = "0.89.0";
version = "0.92.1";
};
execjs = {
groups = ["assets" "default"];
@ -603,10 +603,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "09b6gyqf76iflxh9v69k59xhxmrx1akdp2mbg8k8nb5rxy0sz0v6";
sha256 = "1zmak7fgis1nk9j157g2rjzxrw9prr3jzlxap9vix3xm0gkihr53";
type = "gem";
};
version = "2.24.0";
version = "2.27.0";
};
faker = {
dependencies = ["i18n"];
@ -614,10 +614,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0hb9wfxyb4ss2vl2mrj1zgdk7dh4yaxghq22gbx62yxj5yb9w4zw";
sha256 = "1694ndj701a8q4c4bwxz53kx94ih1rr4pgr4gk7a6c8k4jsbjgwi";
type = "gem";
};
version = "2.19.0";
version = "2.20.0";
};
fakeweb = {
groups = ["test"];
@ -635,10 +635,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0y32gj994ll3zlcqjmwp78r7s03iiwayij6fz2pjpkfywgvp71s6";
sha256 = "00palwawk897p5gypw5wjrh93d4p0xz2yl9w93yicb4kq7amh8d4";
type = "gem";
};
version = "1.9.3";
version = "1.10.0";
};
faraday-em_http = {
groups = ["default"];
@ -918,10 +918,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0vdd1kii40qhbr9n8qx71k2gskq6rkl8ygy8hw5hfj8bb5a364xf";
sha256 = "0b2qyvnk4yynlg17ymkq4g5xgr275637fhl1mjh0valw3cb1fhhg";
type = "gem";
};
version = "1.8.11";
version = "1.10.0";
};
image_optim = {
dependencies = ["exifr" "fspath" "image_size" "in_threads" "progress"];
@ -949,30 +949,30 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0m71806p1gm4kxiz4gvkyr8qip16hifn2kdf926jz44jj6kc6bbs";
sha256 = "0j9132d4g8prjafgdh4pw948j527kr09m2lvylrcd797il9yd9wi";
type = "gem";
};
version = "1.5.4";
version = "1.6.0";
};
ipaddr = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0s2cipiyhm1r8igc1n43py5p5r3rdz8lvagaa61jrm62prn7v5b2";
sha256 = "13qd34nzpgp3fxfjbvaqg3dcnfr0cgl5vjvcqy0hfllbvfcklnbq";
type = "gem";
};
version = "1.2.3";
version = "1.2.4";
};
jmespath = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ylph158dc3ql6cvkik00ab6gf2k1rv2dii63m196xclhkzwfyan";
sha256 = "1mnvb80cdg7fzdcs3xscv21p28w4igk5sj5m7m81xp8v2ks87jj0";
type = "gem";
};
version = "1.5.0";
version = "1.6.1";
};
jquery-rails = {
dependencies = ["rails-dom-testing" "railties" "thor"];
@ -1012,10 +1012,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1rkb7gz819g82n3xshb5g8kgv1nvgwg1lm2fk7715pggzcgc4qik";
sha256 = "03lzdfwpmywxc6l5apnhfjwl8swf9jz2ajwjgq38am0q60ggjrcf";
type = "gem";
};
version = "0.2.18";
version = "0.2.19";
};
jwt = {
groups = ["default"];
@ -1111,10 +1111,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "09l4rdq5gsnhr7ma7i5ddg8sagkqn122kz8cb244q4hyk9rwmd2w";
sha256 = "0mamk8hgdhjcd33jf1w3j2kayvpyyscysvnmbhq3mw5kjji89cam";
type = "gem";
};
version = "2.10.1";
version = "2.11.0";
};
loofah = {
dependencies = ["crass" "nokogiri"];
@ -1122,10 +1122,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "17rvbrqcci1579d7dpbsfmz1f9g7msk82lyh9ip5h29dkrnixcgg";
sha256 = "1yp1h1j7pdkqvnx8jl6bkzlajav3h5mhqzihgs9p6y3c8927mw23";
type = "gem";
};
version = "2.13.0";
version = "2.15.0";
};
lru_redux = {
groups = ["default"];
@ -1196,10 +1196,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0589k3ggj6s970mr2jaz8zfcnl5b926birwi6s3b6j3ijf2nh3s3";
sha256 = "15gazkvbqffh57if68j2p81pm52ww7j9wibbqpq8xp7c3gxqahgq";
type = "gem";
};
version = "4.0.0";
version = "4.2.0";
};
method_source = {
groups = ["default" "development" "test"];
@ -1226,10 +1226,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq";
sha256 = "0rapl1sfmfi3bfr68da4ca16yhc0pp93vjwkj7y3rdqrzy3b41hy";
type = "gem";
};
version = "2.6.1";
version = "2.8.0";
};
mini_racer = {
dependencies = ["libv8-node"];
@ -1237,10 +1237,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1j45mg8fs7i0g6ndbzd9qqs3fhq6wpvlp5s95k6mjn1as71l5l55";
sha256 = "0jf9qjz3r06asz14b6f3z7f2y437a1viqfp52sdi71ipj7dk70bs";
type = "gem";
};
version = "0.6.1";
version = "0.6.2";
};
mini_scheduler = {
dependencies = ["sidekiq"];
@ -1258,10 +1258,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yvln5wx2jfpd9q2pvjdid96vdz1ynnfk8ip913wpx28wp8ww7jn";
sha256 = "1dgwyyya821sfj4f92sljsxmmnak2yrzsbckvy82001zgq1n3b41";
type = "gem";
};
version = "1.1.3";
version = "1.4.0";
};
mini_suffix = {
dependencies = ["ffi"];
@ -1294,17 +1294,6 @@
};
version = "1.13.0";
};
mock_redis = {
dependencies = ["ruby2_keywords"];
groups = ["development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "10jj7hralc2hmvvm77w71d4dwq9ij5a1lkqyfw6z32saybzmcs99";
type = "gem";
};
version = "0.29.0";
};
msgpack = {
groups = ["default"];
platforms = [{
@ -1314,10 +1303,10 @@
}];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06iajjyhx0rvpn4yr3h1hc4w4w3k59bdmfhxnjzzh76wsrdxxrc6";
sha256 = "1cshgsx3hmpgx639xyqjqa2q3hgrhlyr9rpwhsglsx529alqq125";
type = "gem";
};
version = "1.4.2";
version = "1.4.5";
};
multi_json = {
groups = ["default"];
@ -1375,10 +1364,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b";
sha256 = "1p6b3q411h2mw4dsvhjrp1hh66hha5cm69fqg85vn2lizz71n6xz";
type = "gem";
};
version = "1.12.5";
version = "1.13.3";
};
oauth = {
groups = ["default"];
@ -1406,10 +1395,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1fh73xl58n696akgarylfdfmv6l93rfwh3csjjbljr6gvhg4qrz9";
sha256 = "0bm8sdh7vz7ss3y21v961rd8nww23w5g4yhgvnd7jk331kdjyyzl";
type = "gem";
};
version = "3.13.2";
version = "3.13.11";
};
omniauth = {
dependencies = ["hashie" "rack"];
@ -1529,10 +1518,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1hkfpm78c2vs1qblnva3k1grijvxh87iixcnyd83s3lxrxsjvag4";
sha256 = "1bncdqm62l1q8flw10gl86gcc74zm89s5vrjww73i3094jg64pam";
type = "gem";
};
version = "1.21.0";
version = "1.22.0";
};
parallel_tests = {
dependencies = ["parallel"];
@ -1551,20 +1540,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "08q20ckhn58m49lccf93p0yv7pkc7hymmcz3di762kb658d5fd38";
sha256 = "0zaghgvva2q4jqbachg8jvpwgbg3w1jqr0d00m8rqciqznjgsw3c";
type = "gem";
};
version = "3.1.0.0";
version = "3.1.1.0";
};
pg = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "13mfrysrdrh8cka1d96zm0lnfs59i5x2g6ps49r2kz5p3q81xrzj";
sha256 = "090c3kazlmiizp25las7dgi8wlc11s29nrs2gy3qrp1z8qikgcmb";
type = "gem";
};
version = "1.2.3";
version = "1.3.4";
};
progress = {
groups = ["default"];
@ -1625,10 +1614,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1xblxnrs0c5m326v7kgr32k4m00cl2ipcf5m0qvyisrw62vd5dbn";
sha256 = "1np2myaxlk5iab1zarwgmp7zsjvm5j8ssg35ijv8b6dpvc3cjd56";
type = "gem";
};
version = "5.5.2";
version = "5.6.2";
};
r2 = {
groups = ["default"];
@ -1670,10 +1659,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "03hcvjw9nrv0w6yjy2zkv4ivin9xg2wr7xfcvx7rc2msv1gmjb6z";
sha256 = "121fqk18x1bd52c2bkz8wkvv9nkgpqphj5aycnb7lkf67jkwic0h";
type = "gem";
};
version = "2.3.3";
version = "3.0.0";
};
rack-protection = {
dependencies = ["rack"];
@ -1681,10 +1670,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "159a4j4kragqh0z0z8vrpilpmaisnlz3n7kgiyf16bxkwlb3qlhz";
sha256 = "1hz6h6d67r217qi202qmxq2xkn3643ay3iybhl3dq3qd6j8nm3b2";
type = "gem";
};
version = "2.1.0";
version = "2.2.0";
};
rack-test = {
dependencies = ["rack"];
@ -1725,10 +1714,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0g3snqmsbdl2jyf2h7q4ds333hizp0j89chca75xv10gv2lq6sa8";
sha256 = "145m778yylgrjl2q7zfkq35l5sibyynlx6pyp176ifm146gbf9wf";
type = "gem";
};
version = "0.7.3";
version = "0.8.1";
};
rails_multisite = {
dependencies = ["activerecord" "railties"];
@ -1736,10 +1725,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1j44n1c19gbskzxskdipr5f6lgglpn398x9kcbpw452wwwav8rmf";
sha256 = "08fa5yq73ws536nhzd55bjx4gfvh6986zvw33rkg6ql6i8rga68y";
type = "gem";
};
version = "4.0.0";
version = "4.0.1";
};
railties = {
dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
@ -1747,10 +1736,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kwpm068cqys34p2g0j3l1g0cd5f3kxnsay5v7lmbd0sgarac0vy";
sha256 = "0g6hvhvqdmgabcpmdiby4b77ni3rsgd5p7sd1qkqj34r4an0ldyd";
type = "gem";
};
version = "6.1.4.1";
version = "6.1.4.7";
};
rainbow = {
groups = ["default" "development" "test"];
@ -1793,10 +1782,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1qsx9c4jr11vr3a9s5j83avczx9qn9rjaf32gxpc2v451hvbc0is";
sha256 = "06c50pvxib7wqnv6q0f3n7gzfcrp5chi3sa48hxpkfxc3hhy11fm";
type = "gem";
};
version = "0.11.0";
version = "0.11.1";
};
rb-inotify = {
dependencies = ["ffi"];
@ -1850,20 +1839,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0k65fr7f8ciq7d9nwc5ziw1d32zsxilgmqdlj3359rz5jgb0f5y8";
sha256 = "0ndj4lcm8rw01078zr0249grsk93zbda8qsibdvlx69b5ijg1rzf";
type = "gem";
};
version = "1.8.1";
version = "1.8.2";
};
regexp_parser = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "008yn8j44414qxhn1c0nxp4a70rq0bqhz70hnjpgx8cjh2g0makp";
sha256 = "155f6cr4rrfw5bs5xd3m5kfw32qhc5fsi4nk82rhif56rc6cs0wm";
type = "gem";
};
version = "2.2.0";
version = "2.2.1";
};
request_store = {
dependencies = ["rack"];
@ -1871,10 +1860,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0cx74kispmnw3ljwb239j65a2j14n8jlsygy372hrsa8mxc71hxi";
sha256 = "13ppgmsbrqah08j06bybd3cddv6dml79yzyjn7r8j1src78h98h7";
type = "gem";
};
version = "1.5.0";
version = "1.5.1";
};
rexml = {
groups = ["default" "development" "test"];
@ -1912,10 +1901,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0444sgvx3ahvgr3c9swpy32kcdpciwgcqahp3pb4m7d23xp1qjdc";
sha256 = "10sq4aknch9rzpy8af77rqxk8rr59d33slg1kwg9h7fw9f1spmjn";
type = "gem";
};
version = "2.1.0";
version = "2.1.1";
};
rqrcode_core = {
groups = ["default"];
@ -1933,10 +1922,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1dwai7jnwmdmd7ajbi2q0k0lx1dh88knv5wl7c34wjmf94yv8w5q";
sha256 = "19dyb6rcvgi9j2mksd29wfdhfdyzqk7yjhy1ai77559hbhpg61w9";
type = "gem";
};
version = "3.10.0";
version = "3.11.0";
};
rspec-core = {
dependencies = ["rspec-support"];
@ -1944,10 +1933,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0wwnfhxxvrlxlk1a3yxlb82k2f9lm0yn0598x7lk8fksaz4vv6mc";
sha256 = "118hkfw9b11hvvalr7qlylwal5h8dihagm9xg7k4gskg7587hca6";
type = "gem";
};
version = "3.10.1";
version = "3.11.0";
};
rspec-expectations = {
dependencies = ["diff-lcs" "rspec-support"];
@ -1955,10 +1944,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1qrj2j9jcd3m4aksk4kbv439882yl3z1harv2jrybrgjgdzdz7zs";
sha256 = "001ihayil7jpfxdlxlhakvz02kx0nk5m1w0bz6z8izdx0nc8bh53";
type = "gem";
};
version = "3.10.2";
version = "3.11.0";
};
rspec-html-matchers = {
dependencies = ["nokogiri" "rspec"];
@ -1977,10 +1966,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1d13g6kipqqc9lmwz5b244pdwc97z15vcbnbq6n9rlf32bipdz4k";
sha256 = "0y38dc66yhnfcf4ky3k47c20xak1rax940s4a96qkjxqrniy5ys3";
type = "gem";
};
version = "3.10.2";
version = "3.11.0";
};
rspec-rails = {
dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
@ -1988,20 +1977,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "152yz205p8zi5nxxhs8z581rjdvvqsfjndklkvn11f2vi50nv7n9";
sha256 = "0jj5zs9h2ll8iz699ac4bysih7y4csnf8h5h80bm6ppbf02ly8fa";
type = "gem";
};
version = "5.0.2";
version = "5.1.1";
};
rspec-support = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0pjckrh8q6sqxy38xw7f4ziylq1983k84xh927s6352pps68zj35";
sha256 = "0xfk4pla77251n39zf4n792m1rhg5sn1kp63yvpvvysany34la03";
type = "gem";
};
version = "3.10.3";
version = "3.11.0";
};
rss = {
dependencies = ["rexml"];
@ -2020,10 +2009,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1dma3j5vfjhyclg8y0gsp44vs4wn9chf4jgfhc9r6ws018xrbxzd";
sha256 = "00gm5qbf56shi655hwxzas74avsfv8b91v6i8v06i4jdw8y4qky2";
type = "gem";
};
version = "2.4.0";
version = "2.5.1";
};
rtlit = {
groups = ["assets"];
@ -2041,10 +2030,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "141ff5mdqi8an8q00qw8kchzil7ck2dzalkk3vk176l0s6hljcbj";
sha256 = "03c6v6bfqdw8vnda0if0sx7aff0iq6xnv1adyfs0bi9msgggafcr";
type = "gem";
};
version = "1.25.0";
version = "1.26.0";
};
rubocop-ast = {
dependencies = ["parser"];
@ -2052,10 +2041,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1xrij42166a71ixfpfr1pildqdrcmc0cb4906h2s8sk4kqdyngih";
sha256 = "1bd2z82ly7fix8415gvfiwzb6bjialz5rs3sr72kv1lk68rd23wv";
type = "gem";
};
version = "1.15.1";
version = "1.16.0";
};
rubocop-discourse = {
dependencies = ["rubocop" "rubocop-rspec"];
@ -2074,10 +2063,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1d76haw5gjpxlfanfzicn7sb5gziyizaksm7i999p7p5dmy5vf9q";
sha256 = "051gq9pz49iv4gq34d3n089iaa6cb418n2fhin6gd6fpysbi3nf6";
type = "gem";
};
version = "2.7.0";
version = "2.9.0";
};
ruby-prof = {
groups = ["development"];
@ -2195,10 +2184,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0k38cbwhcj9ncfzlgfmvq2zqfdvldln58w8s8v89m0jqlhnhsqhj";
sha256 = "0fq3nxpj1c9s2bi056p9cldb7zy45bgdkjq8721zypw1pkvllb7f";
type = "gem";
};
version = "6.3.1";
version = "6.4.1";
};
simplecov = {
dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"];
@ -2226,10 +2215,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "19r15hyvh52jx7fmsrcflb58xh8l7l0zx4sxkh3hqzhq68y81pjl";
sha256 = "0a5l0733hj7sk51j81ykfmlk2vd5vaijlq9d5fn165yyx3xii52j";
type = "gem";
};
version = "0.1.3";
version = "0.1.4";
};
sprockets = {
dependencies = ["concurrent-ruby" "rack"];
@ -2272,10 +2261,10 @@
}];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06lz70k8c0r7fyxk1nc3idh14x7nvsr21ydm1bsmbj00jyhmfzsn";
sha256 = "19rnk17rz0lhf7l9awy0s7xxyw91ydcqxlx0576xvwyi79jh6a2m";
type = "gem";
};
version = "0.2.17";
version = "0.2.19";
};
test-prof = {
groups = ["test"];
@ -2345,10 +2334,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0jmbimpnpjdzz8hlrppgl9spm99qh3qzbx0b81k3gkgwba8nk3yd";
sha256 = "0bf120xbq23zjyf8zi8h1576d71g58srr8rndig0whn10w72vrxz";
type = "gem";
};
version = "0.0.8";
version = "0.0.8.1";
};
unicode-display_width = {
groups = ["default" "development" "test"];
@ -2382,10 +2371,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1614dqnky0f9f1znj0lih8i184vfps86md93dw0kxrg3af9gnqb4";
sha256 = "00dj2vsz9sq5i9wnncbiy4v5vayqbssppazzigd1ibpl60pzfxkq";
type = "gem";
};
version = "1.14.2";
version = "1.15.0";
};
uri_template = {
groups = ["default"];
@ -2444,9 +2433,9 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lmg9x683gr9mkrbq9df2m0zb0650mdfxqna0bs10js44inv7znx";
sha256 = "09bq7j2p6mkbxnsg71s253dm2463kg51xc7bmjcxgyblqbh4ln7m";
type = "gem";
};
version = "2.5.3";
version = "2.5.4";
};
}

View File

@ -2,7 +2,7 @@ diff --git a/config/unicorn.conf.rb b/config/unicorn.conf.rb
index e69979adfe..68cb04a036 100644
--- a/config/unicorn.conf.rb
+++ b/config/unicorn.conf.rb
@@ -27,17 +27,9 @@ pid (ENV["UNICORN_PID_PATH"] || "#{discourse_path}/tmp/pids/unicorn.pid")
@@ -27,18 +27,10 @@ pid (ENV["UNICORN_PID_PATH"] || "#{discourse_path}/tmp/pids/unicorn.pid")
if ENV["RAILS_ENV"] != "production"
logger Logger.new(STDOUT)

View File

@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#! nix-shell -i python3 -p bundix bundler nix-update nix-universal-prefetch python3 python3Packages.requests python3Packages.click python3Packages.click-log
#! nix-shell -i python3 -p bundix bundler nix-update nix-universal-prefetch python3 python3Packages.requests python3Packages.click python3Packages.click-log prefetch-yarn-deps
from __future__ import annotations
import click
@ -104,10 +104,17 @@ class DiscourseRepo:
return self._latest_commit_sha
def get_yarn_lock_hash(self, rev: str):
yarnLockText = self.get_file('app/assets/javascripts/yarn.lock', rev)
with tempfile.NamedTemporaryFile(mode='w') as lockFile:
lockFile.write(yarnLockText)
return subprocess.check_output(['prefetch-yarn-deps', lockFile.name]).decode('utf-8').strip()
def get_file(self, filepath, rev):
"""returns file contents at a given rev :param filepath: the path to
the file, relative to the repo root :param rev: the rev to
fetch at :return:
"""Return file contents at a given rev.
:param str filepath: the path to the file, relative to the repo root
:param str rev: the rev to fetch at :return:
"""
r = requests.get(f'https://raw.githubusercontent.com/{self.owner}/{self.repo}/{rev}/{filepath}')
@ -116,7 +123,7 @@ class DiscourseRepo:
def _call_nix_update(pkg, version):
"""calls nix-update from nixpkgs root dir"""
"""Call nix-update from nixpkgs root dir."""
nixpkgs_path = Path(__file__).parent / '../../../../'
return subprocess.check_output(['nix-update', pkg, '--version', version], cwd=nixpkgs_path)
@ -215,7 +222,7 @@ def print_diffs(rev, reverse):
def update(rev):
"""Update gem files and version.
REV should be the git rev to update to ('vX.Y.Z[.betaA]') or
REV: the git rev to update to ('vX.Y.Z[.betaA]') or
'latest'; defaults to 'latest'.
"""
@ -241,12 +248,39 @@ def update(rev):
_call_nix_update('discourse', version.version)
old_yarn_hash = _nix_eval('discourse.assets.yarnOfflineCache.outputHash')
new_yarn_hash = repo.get_yarn_lock_hash(version.tag)
click.echo(f"Updating yarn lock hash, {old_yarn_hash} -> {new_yarn_hash}")
with open(Path(__file__).parent / "default.nix", 'r+') as f:
content = f.read()
content = content.replace(old_yarn_hash, new_yarn_hash)
f.seek(0)
f.write(content)
f.truncate()
@cli.command()
@click.argument('rev', default='latest')
def update_mail_receiver(rev):
"""Update discourse-mail-receiver.
REV: the git rev to update to ('vX.Y.Z') or 'latest'; defaults to
'latest'.
"""
repo = DiscourseRepo(repo="mail-receiver")
if rev == 'latest':
version = repo.versions[0]
else:
version = DiscourseVersion(rev)
_call_nix_update('discourse-mail-receiver', version.version)
@cli.command()
def update_plugins():
"""Update plugins to their latest revision.
"""
"""Update plugins to their latest revision."""
plugins = [
{'name': 'discourse-assign'},
{'name': 'discourse-calendar'},