Skip to content

Commit

Permalink
ci: add pre-release check
Browse files Browse the repository at this point in the history
  • Loading branch information
xavidop committed Jan 30, 2025
1 parent 3b4cdb5 commit c8c7bd0
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions .github/workflows/pre-release-check.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Check Pre-release Versions in package.json

on:
push:

jobs:
check-pre-release:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Check for pre-release versions
run: |
has_pre_release=false
package_json_files=$(find . -name "package.json" -not -path "*/node_modules/*")
for package_json in $package_json_files; do
version=$(jq -r '.version' "$package_json")
if [[ "$version" =~ [^-]+-[a-zA-Z0-9]+ ]]; then
echo "Pre-release version found in $package_json: $version"
has_pre_release=true
fi
for dep_type in dependencies devDependencies peerDependencies; do
if jq -e ".$dep_type" "$package_json" > /dev/null; then
dep_names=$(jq -r ".$dep_type | keys[]" "$package_json")
for dep_name in $dep_names; do
if [[ "$dep_name" =~ ^@voiceflow/ || "$dep_name" =~ ^npm:@voiceflow/ ]]; then
dep_version=$(jq -r ".$dep_type[\"$dep_name\"]" "$package_json")
if [[ "$dep_version" =~ [^-]+-[a-zA-Z0-9]+ && ! "$dep_version" =~ ^npm:@voiceflow/ ]]; then
echo "Pre-release dependency found in $package_json ($dep_type): $dep_name@$dep_version"
has_pre_release=true
fi
fi
done
fi
done
done
if [ "$has_pre_release" = true ]; then
echo "❌ Pre-release versions detected. Failing the workflow."
exit 1
fi
- name: Success Message
if: success()
run: echo "✅ No pre-release versions found."

0 comments on commit c8c7bd0

Please sign in to comment.