name: CI on: push: branches: [master, main] pull_request: permissions: contents: read jobs: shell: name: Lint & self-test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: ShellCheck (POSIX/bash scripts + git hooks) run: | shellcheck --version shellcheck scripts/*.sh \ git-templates/hooks/pre-commit \ git-templates/hooks/post-merge \ git-templates/hooks/post-commit - name: Install fish run: | sudo apt-get update -qq sudo apt-get install -y -qq fish - name: Fish syntax check run: | for f in scripts/*.fish; do echo "fish -n $f" fish -n "$f" done - name: Self-test (bootstrap dry-run, sh + fish) run: sh scripts/selftest.sh