forked from nico2sh/semtag
-
Notifications
You must be signed in to change notification settings - Fork 0
/
release.sh
executable file
·43 lines (34 loc) · 1.09 KB
/
release.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/env bash
SCOPE="$1"
if [ -z "$SCOPE" ]; then
SCOPE="auto"
fi
echo "Using scope $SCOPE"
# We get the next version, without tagging
echo "Getting next version"
nextversion="$(source semtag final -fos $SCOPE)"
echo "Publishing with version: $nextversion"
# We replace the placeholder in the source with the new version
replace="s/^PROG_VERSION=\"[^\"]*\"/PROG_VERSION=\"$nextversion\"/g"
sed -i.bak $replace semtag
# We replace the version in the README file with the new version
replace="s/^\[Version: [^[]*]/[Version: $nextversion]/g"
sed -i.bak "$replace" README.md
# We remove the backup README.md generated by the sed command
rm semtag.bak
rm README.md.bak
# We add both changed files
if ! git add semtag README.md ; then
echo "Error adding modified files with new version"
exit 1
fi
if ! git commit -m "Update readme and info to $nextversion" ; then
echo "Error committing modified files with new version"
exit 1
fi
if ! git push ; then
echo "Error pushing modified files with new version"
exit 1
fi
# We update the tag with the new version
source semtag final -f -v $nextversion