name: Validate Brewfiles permissions: contents: read on: pull_request: paths: - "custom/brew/**" jobs: validate: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v5 - name: Set up Homebrew uses: Homebrew/actions/setup-homebrew@1ccc07ccd54b6048295516a3eb89b192c35057dc # master - name: Validate Brewfiles shell: bash run: | echo "Validating Brewfiles in custom/brew/ directory..." find "custom/brew" -iname '*\.Brewfile*' -print0 | \ while IFS= read -r -d '' brewfile ; do \ echo "::group:: ===$(basename $brewfile)===" grep -E -e "^tap" $brewfile > taps.Brewfile || echo "# No taps" > taps.Brewfile set -xeuo pipefail brew bundle --file=./taps.Brewfile if brew bundle exec whoami --file="$brewfile" | grep -F -e "${USER}" ; then echo "✓ $brewfile is valid" else echo "✗ $brewfile validation failed" exit 1 fi set +xeuo pipefail echo "::endgroup::" done