浏览代码

howto_release.md: create ChangeLog with GH API (#2057)

* howto_release.md: create ChangeLog with GH API

- add how to create ChangeLog with GH API for GH release notes
- minor path fixes

* fix path: tools/ -> utils/
Markus Neteler 3 年之前
父节点
当前提交
7f0b570f34
共有 3 个文件被更改,包括 30 次插入18 次删除
  1. 23 11
      doc/howto_release.md
  2. 6 6
      doc/infrastructure.md
  3. 1 1
      locale/README

+ 23 - 11
doc/howto_release.md

@@ -17,7 +17,7 @@ Check examples if still compiling
 ### Fix typos in source code with
 
 ```bash
-tools/fix_typos.sh
+utils/fix_typos.sh
 ```
 
 ### i18N: sync from Transifex
@@ -29,7 +29,7 @@ master .po files
 
 ```bash
 cd locale
-sh ~/software/grass-addons/tools/transifex_merge.sh
+sh ~/software/grass-addons/utils/transifex_merge.sh
 make
 make verify
 # ... then fix .po files as needed.
@@ -121,7 +121,7 @@ Example:
 
 Preparation:
 
-### Changelog and tagging etc
+### Changelog and tagging etc preparations
 
 ```bash
 # update from GH
@@ -171,10 +171,22 @@ wget https://github.com/OSGeo/grass/archive/${VERSION}.tar.gz -O grass-${VERSION
 md5sum grass-${VERSION}.tar.gz > grass-${VERSION}.md5sum
 ```
 
-Create Changelog file on release branch:
+### Changelog from GitHub for GH release notes
+
+Using GH API here, see also
+- https://cli.github.com/manual/gh_api
+- https://docs.github.com/en/rest/reference/repos#generate-release-notes-content-for-a-release
+
+```bash
+gh api repos/OSGeo/grass/releases/generate-notes -f tag_name="8.0.0" -f previous_tag_name=7.8.6 -f target_commitish=releasebranch_8_0 -q .body
+```
+
+Importantly, these notes need to be manually sorted into the various categories.
+
+### Changelog file for upload
 
 ```bash
-python3 tools/gitlog2changelog.py
+python3 utils/gitlog2changelog.py
 mv ChangeLog ChangeLog_$VERSION
 head ChangeLog_$VERSION
 gzip ChangeLog_$VERSION
@@ -215,9 +227,9 @@ Note: grasslxd only reachable via jumphost - https://wiki.osgeo.org/wiki/SAC_Ser
 ```bash
 # Store the source tarball (twice) in (use scp -p FILES grass:):
 USER=neteler
-SERVER1=grass.lxd
+SERVER1=grasslxd
 SERVER1DIR=/var/www/code_and_data/grass$MAJOR$MINOR/source/
-SERVER2=upload.osgeo.org
+SERVER2=download.osgeo.org
 SERVER2DIR=/osgeo/download/grass/grass$MAJOR$MINOR/source/
 echo $SERVER1:$SERVER1DIR
 echo $SERVER2:$SERVER2DIR
@@ -247,9 +259,9 @@ vim wingrass-maintenance-scripts/grass_copy_wwwroot.sh
 vim wingrass-maintenance-scripts/cronjob.sh       # major/minor release only
 
 # update addons - major/minor release only
-vim grass-addons/tools/addons/grass-addons-publish.sh
-vim grass-addons/tools/addons/grass-addons-build.sh
-vim grass-addons/tools/addons/grass-addons.sh
+vim grass-addons/utils/addons/grass-addons-publish.sh
+vim grass-addons/utils/addons/grass-addons-build.sh
+vim grass-addons/utils/addons/grass-addons.sh
 ```
 
 # update addon builder
@@ -297,7 +309,7 @@ Software pages:
 
 #### Only in case of new major release
 
-- update cronjob '[cron_grass_HEAD_src_snapshot.sh](https://github.com/OSGeo/grass-addons/tree/master/tools/cronjobs_osgeo_lxd)' on grass.osgeo.org to next
+- update cronjob '[cron_grass_HEAD_src_snapshot.sh](https://github.com/OSGeo/grass-addons/tree/master/utils/cronjobs_osgeo_lxd)' on grass.osgeo.org to next
   but one release tag for the differences
 - wiki updates, only when new major release:
     - {{cmd|xxxx}} macro: <https://grasswiki.osgeo.org/wiki/Template:Cmd>

+ 6 - 6
doc/infrastructure.md

@@ -61,7 +61,7 @@ Maintainer: M. Neteler
         * Apache Server with hugo
     * for migration details (7/2020), see https://github.com/OSGeo/grass-website/issues/180
     * ssh login: via osgeo jumphost
-    * deployment via cronjob: https://github.com/OSGeo/grass-addons/tree/master/tools/cronjobs_osgeo_lxd
+    * deployment via cronjob: https://github.com/OSGeo/grass-addons/tree/master/utils/cronjobs_osgeo_lxd
 * https://old.grass.osgeo.org (CMSMS, replaced in 2020 by hugo based solution)
     * Shared virtual OSGeo machine (osgeo6) hosted at Oregon State University Open Source Lab
    (server: osgeo6.osgeo.osuosl.org)
@@ -228,8 +228,8 @@ Maintainer: Martin Landa and Markus Neteler
 
 Details:
 
-- Windows-addons: grass-addons/tools/addons/README.txt
-- Addon manual pages cronjob: https://github.com/OSGeo/grass-addons/tree/master/tools/cronjobs_osgeo_lxd
+- Windows-addons: grass-addons/utils/addons/README.txt
+- Addon manual pages cronjob: https://github.com/OSGeo/grass-addons/tree/master/utils/cronjobs_osgeo_lxd
 - Rendered manuals: https://grass.osgeo.org/grass8/manuals/addons/
 
 The redirect to the latest grass7x directory is defined on grass.osgeo.org:
@@ -249,7 +249,7 @@ Procedure of granting write access to Addons repo:
 * Confirm request in grass-psc and give instructions concerning code style etc (see archive for examples)
 
 XML file for g.extension: https://grass.osgeo.org/addons/grass7/modules.xml
-* generated in grass-addons/tools/addons/grass-addons-publish.sh
+* generated in grass-addons/utils/addons/grass-addons-publish.sh
 
 ## GRASS Travis CI
 
@@ -258,7 +258,7 @@ Maintainer: Martin Landa
 * https://travis-ci.org/GRASS-GIS
 * https://github.com/OSGeo/grass
 * OLD: https://github.com/GRASS-GIS/grass-ci
-* https://github.com/OSGeo/grass-addons/tree/master/tools/grass-ci/
+* https://github.com/OSGeo/grass-addons/tree/master/utils/grass-ci/
 
 Travis CI control files:
  trunk/.travis/
@@ -267,7 +267,7 @@ Travis CI control files:
    linux.script.sh
 
 Maintenance script:
-* https://github.com/OSGeo/grass-addons/tree/master/tools/grass-ci/grass-ci.sh
+* https://github.com/OSGeo/grass-addons/tree/master/utils/grass-ci/grass-ci.sh
 
 The github update is run as a cronjob on server "geo102" (CTU, CZ).
 

+ 1 - 1
locale/README

@@ -133,7 +133,7 @@ GENERAL TRANSLATION PROCEDURE (no programming required)
 
 [4] Updated po files are taken from Transifex and merged into GRASS GIS source repo 
     (MO files are generated when compiling GRASS GIS)
-    Script: https://github.com/OSGeo/grass-addons/blob/master/tools/transifex_merge.sh
+    Script: https://github.com/OSGeo/grass-addons/blob/grass8/utils/transifex_merge.sh
 
     # trim disconnected=obsolete translations
     POFILE=grassYXZ_LANG.po