.github/workflows/lint.yml

name: lint

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

permissions:
  contents: read

jobs:
  shellcheck:
    name: shellcheck
    runs-on: ubuntu-22.04
    steps:
      - uses: actions/checkout@v4
      - name: install shellcheck
        run: sudo apt-get update && sudo apt-get install -y shellcheck
      - name: run shellcheck
        run: |
          find scripts -type f -name '*.sh' -print0 \
                  | xargs -0 shellcheck --severity=warning

  yamllint:
    name: yamllint
    runs-on: ubuntu-22.04
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: "3.12"
      - name: install yamllint
        run: pip install --upgrade "yamllint==1.35.1"
      - name: run yamllint
        run: yamllint -s docker-compose.yml

  caddy-validate:
    name: caddy validate
    runs-on: ubuntu-22.04
    container: caddy:2-alpine
    steps:
      - uses: actions/checkout@v4
      - name: validate Caddyfile
        run: caddy validate --config ./Caddyfile --adapter caddyfile