[geos-commits] [SCM] GEOS branch 3.9 updated. d5cc75b5881ba13133bd29be823314ef7269d043

git at osgeo.org git at osgeo.org
Sat Nov 11 17:38:01 PST 2023


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GEOS".

The branch, 3.9 has been updated
       via  d5cc75b5881ba13133bd29be823314ef7269d043 (commit)
      from  a3e58f156eb93fcfa9e130fe49c2c3847175f30b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit d5cc75b5881ba13133bd29be823314ef7269d043
Author: Regina Obe <lr at pcorp.us>
Date:   Sat Nov 11 19:42:41 2023 -0500

    Prepping for GEOS 3.9.5 release

diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 000000000..21c6571d8
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,77 @@
+#
+# GitHub Actions for GEOS Web Pages
+# Paul Ramsey <pramsey at cleverelephant.ca>, Regina Obe <lr at pcorp.us>
+#
+
+#
+# Only run on tag
+# Only release if distcheck succeeds
+# Only release of the tag name is identical to the full version
+# Use the first block of NEWS entries as release notes
+#
+
+name: 'Release'
+
+on:
+  push:
+    tags:
+      - '*.*.*'
+
+jobs:
+  release:
+    name: 'Release on Tag'
+    runs-on: ubuntu-latest
+
+    # Only run docbuild on central repo
+    if: github.repository == 'libgeos/geos'
+    steps:
+
+    - name: 'Install'
+      run: |
+        pwd
+        uname -a
+        sudo -E apt-get -yq --no-install-suggests --no-install-recommends install make doxygen
+
+    - name: 'Check Out'
+      uses: actions/checkout at v3
+
+    - name: Get tag
+      id: tag
+      uses: dawidd6/action-get-tag at v1
+
+    - name: 'Read Version'
+      id: version
+      run: |
+        pwd
+        source Version.txt
+        GEOS_FULL_VERSION=${GEOS_VERSION_MAJOR}.${GEOS_VERSION_MINOR}.${GEOS_VERSION_PATCH}${GEOS_PATCH_WORD}
+        echo GEOS_FULL_VERSION $GEOS_FULL_VERSION
+        echo "::set-output name=geosversion::${GEOS_FULL_VERSION}"
+
+    - name: 'Create Release Notes'
+      id: notes
+      run: |
+        pwd
+        perl tools/ci/releasenotes.pl NEWS > release.md
+        echo "::set-output name=geosnotes::./release.md"
+
+    - name: 'Bundle & Check Package'
+      id: bundle
+      run: |
+        pwd
+        set -e
+        mkdir _build && cd _build
+        cmake -DBUILD_DOCUMENTATION=YES ..
+        cmake --version
+        cmake --build . --target distcheck
+
+    - name: Create Release
+      if: ${{ steps.tag.outputs.tag == steps.version.outputs.geosversion }}
+      id: create_release
+      uses: softprops/action-gh-release at v1
+      with:
+        body_path: ${{ steps.notes.outputs.geosnotes }}
+        name: Release ${{ steps.version.outputs.geosversion }}
+        prerelease: false
+        files: |
+          ./_build/geos*.tar.bz2
\ No newline at end of file
diff --git a/HOWTO_RELEASE b/HOWTO_RELEASE
index f50664088..e413bceab 100644
--- a/HOWTO_RELEASE
+++ b/HOWTO_RELEASE
@@ -1,45 +1,60 @@
 1. Verify that the versions currently set in Version.txt
-   make sense for this release.
+   make sense for this release. See file for instructions.
 
     - GEOS_VERSION_PATCH
     - GEOS_VERSION_MINOR
     - GEOS_VERSION_MAJOR
+    - GEOS_PATCH_WORD
 
     - CAPI_INTERFACE_CURRENT
     - CAPI_INTERFACE_REVISION
     - CAPI_INTERFACE_AGE
 
-2. Run 'make distcheck', fix any problem with it.
+2. Prepare the build directory.
 
-3. Update the NEWS file (extract most important things from the
-   repository log). Make sure to update the release date.
+   $ mkdir _build && cd _build && cmake -DBUILD_DOCUMENTATION=YES ..
 
-4. Commit the changes in the NEWS file.
+3. Run the build, distcheck, docs targets, fix any problems with them.
 
