Skip to content

Commit 2f1407c

Browse files
committedSep 29, 2024·
Update release actions
1 parent 1f56435 commit 2f1407c

File tree

1 file changed

+40
-42
lines changed

1 file changed

+40
-42
lines changed
 

‎.github/workflows/release.yml

+40-42
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@v3
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,7 +51,7 @@ 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

@@ -63,8 +60,8 @@ jobs:
6360
sudo apt-get update
6461
sudo apt-get install -y \
6562
postgresql-${PGVER} \
66-
postgresql-${PGVER}-postgis-${PGIS} \
67-
postgresql-${PGVER}-postgis-${PGIS}-scripts \
63+
postgresql-${PGVER}-postgis-${{ env.postgis }} \
64+
postgresql-${PGVER}-postgis-${{ env.postgis }}-scripts \
6865
postgresql-server-dev-${PGVER} \
6966
graphviz \
7067
doxygen
@@ -76,35 +73,41 @@ jobs:
7673
run: |
7774
sudo apt-get install libssl-dev libasio-dev libglpk-dev
7875
76+
- name: Install Google OR-Tools dependencies
77+
run: |
78+
sudo pip install --root=/ ortools
79+
7980
- name: Cache VROOM
8081
id: cache-vroom
81-
uses: actions/cache@v2
82+
uses: actions/cache@v4
8283
env:
8384
cache-name: vroom
8485
with:
85-
path: |
86-
~/vroom-${{ env.VROOMVER }}
87-
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
8897

8998
- name: Build VROOM
9099
if: steps.cache-vroom.outputs.cache-hit != 'true'
91100
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
101+
cd vroom-${{ env.vroom }}/src
100102
USE_ROUTING=false make shared
101103
102104
- name: Configure
103105
run: |
104106
export PATH=/usr/lib/postgresql/${PGVER}/bin:$PATH
107+
VROOM=$(pwd)/vroom-${{ env.vroom }}
105108
mkdir build
106109
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 }} ..
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} ..
108111
109112
- name: Build
110113
run: |
@@ -114,11 +117,6 @@ jobs:
114117
sudo make install
115118
make doxy
116119
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-
122120
- name: Update Users Documentation
123121
run: |
124122
git checkout origin/gh-pages
@@ -149,10 +147,10 @@ jobs:
149147
tar -zcvf doc-v${PROJECT_VERSION}-en.tar.gz doc-v${PROJECT_VERSION}-en
150148
151149
cd ../..
152-
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
153151
154152
# Only executed during the first release
155-
grep -q '[^[:space:]]' < release_body.txt || cp NEWS release_body.txt
153+
grep -q '[^[:space:]]' < release_body.txt || cp NEWS.md release_body.txt
156154
157155
echo >> release_body.txt
158156
echo "**Attachments**" >> release_body.txt

0 commit comments

Comments
 (0)
Please sign in to comment.