diff --git a/.github/workflows/ubuntu-venv.yml b/.github/workflows/ubuntu-venv.yml new file mode 100644 index 0000000000..89b37b7dd3 --- /dev/null +++ b/.github/workflows/ubuntu-venv.yml @@ -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 diff --git a/doc/tutorial/python/tutorial-install-python-bindings.dox b/doc/tutorial/python/tutorial-install-python-bindings.dox index c7ba39e41d..4ac4a8b5a3 100644 --- a/doc/tutorial/python/tutorial-install-python-bindings.dox +++ b/doc/tutorial/python/tutorial-install-python-bindings.dox @@ -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