Skip to content

A submodule to lint your shell projects with shellcheck in travis.ci builds

License

Notifications You must be signed in to change notification settings

caarlos0-graveyard/shell-ci-build

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

shell-ci-build Build Status SayThanks.io

A submodule to lint your shell projects with shellcheck in travis.ci builds.

Build

  • The install.sh script will install shellckeck.
  • The build.sh will lint all executable files with shellcheck, avoiding Ruby, compdef and the like files. It will also ignore all files inside .git directory and files of your gitmodules, if any.

Usage

git submodule add https://github.com/caarlos0/shell-ci-build.git build
cp build/travis.yml.example .travis.yml

Or tweak your .travis.yml to be like this:

language: bash
install:
  - ./build/install.sh
script:
  - ./build/build.sh

Customizing

You might want to lint other files, to do that, you need your own build.sh and a slight change in .travis.yml file.

Example (from my dotfiles):

#!/usr/bin/env bash
set -eo pipefail
source ./build/build.sh
check "./zsh/zshrc.symlink"
language: bash
install:
  - ./build/install.sh
script:
  - ./build.sh
notifications:
  email: false

This will make travis ran the build.sh from this project first, then, lint your custom files.

You can also override the find_cmd function, which returns a string containing the find command to eval. Check the source or open an issue if you have any problems.

Updating

Update your projects is easy. Just run this:

git submodule update --remote --merge && \
  git commit -am 'updated shell-ci-build version' && \
  git push

About

A submodule to lint your shell projects with shellcheck in travis.ci builds

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •