Migration Guide
For existing users of Code Climate Quality, we’ve simplified the migration process by importing your existing Quality org, repositories, and users into Qlty. To roll out Qlty to your team, follow the steps below.
Qlty Cloud runs side-by-side with Code Climate Quality
To minimize interruptions in your workflow, Qlty can run alongside your current Quality service. You’re able to setup your new Qlty Workspace and enable all Qlty functionality with no direct impact to your current Quality setup.
Login
- Head to qlty.sh and click Sign in with GitHub.
- Login by authorizing the Qlty GitHub Application.
- The GitHub organizations you have added to Code Climate Quality will automatically appear as Qlty Workspaces. Click on your Workspace to view a list of your migrated Projects.
Recommended: Install the free Qlty CLI
Though not required, we highly recommend installing the brand new Qlty CLI.
The Qlty CLI will help you configure and run your analysis locally, allowing for faster feedback loops.
Migrating your Analysis Configuration
- View your Project’s initial results on the Issues tab
For projects containing a .codeclimate.yml, Qlty attempts to reproduce your existing configuration at build time. (This process is powered by qlty config migrate
).
The resulting configuration enables only plugins and checks which were explicitly enabled in your .codeclimate.yml. These initial Qlty results should closely resemble your existing results in Quality.
For projects which don’t contain a .codeclimate.yml, Qlty autogenerates a configuration during build time. (This process is powered by qlty init
). This autogenerated configuration enables qlty smells (the replacement for Quality’s maintainability checks), along with a wide range of new Plugins (including linters, security scanners, etc.) previously unavailable in Code Climate Quality. Because of the large number of new plugins being run, your Qlty results will include numerous issues previously not reported in Quality. Though these initial results are quite noisy, the intention is to help users discover the wide range of the newly available tools.
- Next, you can fine-tune your analysis configuration by creating a
qlty.toml
. For details, see our docs on Analysis Configuration.
Qlty supports much more granularity than in Quality. You’re now able to set different thresholds for each language in your project, or specify thresholds for different directories, etc.
As an alternative to committing a qlty.toml to your project, you can use now use the web-based Analysis Configuration within your Project Settings. (This allows you to quickly adjust and test new configurations without the need for a committed config).
If you’d like to set a single global configuration to share across many repos, see our docs on Shared Analysis Configuration.
Enable GitHub Integrations
- Once you’ve adjusted your project’s analysis configuration as desired, you can begin configuring Qlty’s Commit Statuses, known as Quality Gates.
qlty check
generates a pass/fail status on your GitHub PRs, and serves as a replacement for codeclimate/issues. Within your Project Settings, you can configure qlty check
to fail on new issues or vulnerabilities based on issue levels.
In Qlty, you can now analyze every PR within your project, and analysis is no longer limited to PRs targeting your default branch.
You’ll also find Qlty Coverage Gates and PR Review Comments to replace the similar functionality found in Quality. Additionally, Qlty offers brand new integrations for autoformatting, AI autofixes, and more.
Enable Code Coverage Reporting:
- To get started, head to our docs on Migrating Coverage Uploads.
Once you’ve begun uploading coverage reports to Qlty, you can enforce coverage code on Pull Requests using Qlty Gates, configurable within your Project Settings for Code Review.
qlty coverage diff
serves to replace the existing codeclimate/diff-coverage
status. As in Quality, you’ll see a configurable threshold for minimum diff coverage, as well a new option for Minimum Diff Size.
qlty coverage
serves to replace the existing codeclimate/total-coverage
status, and includes new configurability with the new Total Coverage Variation setting.
Updating Required Statuses
- Once you’ve enabled Qlty Commit Statuses, you can then enforce Qlty analysis by setting a required status in GitHub.
- If your GitHub repo has existing status requirements for your
codeclimate
statuses, you’ll need to remove those requirements in GitHub before uninstalling the Quality PR integrations on codeclimate.com.
Configure Workspace Settings
- In Qlty, you’ll see new Workspace-level settings for Qlty Gates, Code Review, and more. Here, you can set default configurations to apply to all projects within your Workspace.
Inviting your team
- In Qlty, user permissions are synced directly to your GitHub organization, so you’ll no longer need to manually send invites. By logging into Qlty with GitHub, they will automatically have access if they are a member of your GitHub Organization.
Spinning down Code Climate Quality
- Owners of existing Code Climate Quality orgs will receive an emailed migration notice including your specific migration timeline. On the date of your migration, your existing Code Climate Quality organization will be disabled, and existing GitHub integrations (commit statuses, PR comments, etc.) will be turned off automatically. Afterwards, you can remove any existing Code Climate Quality integrations (such as the Code Climate OAuth App, and the Code Climate GitHub App) within your GitHub settings.
Migration FAQ
Setup & Migration
1. I’m ready. How do I get started?
Follow the step-by-step instructions in this guide to migrate your repositories and configure Qlty for your organization.
2. When will Code Climate Quality be shut down?
For paid Code Climate Quality accounts, Organization Owners will receive formal migration notices including the migration timeline for your specific organization.
Features
3. Does Qlty support all of the features found in Quality?
Qlty includes nearly all of the functionality found in Code Climate Quality (and much more). See our Product Comparison for details.
Qlty supports most (but not all) of the plugins found in Code Climate Quality. For help with plugins which are no longer supported, please contact us.
User Management & Permissions
4. Why can’t I access my organization settings?
In Qlty, user permissions are synced directly to GitHub. To access organization-level settings, you’ll need Admin permission to your GitHub organization.
5. Where can I manage my users?
We’re still working on the new People Settings for the Qlty UI. For now, users can be managed directly within the Code Climate UI.
Billing
6. Is Qlty pricing similar to what I’m paying for Code Climate Quality?
The expected pricing for Qlty Cloud will be comparable to Code Climate Quality, with a modest increase.
7. Where can I manage my billing settings?
For now, billing is still managed via the Code Climate UI.
Analysis & Configuration
8. Do I need to update my analysis configuration?
We highly recommend creating a qlty.toml
to leverage the full range of Qlty’s functionality. For migrated projects containing a .codeclimate.yml
, Qlty attempts to replicate your existing configuration during analysis. For more info, head here.
For migrated projects which don’t contain a .codeclimate.yml
, Qlty uses an autogenerated configuration. Existing in-app configurations (seen in the Code Climate UI) will not be migrated to Qlty.
9. Why are my Qlty results so much different than in Quality?
If your project does not contain a .codeclimate.yml
, Qlty uses an autogenerated configuration which enables a much broader analysis than seen in Quality. Existing in-app configurations (from codeclimate.com) are not migrated.
10. Do I need to update my coverage reporting configuration?
Yes. The existing Code Climate test reporter is not supported in Qlty, so you’ll need to update your CI configuration to implement Qlty’s new coverage reporter. For more information, see our Coverage Migration Guide.
11. Will my historical data be migrated from Code Climate?
Historical data (relating to Maintainability and Test Coverage) will not be migrated from Code Climate Quality.
12. Why are my maintainability ratings different in Qlty?
It’s expected that maintainability ratings in Qlty may differ from those in Quality. Qlty’s new checks for Code Smells, Duplication, and Complexity are analogous to Code Climate Maintainability Checks, but with minor differences:
- Qlty supports a larger number of languages in Qlty than in Code Climate Quality.
- The default thresholds for Qlty checks may differ from Quality’s default thresholds.
- Qlty’s default exclusions are broader than Quality’s default exclusions.
- Qlty is git aware and excludes all files in your
.gitignore
, whereas Quality is agnostic to the.gitignore
file.