-
Notifications
You must be signed in to change notification settings - Fork 371
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Put in logic to build releases using GHA
- Loading branch information
Showing
5 changed files
with
126 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
# | ||
# GitHub Actions for GEOS Web Pages | ||
# Paul Ramsey <[email protected]>, Regina Obe <[email protected]> | ||
# | ||
|
||
# | ||
# 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@v3 | ||
|
||
- name: Get tag | ||
id: tag | ||
uses: dawidd6/action-get-tag@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@v1 | ||
with: | ||
body_path: ${{ steps.notes.outputs.geosnotes }} | ||
name: Release ${{ steps.version.outputs.geosversion }} | ||
prerelease: false | ||
files: | | ||
./_build/geos*.tar.bz2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. | ||
|
||
$ 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 . | ||
|
||
10. Update wiki page https://trac.osgeo.org/geos/ at Download section | ||
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
my $first = 0; | ||
while(<>) { | ||
if (/^##/ && !$first) { | ||
$first = 1; | ||
next; | ||
} | ||
if (/^##/ && $first) { | ||
exit; | ||
} | ||
print; | ||
} |