-5. Run 'make dist-bzip2'.
+   $ cmake --build .
+   $ cmake --build . --target docs
+   $ ctest --output-on-failure .
+   $ cmake --build . --target distcheck
 
-   $ ./autogen.sh && ./configure && make dist-bzip2
+4. Update the NEWS file (extract most important things from the repository log). 
+   Make sure to update the release date.
 
-6. Verify that you can un-pack and build the tarball.
+5. Commit the changes in the NEWS file.
+   Push changes with:  git push origin,
+   and confirm all bots are green before moving forward
 
-   - autotools: ./configure && make check
-   - cmake: mkdir build && cd build && cmake .. && make && make check
-
-7. Copy the tarball to upload.osgeo.org:/osgeo/download/geos
-
-8. Tag the release:
+6. Tag the release:
 
    $ git tag MAJOR.MINOR.PATCH
    $ git push origin MAJOR.MINOR.PATCH
 
-9. Increment all the version numbers for the next release (described in 1 above).
+7. At this point the github/release.yml action should run, 
+   wait for it to finish and then verify you can build with it.
 
-10. Update wiki page https://trac.osgeo.org/geos/ at Download section
+   $ VERSION=MAJOR.MINOR.PATCH
+   $ wget https://github.com/libgeos/geos/releases/download/$VERSION/geos-$VERSION.tar.bz2
+   $ tar xvfz geos-$VERSION.tar.bz2
+   $ cd geos-$VERSION
+   $ mkdir _build && cd _build && cmake ..
+   $ cmake --build .
+   $ ctest --output-on-failure .
+
+8. Copy the tar.bz2 tarball to upload.osgeo.org:/osgeo/download/geos
+
+9. Create and push a release branch if this was a PATCH=0 release,
+    update the versions for next release in Version.txt (both in
+    main and release branch).
+
+10. Update download page in main branch: web/content/usage/download.md
 
     - Add latest release
     - Remove previous patch level release (if any)
 
-11. Close current trac milestone and add new one for next release
-
-12. Announce on geos-devel
+11. Close current GitHub milestone and add a new one for next release.
 
+12. Announce on geos-devel
\ No newline at end of file
diff --git a/NEWS b/NEWS
index 893baf8f2..6e1cb80f7 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,5 @@
 Changes in 3.9.5
-2023-XX-XX
+2023-11-xx
 
 - Bug fixes / improvements:
   - GEOSUnaryUnion: Fix crash on collection containing empty point (GH-830, Dan Baston)
diff --git a/Version.txt b/Version.txt
index 2648e6074..9b3cbb0a3 100644
--- a/Version.txt
+++ b/Version.txt
@@ -2,7 +2,7 @@
 # GEOS Versions
 GEOS_VERSION_MAJOR=3
 GEOS_VERSION_MINOR=9
-GEOS_VERSION_PATCH=4
+GEOS_VERSION_PATCH=5
 
 # OPTIONS: "", "dev", "rc1" etc.
 GEOS_PATCH_WORD=
@@ -16,7 +16,7 @@ GEOS_PATCH_WORD=
 #   ( THIS MUST BE CAREFULLY AVOIDED )
 #
 CAPI_INTERFACE_CURRENT=15
-CAPI_INTERFACE_REVISION=4
+CAPI_INTERFACE_REVISION=5
 CAPI_INTERFACE_AGE=14
 
 # JTS Port
diff --git a/tools/ci/releasenotes.pl b/tools/ci/releasenotes.pl
new file mode 100644
index 000000000..4c22f3847
--- /dev/null
+++ b/tools/ci/releasenotes.pl
@@ -0,0 +1,11 @@
+my $first = 0;
+while(<>) {
+	if (/^##/ && !$first) {
+		$first = 1;
+		next;
+	}
+	if (/^##/ && $first) {
+		exit;
+	}
+	print;
+}

-----------------------------------------------------------------------

Summary of changes:
 .github/workflows/release.yml | 77 +++++++++++++++++++++++++++++++++++++++++++
 HOWTO_RELEASE                 | 53 ++++++++++++++++++-----------
 NEWS                          |  2 +-
 Version.txt                   |  4 +--
 tools/ci/releasenotes.pl      | 11 +++++++
 5 files changed, 125 insertions(+), 22 deletions(-)
 create mode 100644 .github/workflows/release.yml
 create mode 100644 tools/ci/releasenotes.pl


hooks/post-receive
-- 
GEOS


More information about the geos-commits mailing list