Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GSoC-2021] Experimental VROOM Category functions - vrp_vroom, vrp_vroomJobs, vrp_vroomShipments #10

Merged
merged 20 commits into from
Aug 11, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
14e9b43
[ci] Add style-lint check to GitHub Actions
krashish8 Aug 10, 2021
8705965
[tools] Fix code checker: Exit with non-zero status in case of error
krashish8 Aug 10, 2021
388b69f
[editorconfig] Modify editorconfig according to code checker
krashish8 Aug 10, 2021
74f99a9
[lint] Linting C/C++ code for fixing code checker errors
krashish8 Aug 10, 2021
6a367ae
[vroom][sql] Added SQL code for VROOM category functions
krashish8 Aug 10, 2021
e44afc4
[vroom][src] Added VROOM driver and C code
krashish8 Aug 10, 2021
2c91710
[vroom][src] Added vroom common files, to take input
krashish8 Aug 10, 2021
e45341a
[vroom][include] Added vroom common files
krashish8 Aug 10, 2021
1103ba1
[vroom][include] Added vroom types
krashish8 Aug 10, 2021
1933468
[vroom][include] Added vroom driver
krashish8 Aug 10, 2021
3729131
[vroom][cmake] Updated CMakeLists to build vroom
krashish8 Aug 10, 2021
8ecaa1d
[vroom][config] Updated configuration file to compile vroom
krashish8 Aug 10, 2021
f4c7f0d
[vroom][ci] Updated GitHub Actions to compile, build and test vroom
krashish8 Aug 10, 2021
0497d34
[vroom][doc] Added vroom functions documentation
krashish8 Aug 10, 2021
bac4a03
[vroom][docqueries] Added vroom function docqueries
krashish8 Aug 10, 2021
e16ce6b
[vroom][tools] Added vroomdata
krashish8 Aug 10, 2021
714323c
[vroom][pgtap] Added vroom pgtap tests
krashish8 Aug 10, 2021
c273912
[readme] Updated README to include vroom details
krashish8 Aug 10, 2021
e3a05f4
[doc] Update release notes
krashish8 Aug 10, 2021
9e4515d
[news] Updated NEWS for vroom category functions
krashish8 Aug 10, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ indent_size = 4
indent_style = space
charset = utf-8
end_of_line = lf
insert_final_newline = false
insert_final_newline = true
trim_trailing_whitespace = true

# C++ files want tab indentation
Expand Down
20 changes: 18 additions & 2 deletions .github/workflows/boost_version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,21 +62,37 @@ jobs:
sudo tar --bzip2 -xf boost_1_${{ matrix.boost_minor }}_0.tar.bz2
sudo mv boost_1_${{ matrix.boost_minor }}_0/boost /usr/include/

- name: Install VROOM dependencies
run: |
sudo apt-get install libssl-dev libasio-dev libglpk-dev

- name: Build VROOM v1.10.0
run: |
wget https://github.com/VROOM-Project/vroom/archive/refs/tags/v1.10.0.tar.gz
tar -zvxf v1.10.0.tar.gz
cd vroom-1.10.0/src

# Create object file with position independent code using -fPIC flag
sed -i 's/CXXFLAGS = /CXXFLAGS = -fPIC /' makefile

make
cd ..
echo "VROOM_INSTALL_PATH=$(pwd)" >> $GITHUB_ENV

- name: Configure
run: |
export PATH=/usr/lib/postgresql/${PGVER}/bin:$PATH
mkdir build
cd build
cmake -DPOSTGRESQL_VERSION=${PGVER} -DCMAKE_BUILD_TYPE=Debug -DWITH_DOC=OFF ..
cmake -DPOSTGRESQL_VERSION=${PGVER} -DCMAKE_BUILD_TYPE=Debug -DWITH_DOC=OFF -DVROOM_INSTALL_PATH=${VROOM_INSTALL_PATH} ..

- name: Build
run: |
cd build
make -j 4
sudo make install

- name: Unapck data
- name: Unpack data
run: |
cd tools/testers
tar -xf matrix_new_values.tar.gz
Expand Down
15 changes: 15 additions & 0 deletions .github/workflows/check-files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,18 @@ jobs:
sudo apt install -y shellcheck
- name: Run Shell Check
run: ./tools/scripts/test_shell.sh

