Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d37001e2b | ||
|
|
f57f4716a5 |
14
Makefile
14
Makefile
@@ -9,12 +9,13 @@ APK_PATH := $(ANDROID_DIR)/app/build/outputs/apk/debug/app-debug.apk
|
|||||||
PUBLISHED_APK := $(DOWNLOADS_DIR)/app-debug.apk
|
PUBLISHED_APK := $(DOWNLOADS_DIR)/app-debug.apk
|
||||||
VERSION_FILE := $(META_DIR)/version.json
|
VERSION_FILE := $(META_DIR)/version.json
|
||||||
|
|
||||||
.PHONY: help client-version-bump client-build client-publish publish \
|
.PHONY: help client-version-bump client-build client-tag client-publish publish \
|
||||||
server-start server-stop server-restart server-status server-rebuild
|
server-start server-stop server-restart server-status server-rebuild
|
||||||
|
|
||||||
help:
|
help:
|
||||||
@echo "Targets:"
|
@echo "Targets:"
|
||||||
@echo " make client-build - bump version and build debug APK"
|
@echo " make client-build - bump version, build debug APK, create git tag"
|
||||||
|
@echo " make client-tag - create git tag for the current Android version"
|
||||||
@echo " make client-publish - copy APK to website and refresh version metadata"
|
@echo " make client-publish - copy APK to website and refresh version metadata"
|
||||||
@echo " make publish - bump version, build APK, publish client, reload nginx"
|
@echo " make publish - bump version, build APK, publish client, reload nginx"
|
||||||
@echo " make server-start - start nginx"
|
@echo " make server-start - start nginx"
|
||||||
@@ -26,15 +27,22 @@ help:
|
|||||||
client-version-bump:
|
client-version-bump:
|
||||||
@$(PROJECT_ROOT)/scripts/bump_version.sh
|
@$(PROJECT_ROOT)/scripts/bump_version.sh
|
||||||
|
|
||||||
|
client-tag:
|
||||||
|
@$(PROJECT_ROOT)/scripts/create_version_tag.sh
|
||||||
|
|
||||||
client-build: client-version-bump
|
client-build: client-version-bump
|
||||||
cd $(ANDROID_DIR) && ./gradlew assembleDebug --no-daemon
|
cd $(ANDROID_DIR) && ./gradlew assembleDebug --no-daemon
|
||||||
|
@$(PROJECT_ROOT)/scripts/create_version_tag.sh
|
||||||
|
|
||||||
client-publish:
|
client-publish:
|
||||||
@mkdir -p $(DOWNLOADS_DIR) $(META_DIR)
|
@mkdir -p $(DOWNLOADS_DIR) $(META_DIR)
|
||||||
cp $(APK_PATH) $(PUBLISHED_APK)
|
cp $(APK_PATH) $(PUBLISHED_APK)
|
||||||
@$(PROJECT_ROOT)/scripts/update_site_metadata.sh
|
@$(PROJECT_ROOT)/scripts/update_site_metadata.sh
|
||||||
|
|
||||||
publish: client-build client-publish server-rebuild
|
publish:
|
||||||
|
@$(MAKE) client-build
|
||||||
|
@$(MAKE) client-publish
|
||||||
|
@$(MAKE) server-rebuild
|
||||||
|
|
||||||
server-start:
|
server-start:
|
||||||
sudo systemctl start nginx
|
sudo systemctl start nginx
|
||||||
|
|||||||
@@ -95,7 +95,8 @@
|
|||||||
- `docs/` — документация протокола и архитектуры
|
- `docs/` — документация протокола и архитектуры
|
||||||
|
|
||||||
## Автоматизация
|
## Автоматизация
|
||||||
- `make client-build` — увеличить версию и собрать `debug` APK.
|
- `make client-build` — увеличить версию, собрать `debug` APK и создать git-тег `vX.Y.Z`.
|
||||||
|
- `make client-tag` — создать git-тег для текущей версии вручную.
|
||||||
- `make client-publish` — опубликовать собранный APK на сайт и обновить `version.json`.
|
- `make client-publish` — опубликовать собранный APK на сайт и обновить `version.json`.
|
||||||
- `make publish` — увеличить версию, собрать APK, опубликовать клиент и перезагрузить `nginx`.
|
- `make publish` — увеличить версию, собрать APK, опубликовать клиент и перезагрузить `nginx`.
|
||||||
- `make server-start|server-stop|server-restart|server-status|server-rebuild` — управление `nginx`.
|
- `make server-start|server-stop|server-restart|server-status|server-rebuild` — управление `nginx`.
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ android {
|
|||||||
applicationId = "com.schoolmesh.messenger"
|
applicationId = "com.schoolmesh.messenger"
|
||||||
minSdk = 26
|
minSdk = 26
|
||||||
targetSdk = 34
|
targetSdk = 34
|
||||||
versionCode = 2
|
versionCode = 3
|
||||||
versionName = "0.1.1"
|
versionName = "0.1.2"
|
||||||
|
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
|
|||||||
16
scripts/create_version_tag.sh
Executable file
16
scripts/create_version_tag.sh
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||||
|
BUILD_FILE="$ROOT_DIR/android/app/build.gradle.kts"
|
||||||
|
|
||||||
|
version_name="$(grep -E 'versionName = "[0-9]+\.[0-9]+\.[0-9]+"' "$BUILD_FILE" | head -n1 | sed -E 's/.*versionName = "([0-9]+\.[0-9]+\.[0-9]+)"/\1/')"
|
||||||
|
tag_name="v${version_name}"
|
||||||
|
|
||||||
|
if git -C "$ROOT_DIR" rev-parse -q --verify "refs/tags/${tag_name}" >/dev/null; then
|
||||||
|
echo "Tag ${tag_name} already exists"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
git -C "$ROOT_DIR" tag -a "$tag_name" -m "Release ${tag_name}"
|
||||||
|
echo "Created tag ${tag_name}"
|
||||||
Reference in New Issue
Block a user