GithubHelp home page GithubHelp logo

wfleming / codeclimate-shellcheck Goto Github PK

View Code? Open in Web Editor NEW
15.0 15.0 9.0 8.98 MB

codeclimate-shellcheck is a Code Climate engine that wraps ShellCheck

Home Page: https://docs.codeclimate.com/docs/shellcheck

License: GNU General Public License v3.0

Haskell 95.10% Makefile 2.28% Ruby 2.62%

codeclimate-shellcheck's People

Contributors

acook avatar filib avatar mcfilib avatar mrb avatar pbrisbin avatar wfleming avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

codeclimate-shellcheck's Issues

Locale issues

@Filib - Analyzing the repo for git (https://github.com/git/git) I came across an error:

Michaels-MBP-4:git mrb$ codeclimate analyze --dev contrib/mw-to-git/t/t9363-mw-to-git-export-import.sh
Starting analysis
Running shellcheck: Done!
error: (CC::Analyzer::Engine::EngineFailure) engine shellcheck failed with status 1 and stderr 
engine: contrib/mw-to-git/t/t9363-mw-to-git-export-import.sh: hGetContents: invalid argument (invalid byte sequence)
engine: thread blocked indefinitely in an MVar operation

It looks like from this issue elm-lang/elm-make#33 that we probably have to set the LOCALE to some flavor of UTF-8. Any thoughts on the best way to handle this?

Skipping .bash files

Hi @Filib. Abby here from Code Climate's support team.

A user reached out to us saying that shellcheck in Code Climate skipped their blip.bash file (in https://github.com/neechbear/blip/) We tested it on our end, and shellcheck also skips this file. If we change it to blip.bash.sh it shows issues in spellcheck.

Running shellcheck manually (v 0.3.3) on the command line against https://raw.githubusercontent.com/neechbear/blip/master/blip.bash shows some shellcheck warnings.

Is skipping .bash files intended?

Any insight on this would be great! Thanks.

Add mapping between `Check` constructors and remediation points

Add mapping between Check constructors and remediation points

From @mrb:

Remediation points (each error should emit a number of points which is what gets rolled into a grade)

From the spec:

The baseline remediation points value is 50,000, which is the time it takes to fix a trivial code style issue like a missing semicolon on a single line, including the time for the developer to open the code, make the change, and confidently commit the fix. All other remediation points values are expressed in multiples of that Basic Remediation Point Value.

From ShellCheck source:

data Severity = ErrorC | WarningC | InfoC | StyleC deriving (Show, Eq, Ord)

Integrate stack

This should make it easier for people to get up and running for development.

Update ShellCheck version

I'd like to make a PR updating ShellCheck to latest (0.7.0) because I'm seeing Issues on Code Climate that are incorrect due to bugs in the 0.4.6 version. I can provide details if interested, but I know the bug is fixed in my local 0.6.0 binary, so I assume updating will resolve it.

Looking at this repo, it seems the version of ShellCheck is not pinned anywhere, and so just performing an un-cached build should update things to latest. Is that correct?

If so, how do we poke Code Climate to rebuild the image? Is an implicit version desired or should we look to pin it in (I assume) the cabal file?

Better detection of shell files

From speaking to @mrb, we think we should:

  • Check files that have a .sh file extension.
  • Check files that have no extension and have a shebang with an appropriate shell.

We think we should avoid:

  • Checking the shebang for every file in a repo.

Here's what cloc does:

Scan the candidate file list for file extensions which cloc associates with programming languages (see the --show-lang and --show-ext options). Files which match are classified as containing source code for that language. Each file without an extensions is opened and its first line read to see if it is a Unix shell script (anything that begins with #!). If it is shell script, the file is classified by that scripting language (if the language is recognized). If the file does not have a recognized extension or is not a recognzied scripting language, the file is ignored.

transfer ownership

i do not currently have time to maintain this project and i'm not currently using codeclimate-shellcheck, so would like to find a new maintainer.

i'll be archiving and then deleting the repo in approx. 3 months if no one is interested in taking it on.

latest/b920 broken - libm.so.6: version `GLIBC_2.27' not found

Pipelines failing

Digest: sha256:3b3383f8f0199f8dfab9fc3a31fe003029e04c4f655d077871f0d205e5b09082
Status: Downloaded newer image for codeclimate/codeclimate-shellcheck:latest
/home/app/bin/engine: /usr/glibc-compat/lib/libm.so.6: version `GLIBC_2.27' not found (required by /home/app/bin/engine)

7 hours ago this digest worked fine:
Digest: sha256:6798eda0b248d6fb85d831553ba3300271d88d7efa5a0d987b0049baf9096795
And for extra trouble, it seems this has been deleted from the hub?
the "previous" release on the hub is now only b684 - Last updated 2 years ago ๐Ÿ˜ข

Update README

Communicate this isn't currently available on CodeClimate.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.