Skip to content
Snippets Groups Projects

Resolve "Update gem sidekiq-cron from 0.4.4 to 0.6.0 and rufus-scheduler from 3.1.10 to 3.4.0"

All threads resolved!

What does this MR do?

This MR updates sidekiq-cron from 0.4.4 to 0.6.0 and rufus-scheduler from 3.1.10 to 3.4.0. This is motivated from https://gitlab.com/gitlab-org/gitlab-ce/issues/31274#note_28257378. If we updates rufus-scheduler, we must update sidekiq-cron as well, because of sidekiq-cron has a bug with a particular version of rufus-scheduler. This MR's combination is latest and stable.

Related !10948 (merged)


Changelogs for each gem

  1. sidekiq-cron - https://github.com/ondrejbartas/sidekiq-cron/blob/master/Changes.md
  2. rufus-scheduler - https://github.com/jmettraux/rufus-scheduler/blob/master/CHANGELOG.txt
  3. et-orbi - https://github.com/floraison/et-orbi/blob/master/CHANGELOG.md
  4. tzinfo - https://github.com/tzinfo/tzinfo/blob/master/CHANGES.md

sidekiq-cron depends on rufus-scheduler. rufus-scheduler depends on et-orbi. et-orbi depends on tzinfo.

Are there points in the code the reviewer needs to double check?

Why was this MR needed?

Screenshots (if relevant)

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Closes #31554 (closed)

