[geos-commits] [SCM] GEOS branch 3.8 updated. fdde35b7b5c1b71104d6b247a398065350a04552

git at osgeo.org git at osgeo.org
Sat Nov 11 18:12:05 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.8 has been updated
       via  fdde35b7b5c1b71104d6b247a398065350a04552 (commit)
      from  a4631692706716576734d7779dfb7173ac197c9c (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 fdde35b7b5c1b71104d6b247a398065350a04552
Author: Regina Obe <lr at pcorp.us>
Date:   Sat Nov 11 21:03:46 2023 -0500

    Prep for GEOS 3.8.4 release
    Put in logic to build releases using GHA

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 05853dccb..e413bceab 100644
--- a/HOWTO_RELEASE
+++ b/HOWTO_RELEASE
@@ -1,45 +1,60 @@
 1. Verify that the versions currently set in Version.txt
-   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 the current trac milestone, and a new one for the next cycle.
-
-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 b2dfcc6d6..d9cd6d5d9 100644
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,11 @@
 
-Changes in 3.8.4
-20xx-xx-xx
+Changes in 3.8.4 EOL
+2024-11-xx
 
 - Bug fixes / improvements
   - Fix PreparedGeometry to avoid crashes with EMPTY elements in input (GH-678, Martin Davis)
   - GEOSClipByRect: Fix case with POINT EMPTY (GH-913, Mike Taves)
+  - Fix Crash in GEOSIntersects with empty point inputs (GH-673, Daniel Baston)
 
 
 Changes in 3.8.3
diff --git a/Version.txt b/Version.txt
index 51a91ff2e..91daeade3 100644
--- a/Version.txt
+++ b/Version.txt
@@ -5,7 +5,7 @@ GEOS_VERSION_MINOR=8
 GEOS_VERSION_PATCH=4
 
 # OPTIONS: "", "dev", "rc1" etc.
-GEOS_PATCH_WORD=dev
+GEOS_PATCH_WORD=
 
 # GEOS CAPI Versions
 #
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                          |  5 +--
 Version.txt                   |  2 +-
 tools/ci/releasenotes.pl      | 11 +++++++
 5 files changed, 126 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