name: Shellcheck on: push: branches: - main pull_request: workflow_dispatch: schedule: - cron: "5 1 * * *" jobs: shellcheck: name: Shellcheck runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Get changed files id: changes run: | echo "::set-output name=files::$(git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep '\.sh$')" - name: Run ShellCheck if: steps.changes.outputs.files != '' run: | echo "${{ steps.changes.outputs.files }}" | xargs shellcheck