Skip to content

Commit fbe00ff

Browse files
committed
Update release actions
1 parent 6385723 commit fbe00ff

File tree

1 file changed

+40
-43
lines changed

1 file changed

+40
-43
lines changed

.github/workflows/release.yml

Lines changed: 40 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ name: Release
33
on:
44
workflow_dispatch:
55

6+
env:
7+
postgis: 3
8+
vroom: 1.12.0
69

710
jobs:
811
release:
@@ -14,37 +17,31 @@ jobs:
1417

1518
steps:
1619
- name: Checkout repository
17-
uses: actions/checkout@v2
20+
uses: actions/checkout@v4
1821
with:
1922
fetch-depth: 0
2023

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+
2129
- name: Get postgres version
2230
run: |
2331
sudo service postgresql start
24-
PGVER=$(psql --version | grep -Po '(?<=psql \(PostgreSQL\) )[^;]+(?=\.\d \()')
32+
PGVER=$(psql --version | grep -Po '(?<=psql \(PostgreSQL\) )[^;]+(?=\.\d+ \()')
2533
PROJECT_VERSION=$(grep -Po '(?<=project\(VRPROUTING VERSION )[^;]+' CMakeLists.txt)
2634
echo "PGVER=${PGVER}" >> $GITHUB_ENV
2735
echo "PGPORT=5432" >> $GITHUB_ENV
28-
echo "PGIS=3" >> $GITHUB_ENV
2936
echo "PROJECT_VERSION=${PROJECT_VERSION}" >> $GITHUB_ENV
30-
echo "VROOMVER=1.12.0" >> $GITHUB_ENV
37+
echo "TAG_NAME=v${PROJECT_VERSION}" >> $GITHUB_ENV
3138
32-
- name: Verify Tag Name
39+
- name: Create and Push Tag
3340
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
41+
git tag -a "${TAG_NAME}" -m "Release version ${TAG_NAME}"
42+
git push origin "${TAG_NAME}"
43+
env:
44+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4845

4946
- name: Add PostgreSQL APT repository
5047
run: |
@@ -54,18 +51,17 @@ jobs:
5451
$(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
5552
5653
- name: Install python
57-
uses: actions/setup-python@v2
54+
uses: actions/setup-python@v5
5855
with:
5956
python-version: '3.x'
6057

6158
- name: Install dependencies
6259
run: |
6360
sudo apt-get update
6461
sudo apt-get install -y \
65-
libboost-graph-dev \
6662
postgresql-${PGVER} \
67-
postgresql-${PGVER}-postgis-${PGIS} \
68-
postgresql-${PGVER}-postgis-${PGIS}-scripts \
63+
postgresql-${PGVER}-postgis-${{ env.postgis }} \
64+
postgresql-${PGVER}-postgis-${{ env.postgis }}-scripts \
6965
postgresql-server-dev-${PGVER} \
7066
graphviz \
7167
doxygen
@@ -77,35 +73,41 @@ jobs:
7773
run: |
7874
sudo apt-get install libssl-dev libasio-dev libglpk-dev
7975
76+
- name: Install Google OR-Tools dependencies
77+
run: |
78+
sudo pip install --root=/ ortools
79+
8080
- name: Cache VROOM
8181
id: cache-vroom
82-
uses: actions/cache@v2
82+
uses: actions/cache@v4
8383
env:
8484
cache-name: vroom
8585
with:
86-
path: |
87-
~/vroom-${{ env.VROOMVER }}
88-
key: ${{ runner.os }}-${{ env.cache-name }}-${{ env.VROOMVER }}
86+
path: vroom-${{ env.vroom }}
87+
key: ${{ matrix.os }}-${{ env.cache-name }}-${{ env.vroom }}
88+
89+
- name: Checkout VROOM
90+
if: steps.cache-vroom.outputs.cache-hit != 'true'
91+
uses: actions/checkout@v4
92+
with:
93+
path: vroom-${{ env.vroom }}
94+
repository: VROOM-Project/vroom
95+
ref: "v${{ env.vroom }}"
96+
submodules: true
8997

9098
- name: Build VROOM
9199
if: steps.cache-vroom.outputs.cache-hit != 'true'
92100
run: |
93-
git clone --depth 1 --branch v${{ env.VROOMVER }} https://github.com/VROOM-Project/vroom ~/vroom-${{ env.VROOMVER }}
94-
95-
# init the required submodules
96-
cd ~/vroom-${{ env.VROOMVER }}/
97-
git submodule update --init
98-
99-
# Using "shared" target for creating Position Independent Code, disabling use of routing
100-
cd ~/vroom-${{ env.VROOMVER }}/src
101+
cd vroom-${{ env.vroom }}/src
101102
USE_ROUTING=false make shared
102103
103104
- name: Configure
104105
run: |
105106
export PATH=/usr/lib/postgresql/${PGVER}/bin:$PATH
107+
VROOM=$(pwd)/vroom-${{ env.vroom }}
106108
mkdir build
107109
cd build
108-
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 }} ..
110+
cmake -DPOSTGRESQL_VERSION=${PGVER} -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON -DBUILD_DOXY=ON -DCMAKE_BUILD_TYPE=Release -DES=ON -DVROOM_INSTALL_PATH=${VROOM} ..
109111
110112
- name: Build
111113
run: |
@@ -115,11 +117,6 @@ jobs:
115117
sudo make install
116118
make doxy
117119
118-
- name: Initialize mandatory git config
119-
run: |
120-
git config user.name "github-actions[bot]"
121-
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
122-
123120
- name: Update Users Documentation
124121
run: |
125122
git checkout origin/gh-pages
@@ -150,10 +147,10 @@ jobs:
150147
tar -zcvf doc-v${PROJECT_VERSION}-en.tar.gz doc-v${PROJECT_VERSION}-en
151148
152149
cd ../..
153-
grep -Pzo "(?s)v${PROJECT_VERSION//./\\.} Release Notes.*?(?=v.\..\.. Release Notes)" NEWS | tr '\0' '\n' > release_body.txt
150+
grep -Pzo "(?s)### vrpRouting ${PROJECT_VERSION//./\\.} Release Notes.*?(?=## vrpRouting)" NEWS.md | tr '\0' '\n' > release_body.txt
154151
155152
# Only executed during the first release
156-
grep -q '[^[:space:]]' < release_body.txt || cp NEWS release_body.txt
153+
grep -q '[^[:space:]]' < release_body.txt || cp NEWS.md release_body.txt
157154
158155
echo >> release_body.txt
159156
echo "**Attachments**" >> release_body.txt

0 commit comments

Comments
 (0)