style-check:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Requirements
uses: actions/checkout@v2
with:
repository: 'google/styleguide'
ref: "gh-pages"
path: "code_linter/styleguide"
- name: Run linter
run: |
bash ./tools/scripts/code_checker.sh
21 changes: 19 additions & 2 deletions .github/workflows/check-queries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,29 @@ jobs:
postgresql-${PGVER}-pgrouting \
postgresql-server-dev-${PGVER}

- name: Install VROOM dependencies
run: |
sudo apt-get install libssl-dev libasio-dev libglpk-dev

- name: Build VROOM v1.10.0
run: |
wget https://github.com/VROOM-Project/vroom/archive/refs/tags/v1.10.0.tar.gz
tar -zvxf v1.10.0.tar.gz
cd vroom-1.10.0/src

# Create object file with position independent code using -fPIC flag
sed -i 's/CXXFLAGS = /CXXFLAGS = -fPIC /' makefile

make
cd ..
echo "VROOM_INSTALL_PATH=$(pwd)" >> $GITHUB_ENV

- name: Configure
run: |
export PATH=/usr/lib/postgresql/${PGVER}/bin:$PATH
mkdir build
cd build
cmake -DPOSTGRESQL_VERSION=${PGVER} -DCMAKE_BUILD_TYPE=Debug ..
cmake -DPOSTGRESQL_VERSION=${PGVER} -DCMAKE_BUILD_TYPE=Debug -DVROOM_INSTALL_PATH=${VROOM_INSTALL_PATH} ..

