-
Notifications
You must be signed in to change notification settings - Fork 370
79 lines (65 loc) · 1.87 KB
/
release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#
# GitHub Actions for GEOS Web Pages
# Paul Ramsey <[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.md 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@v4
- 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.md > 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