Skip to content

fix: upgrade GitHub Actions to Node.js 24 compatible versions #2

fix: upgrade GitHub Actions to Node.js 24 compatible versions

fix: upgrade GitHub Actions to Node.js 24 compatible versions #2

name: Version Validation
on:
pull_request:
paths:
- 'plugins/**'
- '.claude-plugin/marketplace.json'
push:
branches: [main]
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
validate-versions:
runs-on: self-hosted
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0 # Full history for git diff
- name: Validate version consistency
run: |
echo "🔍 Checking version consistency..."
plugins=("rdi" "python-dev")
for plugin in "${plugins[@]}"; do
plugin_json="plugins/$plugin/.claude-plugin/plugin.json"
if [ -f "$plugin_json" ]; then
# Get versions
plugin_version=$(jq -r '.version' "$plugin_json")
marketplace_version=$(jq -r ".plugins[] | select(.name==\"$plugin\") | .version" .claude-plugin/marketplace.json)
echo " $plugin:"
echo " plugin.json: $plugin_version"
echo " marketplace.json: $marketplace_version"
if [ "$plugin_version" != "$marketplace_version" ]; then
echo "❌ Version mismatch for $plugin!"
exit 1
fi
# Validate semver format (MAJOR.MINOR.PATCH)
if ! [[ $plugin_version =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "❌ Invalid semver format for $plugin: $plugin_version"
echo " Expected format: MAJOR.MINOR.PATCH (e.g., 1.0.0)"
exit 1
fi
echo " ✓ Versions match and valid"
fi
done
- name: Summary
run: |
echo ""
echo "✅ Version validation passed!"
echo ""
echo "📌 Versions must match between:"
echo " - plugins/PLUGIN/.claude-plugin/plugin.json"
echo " - .claude-plugin/marketplace.json"
echo ""
echo "ℹ️ Version bumps are handled by: .github/workflows/release.yml"
echo " Trigger with: workflow_dispatch on GitHub Actions"