name: Lint On Scripts # # Run ShellCheck on all scripts and generates report as build artefact # on: workflow_dispatch: pull_request: types: [review_requested, ready_for_review] permissions: contents: read jobs: Shellcheck: name: Shell script analysis runs-on: ubuntu-latest if: ${{ github.repository_owner == 'Armbian' }} steps: - name: Checkout repository uses: actions/checkout@v3 - name: Environment variables run: sudo -E bash -c set - name: "Shellcheck lint error report in diff format" shell: bash {0} run: | (for file in $(find lib -type f -exec grep -Iq . {} \; -print); do shellcheck --format=diff $file; done;) 2> /dev/null > lib.diff || true (for file in $(find packages -type f -exec grep -Iq . {} \; -print); do shellcheck --format=diff $file; done;) 2> /dev/null > packages.diff || true (for file in $(find config -type f -exec grep -Iq . {} \; -print); do shellcheck --format=diff $file; done;) 2> /dev/null > config.diff || true - name: Upload build artifacts uses: actions/upload-artifact@v3 with: name: Shellcheck path: "*.diff" if-no-files-found: ignore retention-days: 14