name: ShellCheck

on:
  workflow_dispatch:
  push:
    branches:
      - master
      - main
    paths-ignore:
      - '**.gitignore'
      - '**.md'
      - 'LICENSE'
      - '**.conf'
      - '**.service'
      - '**.timer'
      - '**.path'
      - '**.list'
  pull_request:
    paths-ignore:
      - '**.gitignore'
      - '**.md'
      - 'LICENSE'
      - '**.conf'
      - '**.service'
      - '**.timer'
      - '**.path'
      - '**.list'

jobs:
  shellcheck:
    name: Shell syntax checker
    runs-on: ubuntu-24.04
    permissions:
      contents: read
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Run ShellCheck
        uses: ludeeus/action-shellcheck@master
        env:
          SHELLCHECK_OPTS: -e SC3040