All Projects → caarlos0-graveyard → shell-ci-build

caarlos0-graveyard / shell-ci-build

Licence: MIT license
A submodule to lint your shell projects with shellcheck in travis.ci builds

Programming Languages

shell
77523 projects
python
139335 projects - #7 most used programming language
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to shell-ci-build

mirror
A (Docker) application to mirror any website.
Stars: ✭ 13 (-66.67%)
Mutual labels:  travis, shellcheck
Lint Diff
💅 Run eslint only in the changed parts of the code
Stars: ✭ 92 (+135.9%)
Mutual labels:  lint, travis
Readable Pylint Messages
List of pylint human readable message ids and dev readable codes
Stars: ✭ 134 (+243.59%)
Mutual labels:  lint, travis
eslint-rules
My custom eslint rules in addition to the ones provided at http://eslint.org/
Stars: ✭ 94 (+141.03%)
Mutual labels:  lint
li18nt
🌎 Lint your i18n translation files. Detect conflicting properties, duplicates and make it more readable and easier to maintain by formatting it!
Stars: ✭ 29 (-25.64%)
Mutual labels:  lint
makefiles
No description or website provided.
Stars: ✭ 23 (-41.03%)
Mutual labels:  lint
html-eslint
ESLint plugin for linting HTML
Stars: ✭ 72 (+84.62%)
Mutual labels:  lint
react-testing-mocha-chai-enzyme
A solid test setup for React components with Mocha, Chai, Sinon, Enzyme in a Webpack/Babel application.
Stars: ✭ 48 (+23.08%)
Mutual labels:  travis
shellcheck-orb
An orb for ShellCheck, a static analysis tool for shell scripts (https://shellcheck.net) — check all scripts in your repository on every commit
Stars: ✭ 18 (-53.85%)
Mutual labels:  shellcheck
mini-qml
Minimal Qt deployment for Linux, Windows, macOS and WebAssembly.
Stars: ✭ 44 (+12.82%)
Mutual labels:  travis
eslint-plugin-import
ESLint plugin with rules that help validate proper imports.
Stars: ✭ 4,290 (+10900%)
Mutual labels:  lint
eslint-formatter-git-log
ESLint Formatter featuring Git Author, Date, and Hash
Stars: ✭ 36 (-7.69%)
Mutual labels:  lint
learning-lighthouse-ci
Learning Google's Lighthouse CI from scratch with a minimal template web app (quickstart)
Stars: ✭ 46 (+17.95%)
Mutual labels:  travis
standard-action
Github Action to lint with `standard` and friends
Stars: ✭ 15 (-61.54%)
Mutual labels:  lint
services
Holder of multiple npm packages
Stars: ✭ 31 (-20.51%)
Mutual labels:  lint
emacs-travis
An Emacs client for TravisCI
Stars: ✭ 28 (-28.21%)
Mutual labels:  travis
egg-ci
Auto gen ci config file
Stars: ✭ 15 (-61.54%)
Mutual labels:  travis
shell-linter
A Github Action for ShellCheck
Stars: ✭ 58 (+48.72%)
Mutual labels:  lint
k8s0
Another minimal kubernetes with ansible
Stars: ✭ 23 (-41.03%)
Mutual labels:  travis
badge-matrix
More advanced badges for projects using Travis or Sauce Labs
Stars: ✭ 77 (+97.44%)
Mutual labels:  travis

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].