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: | if ${{ github.event_name == 'pull_request' }}; then echo "files=$(git diff --name-only -r HEAD^1 HEAD | xargs)" >> $GITHUB_OUTPUT else echo "files=$(git diff --name-only ${{ github.event.before }} ${{ github.event.after }} | xargs)" >> $GITHUB_OUTPUT fi - name: Run ShellCheck if: steps.changes.outputs.files != '' run: | echo "${{ steps.changes.outputs.files }}" | xargs shellcheck