71 lines
1.9 KiB
Bash
Executable File
71 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
flutter clean
|
|
flutter pub get
|
|
flutter build apk --release
|
|
cp build/app/outputs/flutter-apk/app-release.apk ./release/eggtimer.apk
|
|
echo "APK built and copied to ./release/eggtimer.apk"
|
|
GITEA_URL="https://git.ude-consult.de"
|
|
GITEA_TOKEN="6ea286299e8e081d9923d5deea2fbd91ad83dc8e"
|
|
OWNER="Arnold"
|
|
REPO="EggTimer"
|
|
APK_PATH="release/eggtimer.apk"
|
|
|
|
PUBSPEC="pubspec.yaml"
|
|
|
|
line=$(grep "^version:" $PUBSPEC | awk '{print $2}')
|
|
before_plus="${line%%+*}" # 1.0.3
|
|
build="${line##*+}"
|
|
|
|
major=$(echo $before_plus | cut -d. -f1)
|
|
minor=$(echo $before_plus | cut -d. -f2)
|
|
patch=$(echo $before_plus | cut -d. -f3)
|
|
|
|
patch=$((patch + 1))
|
|
|
|
new="${major}.${minor}.${patch}"
|
|
|
|
echo "Neue Version: $new"
|
|
|
|
sed -i "s/^version: .*/version: ${new}/" "$PUBSPEC"
|
|
|
|
# Version z.B. aus Datei oder Argument
|
|
VERSION_TAG=$(grep "^version:" pubspec.yaml | awk '{print $2}')
|
|
|
|
RELEASE_TITLE="EggTimer ${VERSION_TAG}"
|
|
RELEASE_BODY="Automatisch erstelltes Release ${VERSION_TAG}."
|
|
|
|
# 1. Release anlegen
|
|
create_release_response=$(curl -sS -X POST \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: token ${GITEA_TOKEN}" \
|
|
"${GITEA_URL}/api/v1/repos/${OWNER}/${REPO}/releases" \
|
|
-d "{
|
|
\"tag_name\": \"${VERSION_TAG}\",
|
|
\"target\": \"main\",
|
|
\"title\": \"${RELEASE_TITLE}\",
|
|
\"note\": \"${RELEASE_BODY}\",
|
|
\"draft\": false,
|
|
\"prerelease\": false
|
|
}")
|
|
|
|
release_id=$(echo "$create_release_response" | jq -r '.id')
|
|
|
|
if [[ "$release_id" == "null" || -z "$release_id" ]]; then
|
|
echo "Fehler: Konnte Release-ID nicht auslesen."
|
|
echo "$create_release_response"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Release ${VERSION_TAG} erstellt, ID=${release_id}"
|
|
|
|
# 2. APK hochladen
|
|
curl -sS -X POST \
|
|
-H "Authorization: token ${GITEA_TOKEN}" \
|
|
-F "attachment=@${APK_PATH};filename=eggtimer-${VERSION_TAG}.apk" \
|
|
"${GITEA_URL}/api/v1/repos/${OWNER}/${REPO}/releases/${release_id}/assets"
|
|
|
|
echo "APK hochgeladen."
|
|
|
|
|