- name: Build
run: |
Expand All @@ -73,7 +90,7 @@ jobs:
tools/scripts/get_signatures.sh -p ${PGPORT}
git diff --exit-code --quiet sql/sigs/*.sig

- name: Unapck data
- name: Unpack data
run: |
cd tools/testers
tar -xf matrix_new_values.tar.gz
Expand Down
21 changes: 19 additions & 2 deletions .github/workflows/clang.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,20 +55,37 @@ jobs:
postgresql-${PGVER}-pgrouting \
postgresql-server-dev-${PGVER}

- name: Install VROOM dependencies
run: |
sudo apt-get install libssl-dev libasio-dev libglpk-dev

- name: Build VROOM v1.10.0
run: |
wget https://github.com/VROOM-Project/vroom/archive/refs/tags/v1.10.0.tar.gz
tar -zvxf v1.10.0.tar.gz
cd vroom-1.10.0/src

# Create object file with position independent code using -fPIC flag
sed -i 's/CXXFLAGS = /CXXFLAGS = -fPIC /' makefile

make
cd ..
echo "VROOM_INSTALL_PATH=$(pwd)" >> $GITHUB_ENV

- name: Configure
run: |
export PATH=/usr/lib/postgresql/${PGVER}/bin:$PATH
mkdir build
cd build
CXX=clang++ CC=clang cmake -DPOSTGRESQL_VERSION=${PGVER} -DCMAKE_BUILD_TYPE=${{ matrix.release }} -DWITH_DOC=OFF ..
CXX=clang++ CC=clang cmake -DPOSTGRESQL_VERSION=${PGVER} -DCMAKE_BUILD_TYPE=${{ matrix.release }} -DWITH_DOC=OFF -DVROOM_INSTALL_PATH=${VROOM_INSTALL_PATH} ..

- name: Build
run: |
cd build
make -j 4
sudo make install

- name: Unapck data
- name: Unpack data
run: |
cd tools/testers
tar -xf matrix_new_values.tar.gz
Expand Down
20 changes: 19 additions & 1 deletion .github/workflows/doc-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,23 @@ jobs:
pip install -r requirements.txt
pip list

- name: Install VROOM dependencies
run: |
sudo apt-get install libssl-dev libasio-dev libglpk-dev

- name: Build VROOM v1.10.0
run: |
wget https://github.com/VROOM-Project/vroom/archive/refs/tags/v1.10.0.tar.gz
tar -zvxf v1.10.0.tar.gz
cd vroom-1.10.0/src

# Create object file with position independent code using -fPIC flag
sed -i 's/CXXFLAGS = /CXXFLAGS = -fPIC /' makefile

make
cd ..
echo "VROOM_INSTALL_PATH=$(pwd)" >> $GITHUB_ENV

- name: Configure
if: env.PROCESS == 'true'
run: |
Expand All @@ -84,7 +101,8 @@ jobs:
cd build
cmake -DLINKCHECK=ON -DHTML=ON -DWITH_DOC=ON \
-DDE=ON -DES=ON -DFR=ON -DJA=ON -DIT=ON \
-DPOSTGRESQL_VERSION=${PGVER} -DCMAKE_BUILD_TYPE=Release ..
-DPOSTGRESQL_VERSION=${PGVER} -DCMAKE_BUILD_TYPE=Release \
-DVROOM_INSTALL_PATH=${VROOM_INSTALL_PATH} ..

- name: Check Links
if: env.PROCESS == 'true'
Expand Down
20 changes: 19 additions & 1 deletion .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,13 +56,31 @@ jobs:
pip install -r requirements.txt
pip list

- name: Install VROOM dependencies
run: |
sudo apt-get install libssl-dev libasio-dev libglpk-dev

- name: Build VROOM v1.10.0
run: |
wget https://github.com/VROOM-Project/vroom/archive/refs/tags/v1.10.0.tar.gz
tar -zvxf v1.10.0.tar.gz
cd vroom-1.10.0/src

# Create object file with position independent code using -fPIC flag
sed -i 's/CXXFLAGS = /CXXFLAGS = -fPIC /' makefile

make
cd ..
echo "VROOM_INSTALL_PATH=$(pwd)" >> $GITHUB_ENV

- name: Configure link checks
run: |
export PATH=/usr/lib/postgresql/${PGVER}/bin:$PATH
mkdir build
cd build
cmake -DPOSTGRESQL_VERSION=${PGVER} -DCMAKE_BUILD_TYPE=Release \
-DWITH_DOC=ON -DES=ON ..
-DWITH_DOC=ON -DES=ON \
-DVROOM_INSTALL_PATH=${VROOM_INSTALL_PATH} ..

- name: Build Documentation
run: |
Expand Down
28 changes: 26 additions & 2 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ on:
paths-ignore:
- '**.po'

# TODO: Fix the macOS build for compiling and building VROOM with vrprouting.
jobs:
build:
name: Build
Expand All @@ -22,11 +23,34 @@ jobs:
run: |
brew install postgis boost pgrouting

- name: Install VROOM dependencies
run: |
brew install openssl asio glpk

- name: Build VROOM v1.10.0
run: |
wget https://github.com/VROOM-Project/vroom/archive/refs/tags/v1.10.0.tar.gz
tar -zvxf v1.10.0.tar.gz
cd vroom-1.10.0/src

# Source: https://github.com/VROOM-Project/vroom/issues/378
ln -s /usr/local/opt/openssl/include/openssl /usr/local/include
ln -s /usr/local/opt/openssl/lib/libssl.dylib /usr/local/lib/
ln -s /usr/local/opt/openssl/lib/libcrypto.dylib /usr/local/lib/

# Create object file with position independent code using -fPIC flag
sed -i '' -e 's/CXXFLAGS = /CXXFLAGS = -fPIC /' makefile
sed -i '' -e 's/\/usr\/include\/glpk.h/\/usr\/local\/opt\/glpk\/include\/glpk.h/' makefile

make
cd ..
echo "VROOM_INSTALL_PATH=$(pwd)" >> $GITHUB_ENV

- name: Configure
run: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_DOC=OFF ..
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_DOC=OFF -DVROOM_INSTALL_PATH=${VROOM_INSTALL_PATH} ..

- name: Build
run: |
Expand Down Expand Up @@ -63,7 +87,7 @@ jobs:
sudo make install
cpan TAP::Parser::SourceHandler::pgTAP

- name: Unapck data
- name: Unpack data
run: |
cd tools/testers
tar -xf matrix_new_values.tar.gz
Expand Down
19 changes: 18 additions & 1 deletion .github/workflows/publish-doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,29 @@ jobs:
pip install sphinx-bootstrap-theme
pip list

- name: Install VROOM dependencies
run: |
sudo apt-get install libssl-dev libasio-dev libglpk-dev

- name: Build VROOM v1.10.0
run: |
wget https://github.com/VROOM-Project/vroom/archive/refs/tags/v1.10.0.tar.gz
tar -zvxf v1.10.0.tar.gz
cd vroom-1.10.0/src

# Create object file with position independent code using -fPIC flag
sed -i 's/CXXFLAGS = /CXXFLAGS = -fPIC /' makefile

make
cd ..
echo "VROOM_INSTALL_PATH=$(pwd)" >> $GITHUB_ENV

- name: Configure
run: |
export PATH=/usr/lib/postgresql/${PGVER}/bin:$PATH
mkdir build
cd build
cmake -DPOSTGRESQL_VERSION=${PGVER} -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON -DBUILD_DOXY=ON -DCMAKE_BUILD_TYPE=Release -DES=ON ..
cmake -DPOSTGRESQL_VERSION=${PGVER} -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON -DBUILD_DOXY=ON -DCMAKE_BUILD_TYPE=Release -DES=ON -DVROOM_INSTALL_PATH=${VROOM_INSTALL_PATH} ..

- name: Build
run: |
Expand Down
19 changes: 18 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,12 +75,29 @@ jobs:
pip install sphinx-bootstrap-theme
pip list

- name: Install VROOM dependencies
run: |
sudo apt-get install libssl-dev libasio-dev libglpk-dev

- name: Build VROOM v1.10.0
run: |
wget https://github.com/VROOM-Project/vroom/archive/refs/tags/v1.10.0.tar.gz
tar -zvxf v1.10.0.tar.gz
cd vroom-1.10.0/src

# Create object file with position independent code using -fPIC flag
sed -i 's/CXXFLAGS = /CXXFLAGS = -fPIC /' makefile

make
cd ..
echo "VROOM_INSTALL_PATH=$(pwd)" >> $GITHUB_ENV

- name: Configure
run: |
export PATH=/usr/lib/postgresql/${PGVER}/bin:$PATH
mkdir build
cd build
cmake -DPOSTGRESQL_VERSION=${PGVER} -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON -DBUILD_DOXY=ON -DCMAKE_BUILD_TYPE=Release -DES=ON ..
cmake -DPOSTGRESQL_VERSION=${PGVER} -DDOC_USE_BOOTSTRAP=ON -DWITH_DOC=ON -DBUILD_DOXY=ON -DCMAKE_BUILD_TYPE=Release -DES=ON -DVROOM_INSTALL_PATH=${VROOM_INSTALL_PATH} ..

- name: Build
run: |
Expand Down
21 changes: 19 additions & 2 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,20 +55,37 @@ jobs:
postgresql-${{ matrix.psql }}-pgrouting \
postgresql-server-dev-${{ matrix.psql }}

- name: Install VROOM dependencies
run: |
sudo apt-get install libssl-dev libasio-dev libglpk-dev

- name: Build VROOM v1.10.0
run: |
wget https://github.com/VROOM-Project/vroom/archive/refs/tags/v1.10.0.tar.gz
tar -zvxf v1.10.0.tar.gz
cd vroom-1.10.0/src

# Create object file with position independent code using -fPIC flag
sed -i 's/CXXFLAGS = /CXXFLAGS = -fPIC /' makefile

make
cd ..
echo "VROOM_INSTALL_PATH=$(pwd)" >> $GITHUB_ENV

- name: Configure
run: |
export PATH=/usr/lib/postgresql/${{ matrix.psql }}/bin:$PATH
mkdir build
cd build
cmake -DPOSTGRESQL_VERSION=${{ matrix.psql }} -DCMAKE_BUILD_TYPE=${{ matrix.release }} -DWITH_DOC=OFF ..
cmake -DPOSTGRESQL_VERSION=${{ matrix.psql }} -DCMAKE_BUILD_TYPE=${{ matrix.release }} -DWITH_DOC=OFF -DVROOM_INSTALL_PATH=${VROOM_INSTALL_PATH} ..

- name: Build
run: |
cd build
make -j 4
sudo make install

- name: Unapck data
- name: Unpack data
run: |
cd tools/testers
tar -xf matrix_new_values.tar.gz
Expand Down
Loading