Compare commits
1
Commits
v1.0.1-rc1
...
47d30b1594
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
47d30b1594 |
No files matched your search
@@ -83,10 +83,16 @@ jobs:
|
|||||||
TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
||||||
TAG: ${{ steps.meta.outputs.tag }}
|
TAG: ${{ steps.meta.outputs.tag }}
|
||||||
run: |
|
run: |
|
||||||
base="${TAG#v}"; base="${base%%-*}"
|
full="${TAG#v}"; base="${full%%-*}"
|
||||||
notes=$(awk -v v="$base" '
|
section() {
|
||||||
|
awk -v v="$1" '
|
||||||
/^## \[/ { if (on) exit; if (index($0, "[" v "]")) { on=1; next } }
|
/^## \[/ { if (on) exit; if (index($0, "[" v "]")) { on=1; next } }
|
||||||
on' CHANGELOG.md)
|
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
|
prerelease=false; case "$TAG" in *-rc*) prerelease=true;; esac
|
||||||
# target_commitish: у новой ветки тег появится на этом коммите при публикации
|
# 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"}))' \
|
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"}))' \
|
||||||
|
|||||||
@@ -136,6 +136,8 @@ QML-модуль собирается в `<build>/qml/BiLauncher` (`OUTPUT_DIREC
|
|||||||
поэтому этот шаг на совести выпускающего. См. [testing.md](testing.md).
|
поэтому этот шаг на совести выпускающего. См. [testing.md](testing.md).
|
||||||
1. Поднять версию в `project(BiLauncher VERSION ...)` в `CMakeLists.txt`.
|
1. Поднять версию в `project(BiLauncher VERSION ...)` в `CMakeLists.txt`.
|
||||||
2. Добавить в `CHANGELOG.md` раздел `## [x.y.z] — дата`. Его текст станет описанием релиза.
|
2. Добавить в `CHANGELOG.md` раздел `## [x.y.z] — дата`. Его текст станет описанием релиза.
|
||||||
|
Для пре-релиза можно завести отдельный раздел `## [x.y.z-rcN]`: он берётся в первую очередь,
|
||||||
|
а если его нет — используется `## [x.y.z]`.
|
||||||
3. Запустить релиз одним из способов:
|
3. Запустить релиз одним из способов:
|
||||||
- **Пуш в `master`** — полноценный релиз `vx.y.z`. Если релиз или тег с этой версией уже есть,
|
- **Пуш в `master`** — полноценный релиз `vx.y.z`. Если релиз или тег с этой версией уже есть,
|
||||||
прогон ничего не собирает: сначала поднимите версию.
|
прогон ничего не собирает: сначала поднимите версию.
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ def check_changelog():
|
|||||||
return False
|
return False
|
||||||
version = match.group(1)
|
version = match.group(1)
|
||||||
changelog = open(os.path.join(ROOT, "CHANGELOG.md"), encoding="utf-8").read()
|
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 есть")
|
print(f"версия {version}: раздел в CHANGELOG.md есть")
|
||||||
else:
|
else:
|
||||||
print(f"ПРЕДУПРЕЖДЕНИЕ: в CHANGELOG.md нет раздела ## [{version}] — описание релиза будет пустым")
|
print(f"ПРЕДУПРЕЖДЕНИЕ: в CHANGELOG.md нет раздела ## [{version}] — описание релиза будет пустым")
|
||||||
|
|||||||
Reference in new issue
Block a user