-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrelease-upload.sh
executable file
·51 lines (43 loc) · 1.13 KB
/
release-upload.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
44
45
46
47
48
49
50
51
#!/bin/bash
# Default version
VERSION=""
# Parse command line arguments
while getopts "v:" opt; do
case $opt in
v)
VERSION="$OPTARG"
;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
esac
done
# Check if version is provided
if [ -z "$VERSION" ]; then
echo "Error: Version is required"
echo "Usage: $0 -v VERSION"
echo "Example: $0 -v 0.1.0"
exit 1
fi
RELEASE_NAME="xoon-linux-x64-v${VERSION}"
RELEASE_FILE="${RELEASE_NAME}.tar.gz"
# Check if release file exists
if [ ! -f "$RELEASE_FILE" ]; then
echo "Error: Release file $RELEASE_FILE not found!"
echo "Please run release-build.sh first to create the release file."
exit 1
fi
# Create GitHub release and upload file
echo "Creating GitHub release v${VERSION}..."
echo "Uploading file: $RELEASE_FILE"
gh release create "v${VERSION}" \
--title "xoon v${VERSION}" \
--notes "Release version ${VERSION}" \
"$RELEASE_FILE"
if [ $? -eq 0 ]; then
echo "Success! Release v${VERSION} has been created and $RELEASE_FILE has been uploaded."
else
echo "Error: Failed to create release or upload file."
exit 1
fi