Skip to content

Commit 1154077

Browse files
committed
feat: enhance versioning logic in electron-build.yml for semver compliance
1 parent 42861bc commit 1154077

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

.github/workflows/electron-build.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,29 @@ jobs:
6666
cd electron
6767
VERSION=$(git describe --tags)
6868
VERSION=${VERSION#v} # Remove 'v' prefix if present
69+
# Convert to valid semver: take first 3 components and convert rest to prerelease format
70+
# e.g., 0.9.0.9.1-50-g7074ea2e -> 0.9.0-dev.9.1.50.g7074ea2e
71+
if [[ $VERSION =~ ^([0-9]+)\.([0-9]+)\.([0-9]+)(.*)$ ]]; then
72+
MAJOR=${BASH_REMATCH[1]}
73+
MINOR=${BASH_REMATCH[2]}
74+
PATCH=${BASH_REMATCH[3]}
75+
REST=${BASH_REMATCH[4]}
76+
77+
VERSION="$MAJOR.$MINOR.$PATCH"
78+
79+
# If there's extra content, parse and convert to prerelease format
80+
if [[ -n "$REST" ]]; then
81+
if [[ $REST =~ ^(\..*)?(-[0-9]+-g[0-9a-f]+)$ ]]; then
82+
EXTRA=${BASH_REMATCH[1]}
83+
GIT_SUFFIX=${BASH_REMATCH[2]}
84+
VERSION="$VERSION-dev"
85+
[[ -n "$EXTRA" ]] && VERSION="$VERSION${EXTRA//./.}"
86+
[[ -n "$GIT_SUFFIX" ]] && VERSION="$VERSION${GIT_SUFFIX//-/.}"
87+
else
88+
VERSION="$VERSION-dev${REST//./.}"
89+
fi
90+
fi
91+
fi
6992
npm version $VERSION --no-git-tag-version --allow-same-version
7093
7194
- name: Install Electron dependencies

0 commit comments

Comments
 (0)