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