Zdůvodnění
Nástroj běží na stroji, na kterém je repozitář, což je stejně často Mac jako linuxový host; konstrukt, který funguje na jednom a na druhém ne, je chyba, která se projeví jen tam, kde se nikdo nedívá.
Požadované chování
bash 3.2 a BSD userland jsou základ: žádná asociativní pole, žádný mapfile, žádné přepínače jen pro GNU a shellcheck -x -s bash projde na každém skriptu.
Chování při selhání
O tomto pravidle nerozhoduje žádný příkaz; rozhoduje recenzent a změna, která je porušuje, se nemerguje. Kde část pravidla pokrývá případ chování, je tento případ uveden níže.
Ověření
Review. shellcheck -x -s bash -S warning bin/majordomus lib/*.sh test/run.sh test/lib.sh test/cases/*.sh běží v CI (.github/workflows/validate.yml) a test/cases/08_no_forbidden_constructs.sh skenuje konstrukce, které SECURITY.md zakazuje.