Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable code climate engines #11750

Merged
merged 9 commits into from
Oct 7, 2016

Conversation

jrafanie
Copy link
Member

@jrafanie jrafanie commented Oct 6, 2016

This PR will enable the new (as of 2015) code climate engines

What this PR does:

  • enables rubocop and duplication engines
  • relocates our shared .rubocop.yml from the guides repo to the manageiq repo as .rubocop_base.yml since code climate doesn't support inheriting from a remote file
  • fully qualifies the cop names in the .rubocop_base.yml and sorts them
  • updates excludes based on results of files not properly excluded in my fork
  • You can review what this looks like on my repo on the code climate website
  • With the code climate browser extension, navigating code on github looks like this:
    manageiqappmodelsmiq_server at master jrafaniemanageiq 2016-10-06 12-11-39

What this PR does NOT do:

  • we will not yet comment on PRs or add a github status check for code climate

@Fryguy Fryguy changed the title Enable code climate engines [WIP] Enable code climate engines Oct 6, 2016
@Fryguy
Copy link
Member

Fryguy commented Oct 6, 2016

As a follow up, I think I also want us to add the code-climate coverage tool. Their coverage tool can only handle one suite, but if we have the coverage for even just vmdb, I'd be happy.

@miq-bot
Copy link
Member

miq-bot commented Oct 6, 2016

Checked commits jrafanie/manageiq@2ef4e09~...53c8349 with ruby 2.2.5, rubocop 0.37.2, and haml-lint 0.16.1
0 files checked, 0 offenses detected
Everything looks good. 🍪

Use languages or engines, not both, so remove the language section.

Disabled:
 * brakeman (slow)
 * bundler-audit (requires Gemfile.lock)
 * csslint (try later)
 * eslint (still failing)
 * fixme (try later)
 * markdownlint (try later)

Enabled:
 * duplication
 * rubocop
@jrafanie jrafanie force-pushed the enable_code_climate_engines branch 3 times, most recently from 706e76e to cef62e8 Compare October 6, 2016 20:30
Let's also include ones you might see when running codeclimate CLI:
tmp, .git, etc.

Note, according to [1], you need to exclude folders like this:

```
exclude_paths:
- "tests/"
- "spec/"
- "**/vendor/"
```

(without the trailing * after the slash)

[1] https://docs.codeclimate.com/docs/excluding-files-and-folders
We'll inherit from the new .rubocop_base.yml.

Note, to get a list of cops:

    rubocop --show-cops | grep -E "^[a-zA-Z]"
line, method, module, class length
ABC and perceived complexity(we're already using cyclomatic)
@jrafanie jrafanie changed the title [WIP] Enable code climate engines Enable code climate engines Oct 6, 2016
@jrafanie jrafanie added developer and removed wip labels Oct 6, 2016
@Fryguy
Copy link
Member

Fryguy commented Oct 6, 2016

Great work @jrafanie

@Fryguy Fryguy merged commit e0cf7c0 into ManageIQ:master Oct 7, 2016
@Fryguy Fryguy deleted the enable_code_climate_engines branch October 7, 2016 20:13
@Fryguy Fryguy added this to the Sprint 48 Ending Oct 24, 2016 milestone Oct 7, 2016
@Fryguy Fryguy added the euwe/no label Oct 7, 2016
carbonin added a commit to carbonin/miq_bot that referenced this pull request Oct 11, 2016
This was added in ManageIQ/manageiq#11750 so
that we could avoid inheriting from a remote repo as it is not supported
by code climate.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants