mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-10 12:47:04 +00:00
Add tests/lint/repository/test_name_emoji_and_length.py: every Ansible task name and GitHub Actions workflow/job/step name must start with an emoji (first char not 0-9/A-Za-z) and be <= 80 chars. - emit emoji names at the source: cli/build/include generator now writes "🔧 setup <app>" / "🚿 flush handlers after <app>" so generated tasks/groups/*-roles.yml satisfy the convention too - convert existing task/step/job/workflow names to emoji-prefixed, choosing a task-fitting icon per action (📦 install, ✅ ensure, 🔍 probe, 🥾 bootstrap, 🚀 deploy, 🧩 service-module load, ⬇️ checkout, 📂 include-routines, ...) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
28 lines
626 B
YAML
28 lines
626 B
YAML
name: "🔍 Lint: Shell Scripts"
|
|
|
|
on:
|
|
workflow_call:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
lint-shell:
|
|
name: 🧹 Lint shell
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- name: ▶️ Run ShellCheck (container)
|
|
run: |
|
|
mapfile -d '' shell_files < <(find . -type f -name '*.sh' -print0)
|
|
if [ "${#shell_files[@]}" -eq 0 ]; then
|
|
echo "No shell scripts found."
|
|
exit 0
|
|
fi
|
|
|
|
docker run --rm \
|
|
-v "$PWD:/mnt" \
|
|
-w /mnt \
|
|
koalaman/shellcheck:latest \
|
|
-x "${shell_files[@]}"
|