Permalink
Switch branches/tags
Nothing to show
Commits on Feb 7, 2018
  1. Update README.md

    mcfilib committed Feb 7, 2018
Commits on Nov 13, 2017
  1. Update SC library (#62)

    Philip Cunningham
    Philip Cunningham committed Nov 13, 2017
    * update messages.
    * add fingerprint spec to other-modules.
    * update to latest shellcheck.
    * update api by throwing away end position.
    * get travis ci working again.
    
    #61
    koalaman/shellcheck@856d57f
Commits on Sep 25, 2016
  1. Merge pull request #54 from filib/pr-52

    Philip Cunningham
    Philip Cunningham committed Sep 25, 2016
    Analyze shellcheck-compatible scripts. (bash, dash, ash, ksh)
Commits on Sep 24, 2016
  1. get travis build working.

    mcfilib committed Sep 24, 2016
  2. add some additional tests for the additional file extensions.

    mcfilib committed Sep 24, 2016
  3. generalise file extension check and also check in shebang.

    mcfilib committed Sep 24, 2016
    note that i would have used shellcheck for this information but it does
    not export this data structure.
  4. add TAGS to gitignore.

    mcfilib committed Sep 24, 2016
Commits on Sep 18, 2016
  1. Removing zsh. Adding dash, ash, & ksh.

    acook committed Sep 18, 2016
    SH, Bash, Dash, Ash, and KSH are the only interpreters supported by ShellCheck:
    https://github.com/koalaman/shellcheck/blob/13a2070a323eab98ef54b78b22ae4c33d66d4084/ShellCheck/Parser.hs#L2594-L2598
Commits on Sep 16, 2016
  1. Don't exclude .bash/.zsh extensions.

    acook committed Sep 16, 2016
    Perhaps a better solution would be to use libmagic: https://hackage.haskell.org/package/magic-1.0.8
Commits on Mar 26, 2016
  1. Merge pull request #50 from pbrisbin/pb-fingerprint

    Philip Cunningham
    Philip Cunningham committed Mar 26, 2016
    Emit content-based fingerprints
Commits on Mar 25, 2016
  1. Emit content-based fingerprints

    pbrisbin committed Mar 23, 2016
    This engine doesn't currently output fingerprints, it relies on the
    default fingerprinting algorithm present in the CLI:
    
        md5(file-name + check-name)
    
    This algorithm is naive and doesn't work very well; there are plans to
    improve it. The problem is that any issues found by the same check in
    the same file will receive the same fingerprint.
    
    As an example, pbrisbin/aurget has 64 (conceptually) unique issues but
    only 7 unique fingerprints. Ultimately, this results in issues not
    appearing as fixed or new when they should (because the list of *unique*
    fingerprints may not change)
    
    This engine was chosen as a pilot for a new fingerprinting algorithm. If
    it goes well, something like what's implemented here will become the CLI
    default when an engine does not emit its own fingerprints.
    
    This engine was chosen for the following reasons:
    
    - Shellcheck is more susceptible to the failings of our current
      algorithm due to the nature of shell scripts (often one big file with
      many issues found by the same check)
    - While not "official", it is used often enough that we can see the
      results of our approach more than if we chose a less fequently-used
      engine
    
    The algorithm uses the content of the issue as additional entropy into
    the fingerprint:
    
        md5(file-name + check-name + content)
    
    Where content is the line or source code where the issue appears,
    stripped of all whitespace (whitespace changes should not affect
    fingerprint).
    
    The entire line is read (ignoring column information) because otherwise
    many issues would still receive the same fingerprint. Consider a source
    file with the two lines "foo = $*" and "bar = $*". These are distinct
    issues but would receive the same fingerprint if derived using column
    information (which would get you the same unquoted "$*" part in both).
Commits on Mar 22, 2016
  1. Merge pull request #48 from pbrisbin/pb-alpine

    Philip Cunningham
    Philip Cunningham committed Mar 22, 2016
    Run in alpine with glibc/gmp and a proper locale
  2. Run in alpine with glibc/gmp and a proper locale

    pbrisbin committed Mar 22, 2016
    The hGetContents exception which we tried to fix by setting LANG was not
    actually fixed. I believe this is because busybux ships with no locale
    support and so setting LANG had no effect.
    
    To fix this, I first moved to alpine which is quickly replacing busybox
    as the go-to runtime docker base image. The fix then required
    installation of an alternate glibc package to define the locale and
    allowed for installation of the gmp package instead of copying the
    library manually.
    
    The image size increases from ~26MB to ~56MB with this change.
  3. Merge pull request #47 from filib/add-codeclimate-badge

    Philip Cunningham
    Philip Cunningham committed Mar 22, 2016
    Update README.md
  4. Update README.md

    Philip Cunningham
    Philip Cunningham committed Mar 22, 2016
    add codeclimate badge to README.
Commits on Mar 21, 2016
  1. Update .codeclimate.yml

    mrb committed Mar 21, 2016
Commits on Mar 18, 2016
  1. Merge pull request #46 from wfleming/patch-1

    Philip Cunningham
    Philip Cunningham committed Mar 18, 2016
    Set LANG env var
  2. Set LANG env var

    wfleming committed Mar 18, 2016
    We've seen some files come up as unparseable on codeclimate.com with shellcheck which behave fine when run locally with `shellcheck`: we hunted it down to differences in the locale, which affects string behavior. Setting this ENV var should fix the behavior.
Commits on Mar 12, 2016
  1. Merge pull request #45 from filib/update-reeadme

    Philip Cunningham
    Philip Cunningham committed Mar 12, 2016
    Update README.md
  2. Update README.md

    Philip Cunningham
    Philip Cunningham committed Mar 12, 2016
Commits on Mar 10, 2016
  1. Merge pull request #44 from pbrisbin/master

    mrb committed Mar 10, 2016
    Fix expansion of include path directories
  2. Fix expansion of include path directories

    pbrisbin committed Mar 10, 2016
    When expanding directories in the include paths, we should expand
    everything (not just **/*.sh). The filtering step finds shell scripts by
    extension or shebang. By expanding only .sh files, we miss any scripts
    that would be found by shebang.
Commits on Mar 3, 2016
  1. Merge pull request #43 from pbrisbin/master

    mrb committed Mar 3, 2016
    Alter build process, fix stripPrefix bug
  2. Fix bug with stripPrefix

    pbrisbin committed Mar 3, 2016
    T.stripPrefix returns Nothing if the prefix is not present. That,
    combined with some over-inference, meant that Location.path was a Maybe
    value and would be Nothing if the engine emitted a path without a
    ./-prefix (which is common). Instead we emit the path as-is when it
    doesn't have that prefix.
  3. Add .dockerignore

    pbrisbin committed Mar 3, 2016
  4. Clarify build process

    pbrisbin committed Mar 3, 2016
    - In-line build and release scripts into Makefile for clarity
    - Use IMAGE_NAME, not individual CODECLIMATE_ variables
    - Don't mount my actual stack-related work directories
Commits on Jan 13, 2016
  1. Merge pull request #41 from filib/issue-22

    mrb committed Jan 13, 2016
    Issue 22
Commits on Jan 12, 2016
  1. Strip leading ./

    mrb committed Jan 12, 2016
  2. Add b

    mrb committed Jan 12, 2016
  3. Use env vars for engine name

    mrb committed Jan 12, 2016
Commits on Dec 28, 2015
  1. rename var.

    mcfilib committed Dec 28, 2015
  2. fix travis.

    mcfilib committed Dec 28, 2015