Skip to content

Commit

Permalink
Merge pull request #1385 from fspindle/feat_venv_python_findings_ci
Browse files Browse the repository at this point in the history
Introduce ci for Python bindings using virtualenv
  • Loading branch information
fspindle authored Apr 19, 2024
2 parents 76a2dc2 + bdb3579 commit 351ae99
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 2 deletions.
78 changes: 78 additions & 0 deletions .github/workflows/ubuntu-venv.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: Ubuntu-python-bindings-venv

# https://www.jeffgeerling.com/blog/2020/running-github-actions-workflow-on-schedule-and-other-events
on:
push:
pull_request:
schedule:
- cron: '0 2 * * SUN'

# https://stackoverflow.com/questions/66335225/how-to-cancel-previous-runs-in-the-pr-when-you-push-new-commitsupdate-the-curre#comment133398800_72408109
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#concurrency
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true

jobs:
build-ubuntu-dep-apt:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Print system information
run: lscpu

- name: Print OS information
run: lsb_release -a

- name: Print compiler information
run: dpkg --list | grep compiler

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libx11-dev libdc1394-dev libv4l-dev liblapack-dev libopenblas-dev libeigen3-dev
sudo apt-get install libopencv-dev nlohmann-json3-dev
sudo apt-get install python3
- name: Upgrade pip3
run: |
python3 -m pip install --upgrade pip
- name: pip3 version
run: |
pip3 --version
- name: Install virtualenv
run: |
pip3 install virtualenv
- name: Setup PATH
run: |
echo "PATH=$PATH:$HOME/.local/bin" >> $GITHUB_ENV
echo ${PATH}
- name: Create build folder
run: |
mkdir build
cd build
- name: Build Python bindings
working-directory: build
run: |
echo "Create virtual env"
virtualenv venv
echo "Activate virtual env"
. venv/bin/activate
echo "Install pybind11"
pip install pybind11[global]
echo "Configure"
cmake .. -DBUILD_DEPRECATED_FUNCTIONS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TUTORIALS=OFF -DBUILD_TESTS=OFF -DBUILD_APPS=OFF -DBUILD_DEMOS=OFF
echo "Build python bindings"
make -j$(nproc) visp_python_bindings
echo "Build python tests"
make -j$(nproc) visp_python_bindings_test
echo "Build python doc"
make -j$(nproc) visp_python_bindings_doc
4 changes: 2 additions & 2 deletions doc/tutorial/python/tutorial-install-python-bindings.dox
Original file line number Diff line number Diff line change
Expand Up @@ -293,11 +293,11 @@ Then, install or upgrade pip3:

$ python3 -m pip install --upgrade pip
$ pip3 --version
$ pip 23.3.1 from /Users/username/Library/Python/3.9/lib/python/site-packages/pip (python 3.9)
pip 23.3.1 from /Users/username/Library/Python/3.9/lib/python/site-packages/pip (python 3.9)

Install virtualenv:

$ pip install virtualenv
$ pip3 install virtualenv

To use virtualenv as a standard executable make sure that the bin folder of your python install is in the PATH variable

Expand Down

0 comments on commit 351ae99

Please sign in to comment.