From ef78162c73b2578337f3956373449bb3c6085b6a Mon Sep 17 00:00:00 2001 From: Carlosespicur Date: Mon, 22 Sep 2025 12:08:39 +0200 Subject: [PATCH] =?UTF-8?q?=C3=A7Add=20requirements=20file=20for=20Python?= =?UTF-8?q?=20dependencies?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Carlosespicur --- .../actions/install_python_packages/action.yml | 16 ++++++++++++++-- .github/workflows/reusable-ci.yml | 2 +- README.md | 2 +- requirements.txt | 4 ++++ 4 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 requirements.txt diff --git a/.github/actions/install_python_packages/action.yml b/.github/actions/install_python_packages/action.yml index 79ed278..919b3a5 100644 --- a/.github/actions/install_python_packages/action.yml +++ b/.github/actions/install_python_packages/action.yml @@ -4,7 +4,12 @@ description: 'Install specified Python packages in a virtual environment' inputs: packages: description: 'A space-separated list of Python packages to install.' - required: true + required: false + default: '' + requirements-file: + description: 'Path to a requirements.txt file listing Python packages to install.' + required: false + default: '' python-version: description: 'The Python version to use (e.g., 3.12).' required: true @@ -36,5 +41,12 @@ runs: - name: Install Python packages run: | - pip install ${{ inputs.packages }} + if [ -n "${{ inputs.requirements-file }}" ]; then + pip install -r ${{ inputs.requirements-file }} + fi + + if [ -n "${{ inputs.packages }}" ]; then + pip install ${{ inputs.packages }} + fi + shell: bash diff --git a/.github/workflows/reusable-ci.yml b/.github/workflows/reusable-ci.yml index fc612ea..1aac06a 100644 --- a/.github/workflows/reusable-ci.yml +++ b/.github/workflows/reusable-ci.yml @@ -45,7 +45,7 @@ jobs: - name: Install required python packages uses: ./.github/actions/install_python_packages with: - packages: "catkin_pkg lark-parser empy==3.3.4 colcon-common-extensions" + requirements-file: "${{ github.workspace }}/requirements.txt" python-version: ${{ inputs.python-version }} use-sudo: "true" diff --git a/README.md b/README.md index cc6791c..ffab697 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ sudo apt install -y rsync pip git gcc-arm-none-eabi cmake This component needs `colcon` and other Python 3 packages in order to build micro-ROS packages: ```bash -pip3 install catkin_pkg lark-parser empy==3.3.4 colcon-common-extensions +pip3 install -r requirements.txt ``` ## Usage diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..4f3612c --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +catkin_pkg +lark-parser +empy==3.3.4 +colcon-common-extensions