Le job de vérification de version lève une exception sur les derniers tests réussis

Erreur de tâche : méthode indéfinie > pour nil:NilClass

Lorsque je vérifie cet attribut :

image

cet attribut n’existe pas.

Trace du backtrace :

/var/www/discourse/app/jobs/scheduled/version_check.rb:21:in `execute'
/var/www/discourse/app/jobs/base.rb:292:in `block (2 levels) in perform'
rails_multisite-5.0.0/lib/rails_multisite/connection_management.rb:82:in `with_connection'
/var/www/discourse/app/jobs/base.rb:279:in `block in perform'
/var/www/discourse/app/jobs/base.rb:275:in `each'
/var/www/discourse/app/jobs/base.rb:275:in `perform'
/var/www/discourse/app/jobs/base.rb:346:in `perform'
sidekiq-6.5.9/lib/sidekiq/processor.rb:202:in `execute_job'
sidekiq-6.5.9/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'
sidekiq-6.5.9/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:134:in `call'
sidekiq-6.5.9/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'
sidekiq-6.5.9/lib/sidekiq/middleware/chain.rb:182:in `invoke'
sidekiq-6.5.9/lib/sidekiq/processor.rb:169:in `block in process'
sidekiq-6.5.9/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
sidekiq-6.5.9/lib/sidekiq/job_retry.rb:113:in `local'
sidekiq-6.5.9/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
sidekiq-6.5.9/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'
sidekiq-6.5.9/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
sidekiq-6.5.9/lib/sidekiq/processor.rb:263:in `stats'
sidekiq-6.5.9/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
sidekiq-6.5.9/lib/sidekiq/job_logger.rb:13:in `call'
sidekiq-6.5.9/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
sidekiq-6.5.9/lib/sidekiq/job_retry.rb:80:in `global'
sidekiq-6.5.9/lib/sidekiq/processor.rb:124:in `block in dispatch'
sidekiq-6.5.9/lib/sidekiq/job_logger.rb:39:in `prepare'
sidekiq-6.5.9/lib/sidekiq/processor.rb:123:in `dispatch'
sidekiq-6.5.9/lib/sidekiq/processor.rb:168:in `process'
sidekiq-6.5.9/lib/sidekiq/processor.rb:78:in `process_one'
sidekiq-6.5.9/lib/sidekiq/processor.rb:68:in `run'
sidekiq-6.5.9/lib/sidekiq/component.rb:8:in `watchdog'
sidekiq-6.5.9/lib/sidekiq/component.rb:17:in `block in safe_thread'
5 « J'aime »

Merci @merefield - le serveur de vérification de version a nécessité quelques ajustements pour comprendre le nouveau suffixe -dev sur les numéros de version de tests-passés. Cela devrait fonctionner maintenant :

[7] pry(main)=> Discourse::VERSION::STRING
=> "3.2.0.beta1-dev"
[8] pry(main)=> DiscourseHub.discourse_version_check
=> {"success"=>"OK", "latestVersion"=>"3.1.0.beta7", "criticalUpdates"=>false, "missingVersionsCount"=>0}
4 « J'aime »

Excellent travail ! Merci David !

3 « J'aime »

Mais la dernière version n’est pas la 3.1.0 beta7, n’est-ce pas ?
Le serveur renvoie toujours la 3.0.6 pour la dernière version stable également.

4 « J'aime »

Wow ouais, tu as tout à fait raison. Le problème de compréhension du suffixe -dev a fait que le serveur n’a pas pris en compte les versions de la semaine dernière de GitHub :facepalm:. Merci @RGJ !

Sur une instance tests-passés maintenant :

[1] pry(main)=> DiscourseHub.discourse_version_check
=> {"success"=>"OK",
 "latestVersion"=>"3.1.0.beta8",
 "criticalUpdates"=>false,
 "missingVersionsCount"=>1,
 "versions"=>
  [{"version"=>"3.1.0.beta8",
    "releasedAt"=>"2023-08-01T08:59:00.000Z",
    "critical"=>false,
    "notes"=>"Read about the release here:\r\n\r\nhttps://meta.discourse.org/t/273443",
    "url"=>"http://www.discourse.org/pricing"}]}

3.1.0 est également présent sur le serveur de vérification de version maintenant, donc stable devrait être bon aussi.

4 « J'aime »

Ce sujet a été automatiquement fermé 30 jours après la dernière réponse. Les nouvelles réponses ne sont plus autorisées.