Compare commits
8
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
47d30b1594 | ||
|
|
56dd58b8d1 | ||
|
|
4ceaf000fd | ||
|
|
2575aae5c6 | ||
|
|
6442514d4f | ||
|
|
ec60df859a | ||
|
|
0cacbc3ef3 | ||
|
|
5508b9a936 |
No files matched your search
@@ -83,10 +83,16 @@ jobs:
|
||||
TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
||||
TAG: ${{ steps.meta.outputs.tag }}
|
||||
run: |
|
||||
base="${TAG#v}"; base="${base%%-*}"
|
||||
notes=$(awk -v v="$base" '
|
||||
/^## \[/ { if (on) exit; if (index($0, "[" v "]")) { on=1; next } }
|
||||
on' CHANGELOG.md)
|
||||
full="${TAG#v}"; base="${full%%-*}"
|
||||
section() {
|
||||
awk -v v="$1" '
|
||||
/^## \[/ { if (on) exit; if (index($0, "[" v "]")) { on=1; next } }
|
||||
on' CHANGELOG.md
|
||||
}
|
||||
# Сначала раздел ровно под тег ([1.0.1-rc1]), иначе общий под версию ([1.0.1])
|
||||
notes=$(section "$full")
|
||||
[ -n "$notes" ] || notes=$(section "$base")
|
||||
[ -n "$notes" ] || echo "::warning::В CHANGELOG.md нет раздела [$full] или [$base]"
|
||||
prerelease=false; case "$TAG" in *-rc*) prerelease=true;; esac
|
||||
# target_commitish: у новой ветки тег появится на этом коммите при публикации
|
||||
body=$(python3 -c 'import json,sys; print(json.dumps({"tag_name":sys.argv[1],"target_commitish":sys.argv[4],"name":"BiLauncher "+sys.argv[1],"body":sys.argv[2],"draft":True,"prerelease":sys.argv[3]=="true"}))' \
|
||||
|
||||
+1
-1
@@ -254,4 +254,4 @@ option(BILAUNCHER_BUILD_TESTS "Собрать автотесты (ctest)" OFF)
|
||||
if(BILAUNCHER_BUILD_TESTS)
|
||||
enable_testing()
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
endif()
|
||||
@@ -136,6 +136,8 @@ QML-модуль собирается в `<build>/qml/BiLauncher` (`OUTPUT_DIREC
|
||||
поэтому этот шаг на совести выпускающего. См. [testing.md](testing.md).
|
||||
1. Поднять версию в `project(BiLauncher VERSION ...)` в `CMakeLists.txt`.
|
||||
2. Добавить в `CHANGELOG.md` раздел `## [x.y.z] — дата`. Его текст станет описанием релиза.
|
||||
Для пре-релиза можно завести отдельный раздел `## [x.y.z-rcN]`: он берётся в первую очередь,
|
||||
а если его нет — используется `## [x.y.z]`.
|
||||
3. Запустить релиз одним из способов:
|
||||
- **Пуш в `master`** — полноценный релиз `vx.y.z`. Если релиз или тег с этой версией уже есть,
|
||||
прогон ничего не собирает: сначала поднимите версию.
|
||||
|
||||
@@ -70,7 +70,7 @@ def check_changelog():
|
||||
return False
|
||||
version = match.group(1)
|
||||
changelog = open(os.path.join(ROOT, "CHANGELOG.md"), encoding="utf-8").read()
|
||||
if re.search(r"^## \[" + re.escape(version) + r"\]", changelog, re.M):
|
||||
if re.search(r"^## \[" + re.escape(version) + r"(-rc[0-9]+)?\]", changelog, re.M):
|
||||
print(f"версия {version}: раздел в CHANGELOG.md есть")
|
||||
else:
|
||||
print(f"ПРЕДУПРЕЖДЕНИЕ: в CHANGELOG.md нет раздела ## [{version}] — описание релиза будет пустым")
|
||||
|
||||
Reference in new issue
Block a user