@@ -3,6 +3,9 @@ name: Release
3
3
on :
4
4
workflow_dispatch :
5
5
6
+ env :
7
+ postgis : 3
8
+ vroom : 1.12.0
6
9
7
10
jobs :
8
11
release :
@@ -14,37 +17,24 @@ jobs:
14
17
15
18
steps :
16
19
- name : Checkout repository
17
- uses : actions/checkout@v3
20
+ uses : actions/checkout@v4
18
21
with :
19
22
fetch-depth : 0
20
23
24
+ - name : Initialize mandatory git config
25
+ run : |
26
+ git config user.name "github-actions[bot]"
27
+ git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
28
+
21
29
- name : Get postgres version
22
30
run : |
23
31
sudo service postgresql start
24
- PGVER=$(psql --version | grep -Po '(?<=psql \(PostgreSQL\) )[^;]+(?=\.\d \()')
32
+ PGVER=$(psql --version | grep -Po '(?<=psql \(PostgreSQL\) )[^;]+(?=\.\d+ \()')
25
33
PROJECT_VERSION=$(grep -Po '(?<=project\(VRPROUTING VERSION )[^;]+' CMakeLists.txt)
26
34
echo "PGVER=${PGVER}" >> $GITHUB_ENV
27
35
echo "PGPORT=5432" >> $GITHUB_ENV
28
- echo "PGIS=3" >> $GITHUB_ENV
29
36
echo "PROJECT_VERSION=${PROJECT_VERSION}" >> $GITHUB_ENV
30
- echo "VROOMVER=1.12.0" >> $GITHUB_ENV
31
-
32
- - name : Verify Tag Name
33
- run : |
34
- TAG_NAME=${GITHUB_REF#refs/*/}
35
- echo "TAG_NAME=${TAG_NAME}" >> $GITHUB_ENV
36
- echo ${TAG_NAME}
37
- echo ${PROJECT_VERSION}
38
- if [ "${TAG_NAME}" != "v${PROJECT_VERSION}" ]; then
39
- echo "Tag name should be v${PROJECT_VERSION}"
40
- exit 1
41
- fi
42
-
43
- - name : Extract branch name
44
- run : |
45
- raw=$(git branch -r --contains ${{ github.ref }})
46
- branch=${raw##*/}
47
- echo "BRANCH=$branch" >> $GITHUB_ENV
37
+ echo "TAG_NAME=v${PROJECT_VERSION}" >> $GITHUB_ENV
48
38
49
39
- name : Add PostgreSQL APT repository
50
40
run : |
54
44
$(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
55
45
56
46
- name : Install python
57
- uses : actions/setup-python@v2
47
+ uses : actions/setup-python@v5
58
48
with :
59
49
python-version : ' 3.x'
60
50
63
53
sudo apt-get update
64
54
sudo apt-get install -y \
65
55
postgresql-${PGVER} \
66
- postgresql-${PGVER}-postgis-${PGIS } \
67
- postgresql-${PGVER}-postgis-${PGIS }-scripts \
56
+ postgresql-${PGVER}-postgis-${{ env.postgis } } \
57
+ postgresql-${PGVER}-postgis-${{ env.postgis } }-scripts \
68
58
postgresql-server-dev-${PGVER} \
69
59
graphviz \
70
60
doxygen
@@ -76,35 +66,41 @@ jobs:
76
66
run : |
77
67
sudo apt-get install libssl-dev libasio-dev libglpk-dev
78
68
69
+ - name : Install Google OR-Tools dependencies
70
+ run : |
71
+ sudo pip install --root=/ ortools
72
+
79
73
- name : Cache VROOM
80
74
id : cache-vroom
81
- uses : actions/cache@v2
75
+ uses : actions/cache@v4
82
76
env :
83
77
cache-name : vroom
84
78
with :
85
- path : |
86
- ~/vroom-${{ env.VROOMVER }}
87
- key : ${{ runner.os }}-${{ env.cache-name }}-${{ env.VROOMVER }}
79
+ path : vroom-${{ env.vroom }}
80
+ key : ${{ matrix.os }}-${{ env.cache-name }}-${{ env.vroom }}
81
+
82
+ - name : Checkout VROOM
83
+ if : steps.cache-vroom.outputs.cache-hit != 'true'
84
+ uses : actions/checkout@v4
85
+ with :
86
+ path : vroom-${{ env.vroom }}
87
+ repository : VROOM-Project/vroom
88
+ ref : " v${{ env.vroom }}"
89
+ submodules : true
88
90
89
91
- name : Build VROOM
90
92
if : steps.cache-vroom.outputs.cache-hit != 'true'
91
93
run : |
92
- git clone --depth 1 --branch v${{ env.VROOMVER }} https://github.com/VROOM-Project/vroom ~/vroom-${{ env.VROOMVER }}
93
-
94
- # init the required submodules
95
- cd ~/vroom-${{ env.VROOMVER }}/
96
- git submodule update --init
97
-
98
- # Using "shared" target for creating Position Independent Code, disabling use of routing
99
- cd ~/vroom-${{ env.VROOMVER }}/src
94
+ cd vroom-${{ env.vroom }}/src
100
95
USE_ROUTING=false make shared
101
96
102
97
- name : Configure
103
98
run : |
104
99
export PATH=/usr/lib/postgresql/${PGVER}/bin:$PATH
100
+ VROOM=$(pwd)/vroom-${{ env.vroom }}
105
101
mkdir build
106
102
cd build
107
- cmake -DPOSTGRESQL_VERSION=${PGVER} -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON -DBUILD_DOXY=ON -DCMAKE_BUILD_TYPE=Release -DES=ON -DVROOM_INSTALL_PATH=$HOME/vroom-${{ env.VROOMVER } } ..
103
+ cmake -DPOSTGRESQL_VERSION=${PGVER} -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON -DBUILD_DOXY=ON -DCMAKE_BUILD_TYPE=Release -DES=ON -DVROOM_INSTALL_PATH=${VROOM } ..
108
104
109
105
- name : Build
110
106
run : |
@@ -114,11 +110,6 @@ jobs:
114
110
sudo make install
115
111
make doxy
116
112
117
- - name : Initialize mandatory git config
118
- run : |
119
- git config user.name "github-actions[bot]"
120
- git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
121
-
122
113
- name : Update Users Documentation
123
114
run : |
124
115
git checkout origin/gh-pages
@@ -149,10 +140,10 @@ jobs:
149
140
tar -zcvf doc-v${PROJECT_VERSION}-en.tar.gz doc-v${PROJECT_VERSION}-en
150
141
151
142
cd ../..
152
- grep -Pzo "(?s)v ${PROJECT_VERSION//./\\.} Release Notes.*?(?=v.\..\.. Release Notes )" NEWS | tr '\0' '\n' > release_body.txt
143
+ grep -Pzo "(?s)### vrpRouting ${PROJECT_VERSION//./\\.} Release Notes.*?(?=## vrpRouting )" NEWS.md | tr '\0' '\n' > release_body.txt
153
144
154
145
# Only executed during the first release
155
- grep -q '[^[:space:]]' < release_body.txt || cp NEWS release_body.txt
146
+ grep -q '[^[:space:]]' < release_body.txt || cp NEWS.md release_body.txt
156
147
157
148
echo >> release_body.txt
158
149
echo "**Attachments**" >> release_body.txt
@@ -167,7 +158,7 @@ jobs:
167
158
uses : softprops/action-gh-release@v1
168
159
with :
169
160
body_path : release_body.txt
170
- name : ${{ env.TAG_NAME }}
161
+ tag_name : ${{ env.TAG_NAME }}
171
162
draft : true
172
163
prerelease : false
173
164
files : |
0 commit comments