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