Skip to content
GitLab Next
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • GitLab FOSS GitLab FOSS
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1
    • Merge requests 1
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.org
  • GitLab FOSSGitLab FOSS
  • Issues
  • #51719
Closed
Open
Created Sep 20, 2018 by Mek Stittri@meksMaintainer

Testplan for rolling out rails5 into production

Test Plan

This issue outlines testing activities related to https://gitlab.com/gitlab-org/gitlab-ce/issues/48991

Introduction

We are enabling Rails 5 in production.

Rails 5 touches on many things and we need to ensure that we don't cause any unintended regressions.

  • "extended testing" beyond running gitlab-qa tests
  • Our automated QA task doesn't have a full coverage. We need to also determine what are the manual gaps.
  • A good reference is to look at the GCP Migration Test Plan https://drive.google.com/drive/folders/1UBHpy4B0mhzsswJmPFahlf4bgSeYiViO

Scope

State any limits on aspects of the feature being tested
Outline the types of data to be included
Outline the types of tests to be performed (functional, security, performance,
database, automated, etc) 

Test plan

Created a upgrade capability matrix for this migration that I am using to monitor the upgrades.

We're looking great on the Rails 4->5 upgrade path

Capability Covered Link(s) Notes
5.1 Ruby 2.2.2+ required Y .ruby-version is 2.4.4 ( > 2.2.2 )
5.2 Active Record Models Now Inherit from ApplicationRecord by Default I https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/17882
5.3 Halting Callback Chains via throw(:abort) ? "Most callbacks i've found were either passive (they initialize some variable) or they return `nil'.
According to the documentation if the callback returns `false' there needs to be a change. Is nil' going to be the same as false' to the callbacks?"
5.4 ActiveJob Now Inherits from ApplicationJob by Default ? Looks like we do not use ActiveJobs. there is no `jobs/' directory in the app/ dir.
5.5 Rails Controller Testing Y https://gitlab.com/gitlab-org/gitlab-ce/issues/52591 We use `assigns' in quite a few places. Issue created. Closed. We have the supplemental gem in the Gemfile
5.6 Autoloading is Disabled After Booting in the Production Environment ?
5.7 XML Serialization Y "As far as i can tell there are no usages of ActiveModel::Serializers::Xml"
5.8 Removed Support for Legacy mysql Database Adapter Y We are already using only mysql2. No occurences of mysql
5.9 Removed Support for Debugger Y We already use byebug and no debugger
5.10 Use rails for running tasks and tests Y
5.11 ActionController::Parameters No Longer Inherits from HashWithIndifferentAccess ? Unknown. will have to ask a dev
5.12 protect_from_forgery Now Defaults to prepend: false Y All protect_from_forgery statements have prepend: true
5.13 Default Template Handler is Now RAW Y
5.14 Added Wildcard Matching for Template Dependencies Y Meta
5.15 ActionView::Helpers::RecordTagHelper moved to external gem (record_tag_helper) Y No uses of content_tag_for or div_for. we are already using content_tag exclusively
5.16 Removed Support for protected_attributes Gem Y We do not use protected_attributes gem
5.17 Removed support for activerecord-deprecated_finders gem Y "We do not use activerecord-deprecated_finders gem (though some search results popped up in the qa/ dir regarding it had shown up."
5.18 ActiveSupport::TestCase Default Test Order is Now Random Y
5.19 ActionController::Live became a Concern Y We aren't using ActionController::Live
5.20 New Framework Defaults ? / Y "What about
- config.action_mailer.deliver_later_queue_name = :new_queue_name
- config.action_mailer.perform_caching
"
5.21 Changes with JSON/JSONB serialization ?

There are a few ?'s that i would like to discuss with a developer to ensure this coverage.

As far as the tests go - i will use the full suite to run against the Rails 5 instance.

Edited Nov 14, 2018 by Mek Stittri
Assignee
Assign to
Time tracking