Skip to content

docs: initialize blueprint development structure #627

docs: initialize blueprint development structure

docs: initialize blueprint development structure #627

Workflow file for this run

name: Smoke Test CI
on:
push:
branches: [ main ] # Or your default branch name
pull_request:
branches: [ main ] # Or your default branch name
jobs:
lint:
name: Linters
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Setup Homebrew (Linux)
uses: Homebrew/actions/setup-homebrew@master
- name: Install Dependencies
run: |
brew install chezmoi
pip install pre-commit
- name: Run pre-commit
run: pre-commit run --all-files
- name: Run chezmoi verify
run: chezmoi verify .
build:
name: Build (Ubuntu)
runs-on: ubuntu-latest
needs: [lint] # Run after linters pass
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Homebrew (Linux)
uses: Homebrew/actions/setup-homebrew@master
- name: Cache Homebrew
uses: actions/cache@v4
with:
path: /home/linuxbrew/.cache/Homebrew
key: ${{ runner.os }}-brew-${{ hashFiles('**/Brewfile') }}
restore-keys: |
${{ runner.os }}-brew-
- name: Install Dependencies
# Install chezmoi, mise, zsh, and any deps needed *before* chezmoi apply
run: |
brew install chezmoi neovim zsh
- name: Setup mise
uses: nick-fields/setup-mise@v0
- name: Cache mise tools
uses: actions/cache@v4
with:
path: |
~/.local/share/mise
~/.local/state/mise
key: ${{ runner.os }}-mise-${{ hashFiles('**/.mise.toml', '**/mise.toml', '**/.config/mise/config.toml') }}
restore-keys: |
${{ runner.os }}-mise-
- name: Run environment health checks
run: |
{
echo "## 🏥 Environment Health Checks"
echo ""
# Homebrew doctor
echo "### Homebrew Doctor"
if brew doctor 2>&1 | tee brew-doctor.log; then
echo "✅ Homebrew is healthy"
else
echo "⚠️ Homebrew has warnings (non-fatal)"
echo "\`\`\`"
cat brew-doctor.log
echo "\`\`\`"
fi
echo ""
# mise doctor
echo "### mise Doctor"
if mise doctor 2>&1 | tee mise-doctor.log; then
echo "✅ mise is healthy"
else
echo "⚠️ mise has warnings"
echo "\`\`\`"
cat mise-doctor.log
echo "\`\`\`"
fi
} >> "$GITHUB_STEP_SUMMARY"
- name: Run chezmoi apply
# Use -v for verbose output, useful for debugging CI failures
run: chezmoi apply -v
- name: Test zsh shell initialization
run: |
# Test that zsh shell loads and configuration works
timeout 10s zsh -c "
source ~/.zshrc
# Check if zsh configuration loaded by testing for ZSH_VERSION
if [[ -n \"\$ZSH_VERSION\" ]]; then
echo \"✅ zsh configuration loaded successfully\"
else
echo \"❌ zsh configuration failed to load\"
exit 1
fi
# Test that prompt is configured (PS1 or PROMPT)
if [[ -n \"\$PROMPT\" ]] || [[ -n \"\$PS1\" ]]; then
echo \"✅ zsh prompt configured\"
else
echo \"❌ zsh prompt not configured\"
exit 1
fi
"