Shell Ci Build Save

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

Project README

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
Open Source Agenda is not affiliated with "Shell Ci Build" Project. README Source: caarlos0-graveyard/shell-ci-build
Stars
39
Open Issues
0
Last Commit
6 years ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating