mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-02-18 16:33:57 +08:00
* version: a new beginning * changelog * singular * show ours * actual * readjust * updated * more * official spelling * more * sync * fix * send it * push * we never had this lol * syncs
72 lines
1.9 KiB
Bash
Executable File
72 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
|
|
cd $DIR
|
|
|
|
# Take parameters as arguments
|
|
SOURCE_DIR=$1
|
|
OUTPUT_DIR=$2
|
|
DEV_BRANCH=$3
|
|
VERSION=$4
|
|
GIT_ORIGIN=$5
|
|
EXTRA_VERSION_IDENTIFIER=$6
|
|
|
|
# Check parameters
|
|
if [ -z "$SOURCE_DIR" ] || [ -z "$OUTPUT_DIR" ]; then
|
|
echo "Error: No source or output directory provided."
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$DEV_BRANCH" ] || [ -z "$VERSION" ]; then
|
|
echo "Error: No dev branch or version provided."
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$GIT_ORIGIN" ]; then
|
|
echo "Error: No GIT_ORIGIN provided"
|
|
exit 1
|
|
fi
|
|
|
|
# "Tagging"
|
|
echo "#define SUNNYPILOT_VERSION \"$VERSION\"" > ${OUTPUT_DIR}/sunnypilot/common/version.h
|
|
|
|
## set git identity
|
|
#source $DIR/identity.sh
|
|
#export GIT_SSH_COMMAND="ssh -i /data/gitkey"
|
|
|
|
echo "[-] Setting up repo T=$SECONDS"
|
|
cd $OUTPUT_DIR
|
|
git init
|
|
|
|
# set git username/password
|
|
#source /data/identity.sh
|
|
|
|
git rm -rf $OUTPUT_DIR/.git || true # Doing cleanup, but it might fail if the .git doesn't exist or not allowed to delete
|
|
git remote remove origin || true # ensure cleanup
|
|
git remote add origin $GIT_ORIGIN
|
|
#git push origin -d $DEV_BRANCH || true # Ensuring we delete the remote branch if it exists as we are wiping it out
|
|
git fetch origin $DEV_BRANCH || (git checkout -b $DEV_BRANCH && git commit --allow-empty -m "sunnypilot v$VERSION release" && git push -u origin $DEV_BRANCH)
|
|
|
|
echo "[-] committing version $VERSION T=$SECONDS"
|
|
git add -f .
|
|
|
|
# include source commit hash and build date in commit
|
|
GIT_HASH=$(git --git-dir=$SOURCE_DIR/.git rev-parse HEAD)
|
|
DATETIME=$(date '+%Y-%m-%dT%H:%M:%S')
|
|
SP_VERSION=$(awk -F\" '{print $2}' $SOURCE_DIR/sunnypilot/common/version.h)
|
|
|
|
# Commit with detailed message
|
|
git commit -a -m "sunnypilot v$VERSION
|
|
version: sunnypilot v$SP_VERSION (${EXTRA_VERSION_IDENTIFIER})
|
|
date: $DATETIME
|
|
master commit: $GIT_HASH
|
|
"
|
|
git branch --set-upstream-to=origin/$DEV_BRANCH
|
|
git branch -m $DEV_BRANCH
|
|
|
|
# Push!
|
|
echo "[-] pushing T=$SECONDS"
|
|
git push -f origin $DEV_BRANCH
|