File tree Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Original file line number Diff line number Diff line change 1+ name : Check Pre-release Versions in package.json
2+
3+ on :
4+ push :
5+
6+ jobs :
7+ check-pre-release :
8+ runs-on : ubuntu-latest
9+ steps :
10+ - name : Checkout repository
11+ uses : actions/checkout@v4
12+
13+ - name : Check for pre-release versions
14+ run : |
15+ has_pre_release=false
16+ package_json_files=$(find . -name "package.json" -not -path "*/node_modules/*")
17+ for package_json in $package_json_files; do
18+ version=$(jq -r '.version' "$package_json")
19+ if [[ "$version" =~ [^-]+-[a-zA-Z0-9]+ ]]; then
20+ echo "Pre-release version found in $package_json: $version"
21+ has_pre_release=true
22+ fi
23+
24+ for dep_type in dependencies devDependencies peerDependencies; do
25+ if jq -e ".$dep_type" "$package_json" > /dev/null; then
26+ dep_names=$(jq -r ".$dep_type | keys[]" "$package_json")
27+ for dep_name in $dep_names; do
28+ if [[ "$dep_name" =~ ^@voiceflow/ || "$dep_name" =~ ^npm:@voiceflow/ ]]; then
29+ dep_version=$(jq -r ".$dep_type[\"$dep_name\"]" "$package_json")
30+ if [[ "$dep_version" =~ [^-]+-[a-zA-Z0-9]+ && ! "$dep_version" =~ ^npm:@voiceflow/ ]]; then
31+ echo "Pre-release dependency found in $package_json ($dep_type): $dep_name@$dep_version"
32+ has_pre_release=true
33+ fi
34+ fi
35+ done
36+ fi
37+ done
38+ done
39+
40+ if [ "$has_pre_release" = true ]; then
41+ echo "❌ Pre-release versions detected. Failing the workflow."
42+ exit 1
43+ fi
44+
45+ - name : Success Message
46+ if : success()
47+ run : echo "✅ No pre-release versions found."
You can’t perform that action at this time.
0 commit comments