/cc @grzesiek @stanhu

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Shinya Maeda mentioned in merge request !10948 (merged)

    mentioned in merge request !10948 (merged)

  • Author Developer

    sidekiq_cron_dependency_spec.rb check - whether it truly detects the failure.

    Case

    • gem 'sidekiq-cron', '~> 0.4.4' (Stay)
    • gem 'rufus-scheduler', '~> 3.4' (Updated)
     > rspec /Users/shinyamaeda/Documents/gitlab/gitlab-development-kit/gitlab/spec/workers/sidekiq_cron_dependency_spec.rb
    
      1) sidekiq-cron dependency when rufus-scheduler depends on ZoTime or EoTime does not get "Rufus::Scheduler::ZoTime/EtOrbi::EoTime into an exact number"
         Failure/Error: expect{ Sidekiq::Cron::Job.all.first.should_enque?(Time.now) }.not_to raise_error
    
           expected no Exception, got #<TypeError: can't convert EtOrbi::EoTime into an exact number> with backtrace:
             # /Users/shinyamaeda/.rvm/gems/ruby-2.3.3/gems/activesupport-4.2.8/lib/active_support/core_ext/time/calculations.rb:240:in `-'

    Case

    • gem 'sidekiq-cron', '~> 0.6.0' (Updated)
    • gem 'rufus-scheduler', '~> 3.4' (Updated)
     > rspec /Users/shinyamaeda/Documents/gitlab/gitlab-development-kit/gitlab/spec/workers/sidekiq_cron_dependency_spec.rb
     1/1 |======================================================================================================== 100 =========================================================================================================>| Time: 00:00:00
    
    Finished in 0.5607 seconds (files took 16.16 seconds to load)
    1 example, 0 failures
  • Author Developer

    This MR needs to be on top of the !10948 (merged), otherwise in_time_zone fails. I'll rebase after it's been merged.

  • Shinya Maeda added 1 commit

    added 1 commit

    Compare with previous version

  • Shinya Maeda added 111 commits

    added 111 commits

    • 30bf83be...d6dfbf02 - 101 commits from branch gitlab-org:master
    • b504d111 - Fix lazy error handling of cron parser
    • dcc27380 - Add feature test, which reproduced 500
    • 48d99dd8 - Extract tzinfo from Rails timezone(Fix for servertimezone ailiases)
    • 75aba30e - Add changelog
    • 046492a6 - Add spec for sidekiq-cron dependency
    • 7480c517 - Fix spec
    • 50e35fc2 - Upgrade sidekiq-cron from 0.4.4 to 0.6.0 in order to fix rufus-scheduler exception
    • 86c5f8ae - Remove unnnecessary files, which is added in 10948
    • abfb95a8 - Fix spec
    • 8c4f097e - Move sidekiq_cron_dependency_spec.rb to spec/config/cron

    Compare with previous version

  • Shinya Maeda added 1 commit

    added 1 commit

    Compare with previous version

  • Shinya Maeda marked the checklist item Changelog entry added, if necessary as completed

    marked the checklist item Changelog entry added, if necessary as completed

  • Shinya Maeda marked the checklist item Added for this feature/bug as completed

    marked the checklist item Added for this feature/bug as completed

  • Shinya Maeda marked the checklist item Conform by the merge request performance guides as completed

    marked the checklist item Conform by the merge request performance guides as completed

  • Shinya Maeda marked the checklist item Conform by the style guides as completed

    marked the checklist item Conform by the style guides as completed

  • Shinya Maeda added 1 commit

    added 1 commit

    Compare with previous version

  • Shinya Maeda marked the checklist item Branch has no merge conflicts with master (if it does - rebase it please) as completed

    marked the checklist item Branch has no merge conflicts with master (if it does - rebase it please) as completed

  • Shinya Maeda added 1 commit

    added 1 commit

    Compare with previous version

  • Shinya Maeda resolved all discussions

    resolved all discussions

  • @dosuken123 Thanks! Can you link to the CHANGELOG for these gems? Thanks in advance!

  • Author Developer

    Thanks! Can you link to the CHANGELOG for these gems? Thanks in advance!

    Not at all :) Anyway, I couldn't understand what you meant.... I added a changelog https://gitlab.com/gitlab-org/gitlab-ce/blob/1b8f338b785af007ad4e5d0ce9339f2443fd6c24/changelogs/unreleased/31554-update-rufus-scheduler-and-sidekiq.yml in this MR. Should I add the external links of sidekiq and rufus-scheduler in the changelog?? Like, sidekiq-cron from [0.4.4](http://link) to [0.6.0](http://link)?

    I looked up Changelog entries again, however, couldn't find relevant explanation...

  • Shinya Maeda added 39 commits

    added 39 commits

    • 1b8f338b...54beb93a - 25 commits from branch gitlab-org:master
    • 15e64129 - Fix lazy error handling of cron parser
    • 7974f77b - Add feature test, which reproduced 500
    • 27bf6b45 - Extract tzinfo from Rails timezone(Fix for servertimezone ailiases)
    • 0df5b5fd - Add changelog
    • eb921cee - Add spec for sidekiq-cron dependency
    • 00e1bdc8 - Fix spec
    • 5db78992 - Upgrade sidekiq-cron from 0.4.4 to 0.6.0 in order to fix rufus-scheduler exception
    • dd538ac0 - Remove unnnecessary files, which is added in 10948
    • 178da924 - Fix spec
    • fc70cc96 - Move sidekiq_cron_dependency_spec.rb to spec/config/cron
    • cef83f83 - Move again
    • ba877b6f - Add changelog
    • c5cd8d21 - Improve spec
    • 8f22be32 - Make a space before {

    Compare with previous version

  • Shinya Maeda resolved all discussions

    resolved all discussions

  • @dosuken123 Sorry, I just meant linking to these changelogs in the merge request description so that I can check these gems changelog. ;)

  • Author Developer

    @rymai

    these changelogs

    Does that mean I should create multiple changelogs to each gem update? Like, splitting 31554-update-rufus-scheduler-and-sidekiq.yml into two 31554-update-rufus-scheduler.yml and 31554-update-sidekiq.yml

  • @dosuken123 Not at all, I just asked for links to https://github.com/ondrejbartas/sidekiq-cron/blob/master/Changes.md and https://github.com/jmettraux/rufus-scheduler/blob/master/CHANGELOG.txt so that I can review the changes and ensure these new versions won't break GitLab. :) Sorry for not being clearer.

  • Shinya Maeda added 277 commits

    added 277 commits

    • 8f22be32...907f006c - 264 commits from branch gitlab-org:master
    • 01e41c5c - Fix lazy error handling of cron parser
    • 81f81311 - Add feature test, which reproduced 500
    • fd79fd44 - Extract tzinfo from Rails timezone(Fix for servertimezone ailiases)
    • 915963b0 - Add spec for sidekiq-cron dependency
    • a3c58e7d - Fix spec
    • b11ebeee - Upgrade sidekiq-cron from 0.4.4 to 0.6.0 in order to fix rufus-scheduler exception
    • 384a4e20 - Remove unnnecessary files, which is added in 10948
    • f62cee40 - Fix spec
    • 815600c9 - Move sidekiq_cron_dependency_spec.rb to spec/config/cron
    • 28f2054c - Move again
    • 877b1903 - Add changelog
    • 1b037d68 - Improve spec
    • 5d67e512 - Make a space before {

    Compare with previous version

  • Shinya Maeda added 24 commits

    added 24 commits

    • 5d67e512...0f976727 - 10 commits from branch gitlab-org:master
    • 1a9e2a4e - Fix lazy error handling of cron parser
    • 7e2a9ead - Add feature test, which reproduced 500
    • 774316c3 - Extract tzinfo from Rails timezone(Fix for servertimezone ailiases)
    • b72acf98 - Add spec for sidekiq-cron dependency
    • 99d73d0b - Fix spec
    • 06a956eb - Upgrade sidekiq-cron from 0.4.4 to 0.6.0 in order to fix rufus-scheduler exception
    • 7f88bed8 - Remove unnnecessary files, which is added in 10948
    • 2a0a8466 - Fix spec
    • 9354ff49 - Move sidekiq_cron_dependency_spec.rb to spec/config/cron
    • d63f1742 - Move again
    • f95a775d - Add changelog
    • fc8a9410 - Improve spec
    • 8001f987 - Make a space before {
    • 1d90a544 - Respond to EoTime instance

    Compare with previous version

  • Shinya Maeda
  • Shinya Maeda resolved all discussions

    resolved all discussions

  • Shinya Maeda added 1 commit

    added 1 commit

    • 44d90968 - Move sidekiq_cron_dependency_spec.rb to spec/workers

    Compare with previous version

  • Shinya Maeda resolved all discussions

    resolved all discussions

  • @dosuken123 It seems that no pipeline has been created for the last commit, could you please create one manually?

  • Shinya Maeda added 150 commits

    added 150 commits

    • 44d90968...64014b15 - 134 commits from branch gitlab-org:master
    • baabb52a - Fix lazy error handling of cron parser
    • 25f42989 - Add feature test, which reproduced 500
    • 9802fb52 - Extract tzinfo from Rails timezone(Fix for servertimezone ailiases)
    • 28107661 - Add spec for sidekiq-cron dependency
    • d8a6b9eb - Fix spec
    • 09fefd73 - Upgrade sidekiq-cron from 0.4.4 to 0.6.0 in order to fix rufus-scheduler exception
    • 4be031fb - Remove unnnecessary files, which is added in 10948
    • f8afca99 - Fix spec
    • 9e2a796f - Move sidekiq_cron_dependency_spec.rb to spec/config/cron
    • 09aec231 - Move again
    • dd09f7b2 - Add changelog
    • 5a53564f - Improve spec
    • b897fd24 - Make a space before {
    • d67ab80b - Respond to EoTime instance
    • 3b834229 - Move sidekiq_cron_dependency_spec.rb to spec/workers
    • 1cd47952 - Move sidekiq_cron_dependency_spec.rb to spec/sidekiq/cron

    Compare with previous version

  • Shinya Maeda marked the checklist item All builds are passing as completed

    marked the checklist item All builds are passing as completed

  • Author Developer

    @rymai Pipeline passed! It's up to you whether merging this or not :thumbsup:

  • @dosuken123 Sorry about that, I was away. Please rebase / merge master, thanks!

  • changed milestone to %9.3

  • Shinya Maeda added 425 commits

    added 425 commits

    • 1cd47952...f59a44db - 411 commits from branch gitlab-org:master
    • fc19dda5 - Fix lazy error handling of cron parser
    • ca013f57 - Add spec for sidekiq-cron dependency
    • 81b02aeb - Fix spec
    • 2920fa7f - Upgrade sidekiq-cron from 0.4.4 to 0.6.0 in order to fix rufus-scheduler exception
    • 2ed60547 - Remove unnnecessary files, which is added in 10948
    • 58ef0591 - Fix spec
    • 37616a96 - Move sidekiq_cron_dependency_spec.rb to spec/config/cron
    • 8e5df62d - Move again
    • 20c54450 - Add changelog
    • f9c7107e - Improve spec
    • b745d420 - Make a space before {
    • d39e4f55 - Respond to EoTime instance
    • 5fbda59b - Move sidekiq_cron_dependency_spec.rb to spec/workers
    • 6db6e8a6 - Move sidekiq_cron_dependency_spec.rb to spec/sidekiq/cron

    Compare with previous version

  • Shinya Maeda added 1 commit

    added 1 commit

    • a917b7ec - Change trigger_schedule_worker to pipeline_schedule_worker

    Compare with previous version

  • Author Developer

    @rymai Pipeline passed again! It's up to you whether merging this or not :thumbsup:

  • username-removed-128633 approved this merge request

    approved this merge request

  • @dosuken123 Thanks, looks good to me! :heart:

  • mentioned in commit a8fb310c

  • Please register or sign in to reply
    Loading