Skip to content

Refactored function name #6

Refactored function name

Refactored function name #6

name: Validate macsetup.sh
on: [push, pull_request]
jobs:
validate-macsetup:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, macos-11]
arch: [x64, arm64]
fail-fast: false
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Run macsetup.sh
run: |
chmod +x macsetup.sh
./macsetup.sh --status --install
- name: Set up Homebrew
run: |
if ! command -v brew &> /dev/null; then
echo "Installing Homebrew..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
else
echo "Homebrew is already installed."
fi
- name: Install jq
run: |
if ! command -v jq &> /dev/null; then
echo "Installing jq..."
brew install jq
else
echo "jq is already installed."
fi
- name: Validate installation
run: |
# Read validation commands from config/tools.json and run them
tools=$(jq -c '.[]' config/tools.json)
for tool in $tools; do
name=$(echo "$tool" | jq -r '.name')
verify_command=$(echo "$tool" | jq -r '.verify_command')
if [ -n "$verify_command" ]; then
echo "Validating $name..."
eval "$verify_command"
if [ $? -eq 0 ]; then
echo -e "${GREEN}$name validation successful.${NC}"
else
echo -e "${RED}$name validation failed.${NC}"
fi
else
echo "No validation command provided for $name."
fi
done