@@ -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,25 @@ 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
21
24
- name : Get postgres version
22
25
run : |
23
26
sudo service postgresql start
24
- PGVER=$(psql --version | grep -Po '(?<=psql \(PostgreSQL\) )[^;]+(?=\.\d \()')
27
+ PGVER=$(psql --version | grep -Po '(?<=psql \(PostgreSQL\) )[^;]+(?=\.\d+ \()')
25
28
PROJECT_VERSION=$(grep -Po '(?<=project\(VRPROUTING VERSION )[^;]+' CMakeLists.txt)
26
29
echo "PGVER=${PGVER}" >> $GITHUB_ENV
27
30
echo "PGPORT=5432" >> $GITHUB_ENV
28
- echo "PGIS=3" >> $GITHUB_ENV
29
31
echo "PROJECT_VERSION=${PROJECT_VERSION}" >> $GITHUB_ENV
30
- echo "VROOMVER=1.12.0" >> $GITHUB_ENV
31
32
32
- - name : Verify Tag Name
33
+ - name : Create and Push Tag
33
34
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
35
+ git tag -a "v${PROJECT_VERSION}" -m "Release version ${PROJECT_VERSION}"
36
+ git push origin "v${PROJECT_VERSION}"
37
+ env :
38
+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
48
39
49
40
- name : Add PostgreSQL APT repository
50
41
run : |
54
45
$(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
55
46
56
47
- name : Install python
57
- uses : actions/setup-python@v2
48
+ uses : actions/setup-python@v5
58
49
with :
59
50
python-version : ' 3.x'
60
51
63
54
sudo apt-get update
64
55
sudo apt-get install -y \
65
56
postgresql-${PGVER} \
66
- postgresql-${PGVER}-postgis-${PGIS } \
67
- postgresql-${PGVER}-postgis-${PGIS }-scripts \
57
+ postgresql-${PGVER}-postgis-${{ env.postgis } } \
58
+ postgresql-${PGVER}-postgis-${{ env.postgis } }-scripts \
68
59
postgresql-server-dev-${PGVER} \
69
60
graphviz \
70
61
doxygen
@@ -76,35 +67,41 @@ jobs:
76
67
run : |
77
68
sudo apt-get install libssl-dev libasio-dev libglpk-dev
78
69
70
+ - name : Install Google OR-Tools dependencies
71
+ run : |
72
+ sudo pip install --root=/ ortools
73
+
79
74
- name : Cache VROOM
80
75
id : cache-vroom
81
- uses : actions/cache@v2
76
+ uses : actions/cache@v4
82
77
env :
83
78
cache-name : vroom
84
79
with :
85
- path : |
86
- ~/vroom-${{ env.VROOMVER }}
87
- key : ${{ runner.os }}-${{ env.cache-name }}-${{ env.VROOMVER }}
80
+ path : vroom-${{ env.vroom }}
81
+ key : ${{ matrix.os }}-${{ env.cache-name }}-${{ env.vroom }}
82
+
83
+ - name : Checkout VROOM
84
+ if : steps.cache-vroom.outputs.cache-hit != 'true'
85
+ uses : actions/checkout@v4
86
+ with :
87
+ path : vroom-${{ env.vroom }}
88
+ repository : VROOM-Project/vroom
89
+ ref : " v${{ env.vroom }}"
90
+ submodules : true
88
91
89
92
- name : Build VROOM
90
93
if : steps.cache-vroom.outputs.cache-hit != 'true'
91
94
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
95
+ cd vroom-${{ env.vroom }}/src
100
96
USE_ROUTING=false make shared
101
97
102
98
- name : Configure
103
99
run : |
104
100
export PATH=/usr/lib/postgresql/${PGVER}/bin:$PATH
101
+ VROOM=$(pwd)/vroom-${{ env.vroom }}
105
102
mkdir build
106
103
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 } } ..
104
+ 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
105
109
106
- name : Build
110
107
run : |
@@ -149,10 +146,10 @@ jobs:
149
146
tar -zcvf doc-v${PROJECT_VERSION}-en.tar.gz doc-v${PROJECT_VERSION}-en
150
147
151
148
cd ../..
152
- grep -Pzo "(?s)v${PROJECT_VERSION//./\\.} Release Notes.*?(?=v.\..\.. Release Notes)" NEWS | tr '\0' '\n' > release_body.txt
149
+ grep -Pzo "(?s)v${PROJECT_VERSION//./\\.} Release Notes.*?(?=v.\..\.. Release Notes)" NEWS.md | tr '\0' '\n' > release_body.txt
153
150
154
151
# Only executed during the first release
155
- grep -q '[^[:space:]]' < release_body.txt || cp NEWS release_body.txt
152
+ grep -q '[^[:space:]]' < release_body.txt || cp NEWS.md release_body.txt
156
153
157
154
echo >> release_body.txt
158
155
echo "**Attachments**" >> release_body.txt
0 commit comments