From eec235b55bb5a5acb5c24a76b3f3070e398e21f4 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Fri, 5 Apr 2024 16:46:18 -0500 Subject: [PATCH 1/9] Add Action for validating package.xml files Signed-off-by: Addisu Z. Taddese --- validate_package_xml/action.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 validate_package_xml/action.yml diff --git a/validate_package_xml/action.yml b/validate_package_xml/action.yml new file mode 100644 index 0000000..fa0b2b2 --- /dev/null +++ b/validate_package_xml/action.yml @@ -0,0 +1,17 @@ +name: 'Validate package.xml' +description: 'Validate package.xml file' +runs: + using: "composite" + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: package.xml and CMake versions match + shell: bash + run: | + echo "Extract version numbers and compare" + package_xml_version=$(sed -nE 's/\s*([0-9.]*)<\/version>\s*/\1/p' package.xml) + echo "Version in package.xml: ${package_xml_version}" + cmake_version=$(sed -nE 's/^project.*VERSION\s*([0-9.]*).*/\1/p' CMakeLists.txt) + echo "Version in CMake: ${cmake_version}" + [ $package_xml_version = $cmake_version ] From 42283b055a3c2b04f9dd8ca2eda6bb131d61f4af Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Fri, 5 Apr 2024 17:00:34 -0500 Subject: [PATCH 2/9] Add summary Signed-off-by: Addisu Z. Taddese --- validate_package_xml/action.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/validate_package_xml/action.yml b/validate_package_xml/action.yml index fa0b2b2..cfad536 100644 --- a/validate_package_xml/action.yml +++ b/validate_package_xml/action.yml @@ -10,8 +10,9 @@ runs: shell: bash run: | echo "Extract version numbers and compare" + echo '## CMake and Package.xml Versions' >> $GITHUB_STEP_SUMMARY package_xml_version=$(sed -nE 's/\s*([0-9.]*)<\/version>\s*/\1/p' package.xml) - echo "Version in package.xml: ${package_xml_version}" + echo "Version in package.xml: ${package_xml_version}" | tee -a $GITHUB_STEP_SUMMARY cmake_version=$(sed -nE 's/^project.*VERSION\s*([0-9.]*).*/\1/p' CMakeLists.txt) - echo "Version in CMake: ${cmake_version}" + echo "Version in CMake: ${cmake_version}" | tee -a $GITHUB_STEP_SUMMARY [ $package_xml_version = $cmake_version ] From d01219ecae2cbfa6cf741736e8b790a96c83ae71 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Fri, 5 Apr 2024 17:26:43 -0500 Subject: [PATCH 3/9] Use ament_xmllint Signed-off-by: Addisu Z. Taddese --- validate_package_xml/action.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/validate_package_xml/action.yml b/validate_package_xml/action.yml index cfad536..39c8a14 100644 --- a/validate_package_xml/action.yml +++ b/validate_package_xml/action.yml @@ -6,6 +6,13 @@ runs: - name: Checkout uses: actions/checkout@v4 + - name: package.xml syntax validation + shell: bash + run: | + echo "Install ament-xmllint" + apt install python3-ament-xmllint + ament_xmllint package.xml | tee $GITHUB_STEP_SUMMARY + - name: package.xml and CMake versions match shell: bash run: | From 911e2464ebae799cfcc5efd268fb9ba2fad7e0a2 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Fri, 5 Apr 2024 17:27:42 -0500 Subject: [PATCH 4/9] Update install command Signed-off-by: Addisu Z. Taddese --- validate_package_xml/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/validate_package_xml/action.yml b/validate_package_xml/action.yml index 39c8a14..04c1fbf 100644 --- a/validate_package_xml/action.yml +++ b/validate_package_xml/action.yml @@ -10,7 +10,7 @@ runs: shell: bash run: | echo "Install ament-xmllint" - apt install python3-ament-xmllint + sudo apt-get install -y python3-ament-xmllint ament_xmllint package.xml | tee $GITHUB_STEP_SUMMARY - name: package.xml and CMake versions match From 3d9882d60522cefa17593a8f0caafa0815b40f61 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Fri, 5 Apr 2024 17:30:52 -0500 Subject: [PATCH 5/9] Fix summary Signed-off-by: Addisu Z. Taddese --- validate_package_xml/action.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/validate_package_xml/action.yml b/validate_package_xml/action.yml index 04c1fbf..0e12b6d 100644 --- a/validate_package_xml/action.yml +++ b/validate_package_xml/action.yml @@ -10,8 +10,9 @@ runs: shell: bash run: | echo "Install ament-xmllint" + sudo apt-get update sudo apt-get install -y python3-ament-xmllint - ament_xmllint package.xml | tee $GITHUB_STEP_SUMMARY + ament_xmllint package.xml 2>&1 | tee $GITHUB_STEP_SUMMARY - name: package.xml and CMake versions match shell: bash From 88381e0d122c23bf530145a5b4ff21333bba45e9 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Fri, 5 Apr 2024 17:35:16 -0500 Subject: [PATCH 6/9] Use pip Signed-off-by: Addisu Z. Taddese --- validate_package_xml/action.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/validate_package_xml/action.yml b/validate_package_xml/action.yml index 0e12b6d..d6776fd 100644 --- a/validate_package_xml/action.yml +++ b/validate_package_xml/action.yml @@ -11,7 +11,10 @@ runs: run: | echo "Install ament-xmllint" sudo apt-get update - sudo apt-get install -y python3-ament-xmllint + sudo apt-get install -y python3-venv + python3 -m venv .venv + source .venv/bin/activate + pip install ament-xmllint ament_xmllint package.xml 2>&1 | tee $GITHUB_STEP_SUMMARY - name: package.xml and CMake versions match From a6e81ee6f95bf9365be65292380679351bacc52f Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Fri, 5 Apr 2024 17:37:25 -0500 Subject: [PATCH 7/9] Needs xmllint Signed-off-by: Addisu Z. Taddese --- validate_package_xml/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/validate_package_xml/action.yml b/validate_package_xml/action.yml index d6776fd..124b071 100644 --- a/validate_package_xml/action.yml +++ b/validate_package_xml/action.yml @@ -11,7 +11,7 @@ runs: run: | echo "Install ament-xmllint" sudo apt-get update - sudo apt-get install -y python3-venv + sudo apt-get install -y python3-venv xmllint python3 -m venv .venv source .venv/bin/activate pip install ament-xmllint From b741384811058921e816a7bb746bdc686c63e068 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Fri, 5 Apr 2024 17:39:12 -0500 Subject: [PATCH 8/9] Correct dependency Signed-off-by: Addisu Z. Taddese --- validate_package_xml/action.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/validate_package_xml/action.yml b/validate_package_xml/action.yml index 124b071..2180a06 100644 --- a/validate_package_xml/action.yml +++ b/validate_package_xml/action.yml @@ -10,8 +10,7 @@ runs: shell: bash run: | echo "Install ament-xmllint" - sudo apt-get update - sudo apt-get install -y python3-venv xmllint + sudo apt-get install -y python3-venv libxml2-utils python3 -m venv .venv source .venv/bin/activate pip install ament-xmllint From 0adce6a9ad04eff74fb35247941b28e8eb0a0ea8 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Tue, 9 Apr 2024 22:12:06 -0500 Subject: [PATCH 9/9] Comment out ament_xmllint step Signed-off-by: Addisu Z. Taddese --- validate_package_xml/action.yml | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/validate_package_xml/action.yml b/validate_package_xml/action.yml index 2180a06..23da5f2 100644 --- a/validate_package_xml/action.yml +++ b/validate_package_xml/action.yml @@ -6,15 +6,17 @@ runs: - name: Checkout uses: actions/checkout@v4 - - name: package.xml syntax validation - shell: bash - run: | - echo "Install ament-xmllint" - sudo apt-get install -y python3-venv libxml2-utils - python3 -m venv .venv - source .venv/bin/activate - pip install ament-xmllint - ament_xmllint package.xml 2>&1 | tee $GITHUB_STEP_SUMMARY + # TODO(azeey) Uncomment once https://github.com/ros-infrastructure/rep/pull/400 + # is merged and the .xsd changes have propagated to ament_xmllint. + # - name: package.xml syntax validation + # shell: bash + # run: | + # echo "Install ament-xmllint" + # sudo apt-get install -y python3-venv libxml2-utils + # python3 -m venv .venv + # source .venv/bin/activate + # pip install ament-xmllint + # ament_xmllint package.xml 2>&1 | tee $GITHUB_STEP_SUMMARY - name: package.xml and CMake versions match shell: bash