[actions] Add shellcheck workflow
Co-authored-by: Alex Aubuchon <alex@aub.dev> Co-authored-by: Jordan Harband <ljharb@gmail.com>
parent
21c0c05130
commit
3abb98124e
|
@ -0,0 +1,31 @@
|
||||||
|
name: "Tests: shellcheck"
|
||||||
|
|
||||||
|
on: [pull_request, push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
shellcheck:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
shell:
|
||||||
|
- bash
|
||||||
|
- sh
|
||||||
|
- dash
|
||||||
|
- ksh
|
||||||
|
file:
|
||||||
|
- nvm.sh
|
||||||
|
include:
|
||||||
|
- shell: bash
|
||||||
|
file: install.sh # only supported on bash
|
||||||
|
- shell: bash
|
||||||
|
file: bash_completion # only needed in bash/zsh
|
||||||
|
- shell: bash
|
||||||
|
file: nvm-exec # only runs in bash
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Install shellcheck
|
||||||
|
run: brew install shellcheck
|
||||||
|
- run: "shellcheck --version"
|
||||||
|
- name: Run shellcheck on ${{ matrix.file }}
|
||||||
|
run: shellcheck -s ${{ matrix.shell }} ${{ matrix.file }}
|
|
@ -18,7 +18,6 @@ before_install:
|
||||||
- $SHELL --version 2> /dev/null || dpkg -s $SHELL 2> /dev/null || which $SHELL
|
- $SHELL --version 2> /dev/null || dpkg -s $SHELL 2> /dev/null || which $SHELL
|
||||||
- curl --version
|
- curl --version
|
||||||
- wget --version
|
- wget --version
|
||||||
- shellcheck --version
|
|
||||||
install:
|
install:
|
||||||
- if [ -z "${SHELLCHECK-}" ]; then nvm install node && npm install && npm prune && npm ls urchin doctoc eclint dockerfile_lint; fi
|
- if [ -z "${SHELLCHECK-}" ]; then nvm install node && npm install && npm prune && npm ls urchin doctoc eclint dockerfile_lint; fi
|
||||||
- '[ -z "$WITHOUT_CURL" ] || sudo apt-get remove curl -y'
|
- '[ -z "$WITHOUT_CURL" ] || sudo apt-get remove curl -y'
|
||||||
|
@ -27,8 +26,6 @@ script:
|
||||||
- if [ -n "${DOCTOCCHECK-}" ]; then cp README.md README.md.orig && npm run doctoc && diff -q README.md README.md.orig ; fi
|
- if [ -n "${DOCTOCCHECK-}" ]; then cp README.md README.md.orig && npm run doctoc && diff -q README.md README.md.orig ; fi
|
||||||
- if [ -n "${ECLINT-}" ]; then npm run eclint ; fi
|
- if [ -n "${ECLINT-}" ]; then npm run eclint ; fi
|
||||||
- if [ -n "${DOCKERFILE_LINT-}" ]; then npm run dockerfile_lint ; fi
|
- if [ -n "${DOCKERFILE_LINT-}" ]; then npm run dockerfile_lint ; fi
|
||||||
- if [ -n "${SHELLCHECK-}" ]; then shellcheck -s bash nvm.sh && shellcheck -s sh nvm.sh && shellcheck -s dash nvm.sh && shellcheck -s ksh nvm.sh ; fi
|
|
||||||
- if [ -n "${SHELLCHECK-}" ]; then shellcheck -s bash install.sh bash_completion nvm-exec ; fi
|
|
||||||
- if [ -n "${SHELL-}" ] && [ -n "${TEST_SUITE}" ]; then if [ "${TEST_SUITE}" = 'installation_iojs' ]; then travis_retry make TEST_SUITE=$TEST_SUITE URCHIN="$(npm bin)/urchin" test-$SHELL ; else make TEST_SUITE=$TEST_SUITE URCHIN="$(npm bin)/urchin" test-$SHELL; fi; fi
|
- if [ -n "${SHELL-}" ] && [ -n "${TEST_SUITE}" ]; then if [ "${TEST_SUITE}" = 'installation_iojs' ]; then travis_retry make TEST_SUITE=$TEST_SUITE URCHIN="$(npm bin)/urchin" test-$SHELL ; else make TEST_SUITE=$TEST_SUITE URCHIN="$(npm bin)/urchin" test-$SHELL; fi; fi
|
||||||
before_cache:
|
before_cache:
|
||||||
- if [ -n "$WITHOUT_CURL" ]; then sudo apt-get install curl -y ; fi
|
- if [ -n "$WITHOUT_CURL" ]; then sudo apt-get install curl -y ; fi
|
||||||
|
@ -43,7 +40,6 @@ env:
|
||||||
matrix:
|
matrix:
|
||||||
- MAKE_RELEASE=true
|
- MAKE_RELEASE=true
|
||||||
- DOCTOCCHECK=true
|
- DOCTOCCHECK=true
|
||||||
- SHELLCHECK=true
|
|
||||||
- ECLINT=true
|
- ECLINT=true
|
||||||
- DOCKERFILE_LINT=true
|
- DOCKERFILE_LINT=true
|
||||||
- SHELL=bash TEST_SUITE=install_script
|
- SHELL=bash TEST_SUITE=install_script
|
||||||
|
|
Loading…
Reference in New Issue