From 2ae060854b08438862a1fe733116fc698102be81 Mon Sep 17 00:00:00 2001 From: Javier Santiago Date: Sun, 12 Mar 2023 11:56:10 +0100 Subject: [PATCH 01/12] Added Linux CI workflow Signed-off-by: Javier Santiago --- .github/workflows/linux-ci.yaml | 83 +++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 .github/workflows/linux-ci.yaml diff --git a/.github/workflows/linux-ci.yaml b/.github/workflows/linux-ci.yaml new file mode 100644 index 00000000000..41802a181f7 --- /dev/null +++ b/.github/workflows/linux-ci.yaml @@ -0,0 +1,83 @@ +name: Linux CI + +on: + workflow_dispatch: + inputs: + cmake-args: + description: 'Optional arguments to pass to CMake' + required: false + ctest-args: + description: 'Optional arguments to pass to CTest' + required: false + pull_request: + push: + branches: + - master + - 2.10.x + - 2.1.x + - 2.9.x + - 2.8.x + schedule: + - cron: '0 1 * * *' + +jobs: + + linux-ci: + strategy: + fail-fast: false + matrix: + runner-os: + - 'ubuntu-22.04' + - 'ubuntu-20.04' + + runs-on: ${{ matrix.runner-os }} + + steps: + - name: Sync eProsima/Fast-DDS repository + uses: actions/checkout@v3 + with: + path: src/Fast-DDS + + - name: Install apt packages + uses: eProsima/eProsima-CI/ubuntu/install_apt_packages@feature/uncrustify + with: + packages: curl grep libasio-dev libtinyxml2-dev python3 python3-pip libssl-dev software-properties-common wget + + - name: Install python packages by default + uses: eProsima/eProsima-CI/ubuntu/install_python_packages@feature/uncrustify + with: + packages: colcon-common-extensions vcstool + + - name: Fetch Fast DDS dependencies + uses: ./src/Fast-DDS/.github/actions/fetch-fastdds-repos + with: + target_directory: src + googletest: true + + - name: Build workspace + run: | + colcon build \ + --event-handlers=console_direct+ \ + --cmake-args -DSECURITY=ON \ + -DFASTDDS_STATISTICS=ON ${{ github.event.inputs.cmake-args }} + + - name: Run tests Fast DDS + run: | + source install/setup.bash && \ + colcon test \ + --packages-select fastrtps \ + --event-handlers=console_direct+ \ + --return-code-on-test-failure \ + --ctest-args \ + --label-exclude xfail \ + --timeout 300 ${{ github.event.inputs.ctest-args }} + + continue-on-error: true + + - name: Upload Logs + uses: actions/upload-artifact@v1 + + with: + name: ctest-logs + path: log/ + if: always() From 5c1cc07e59e234d635f209f0bdf65cec46bc02c8 Mon Sep 17 00:00:00 2001 From: Javier Santiago Date: Sun, 12 Mar 2023 11:59:10 +0100 Subject: [PATCH 02/12] Corrected Python inputs Signed-off-by: Javier Santiago --- .github/workflows/linux-ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux-ci.yaml b/.github/workflows/linux-ci.yaml index 41802a181f7..4f07f4919b7 100644 --- a/.github/workflows/linux-ci.yaml +++ b/.github/workflows/linux-ci.yaml @@ -46,7 +46,7 @@ jobs: - name: Install python packages by default uses: eProsima/eProsima-CI/ubuntu/install_python_packages@feature/uncrustify with: - packages: colcon-common-extensions vcstool + custom_packages: colcon-common-extensions vcstool - name: Fetch Fast DDS dependencies uses: ./src/Fast-DDS/.github/actions/fetch-fastdds-repos From 918db15518338132c1fcfe1e80289d02010c5275 Mon Sep 17 00:00:00 2001 From: Javier Santiago Date: Sun, 12 Mar 2023 12:08:51 +0100 Subject: [PATCH 03/12] Added default parameters Signed-off-by: Javier Santiago --- .github/workflows/linux-ci.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/linux-ci.yaml b/.github/workflows/linux-ci.yaml index 4f07f4919b7..1553949f4c9 100644 --- a/.github/workflows/linux-ci.yaml +++ b/.github/workflows/linux-ci.yaml @@ -20,6 +20,10 @@ on: schedule: - cron: '0 1 * * *' +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + jobs: linux-ci: @@ -41,12 +45,16 @@ jobs: - name: Install apt packages uses: eProsima/eProsima-CI/ubuntu/install_apt_packages@feature/uncrustify with: + update: "true" + upgrade: "false" packages: curl grep libasio-dev libtinyxml2-dev python3 python3-pip libssl-dev software-properties-common wget - name: Install python packages by default uses: eProsima/eProsima-CI/ubuntu/install_python_packages@feature/uncrustify with: custom_packages: colcon-common-extensions vcstool + eprosima_default_packages: "false" + - name: Fetch Fast DDS dependencies uses: ./src/Fast-DDS/.github/actions/fetch-fastdds-repos From c256b3ea843b2d08a583265902ce2134423132d7 Mon Sep 17 00:00:00 2001 From: Javier Santiago Date: Sun, 12 Mar 2023 12:18:34 +0100 Subject: [PATCH 04/12] Switched actions branch Signed-off-by: Javier Santiago --- .github/workflows/linux-ci.yaml | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/.github/workflows/linux-ci.yaml b/.github/workflows/linux-ci.yaml index 1553949f4c9..b6c6a9bc429 100644 --- a/.github/workflows/linux-ci.yaml +++ b/.github/workflows/linux-ci.yaml @@ -43,18 +43,7 @@ jobs: path: src/Fast-DDS - name: Install apt packages - uses: eProsima/eProsima-CI/ubuntu/install_apt_packages@feature/uncrustify - with: - update: "true" - upgrade: "false" - packages: curl grep libasio-dev libtinyxml2-dev python3 python3-pip libssl-dev software-properties-common wget - - - name: Install python packages by default - uses: eProsima/eProsima-CI/ubuntu/install_python_packages@feature/uncrustify - with: - custom_packages: colcon-common-extensions vcstool - eprosima_default_packages: "false" - + uses: eProsima/eProsima-CI/ubuntu/install_fast_dependencies@feature/build_dependencies - name: Fetch Fast DDS dependencies uses: ./src/Fast-DDS/.github/actions/fetch-fastdds-repos @@ -66,7 +55,8 @@ jobs: run: | colcon build \ --event-handlers=console_direct+ \ - --cmake-args -DSECURITY=ON \ + --cmake-args -DCMAKE_BUILD_ARGS=RelWithDebInfo \ + -DSECURITY=ON \ -DFASTDDS_STATISTICS=ON ${{ github.event.inputs.cmake-args }} - name: Run tests Fast DDS From c54833dafb6714517ae28170f69e5353b6d8d23e Mon Sep 17 00:00:00 2001 From: Javier Santiago Date: Sun, 12 Mar 2023 12:38:58 +0100 Subject: [PATCH 05/12] Added the complete set of CMake parameters Signed-off-by: Javier Santiago --- .github/workflows/linux-ci.yaml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/linux-ci.yaml b/.github/workflows/linux-ci.yaml index b6c6a9bc429..23b3bb2cf84 100644 --- a/.github/workflows/linux-ci.yaml +++ b/.github/workflows/linux-ci.yaml @@ -55,7 +55,18 @@ jobs: run: | colcon build \ --event-handlers=console_direct+ \ - --cmake-args -DCMAKE_BUILD_ARGS=RelWithDebInfo \ + --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DTHIRDPARTY=OFF \ + -DEPROSIMA_BUILD_TESTS=ON \ + -DGTEST_INDIVIDUAL=ON \ + -DTHIRDPARTY_UPDATE=OFF \ + -DINTERNAL_DEBUG=OFF \ + -DFASTRTPS_API_TESTS=ON \ + -DFASTDDS_PIM_API_TESTS=ON \ + -DPERFORMANCE_TESTS=ON \ + -DNO_TLS=OFF \ + -DSHM_TRANSPORT_DEFAULT=ON \ + -DSYSTEM_TESTS=ON \ -DSECURITY=ON \ -DFASTDDS_STATISTICS=ON ${{ github.event.inputs.cmake-args }} From 8f132dbd8580376c2054f903b7451e261701a10f Mon Sep 17 00:00:00 2001 From: Javier Santiago Date: Sat, 18 Mar 2023 19:55:58 +0100 Subject: [PATCH 06/12] Added retest-until-pass flag Signed-off-by: Javier Santiago --- .github/workflows/linux-ci.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/linux-ci.yaml b/.github/workflows/linux-ci.yaml index 23b3bb2cf84..53023d8bf57 100644 --- a/.github/workflows/linux-ci.yaml +++ b/.github/workflows/linux-ci.yaml @@ -77,6 +77,7 @@ jobs: --packages-select fastrtps \ --event-handlers=console_direct+ \ --return-code-on-test-failure \ + --retest-until-pass 3 \ --ctest-args \ --label-exclude xfail \ --timeout 300 ${{ github.event.inputs.ctest-args }} From 1297b77e0849d6dd49d2b543228df0d8bf468316 Mon Sep 17 00:00:00 2001 From: Javier Santiago Date: Sun, 19 Mar 2023 10:19:26 +0100 Subject: [PATCH 07/12] Added default parameter in a way they do not conflict with workflow_dispatch Signed-off-by: Javier Santiago --- .github/workflows/linux-ci.yaml | 36 ++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/.github/workflows/linux-ci.yaml b/.github/workflows/linux-ci.yaml index 53023d8bf57..ab31b5197e4 100644 --- a/.github/workflows/linux-ci.yaml +++ b/.github/workflows/linux-ci.yaml @@ -53,22 +53,26 @@ jobs: - name: Build workspace run: | + USER_INPUT=${{ github.event.inputs.cmake-args }} + CUSTOM_CMAKE_ARGS=${USER_INPUT:-" + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DTHIRDPARTY=OFF \ + -DEPROSIMA_BUILD_TESTS=ON \ + -DGTEST_INDIVIDUAL=ON \ + -DTHIRDPARTY_UPDATE=OFF \ + -DINTERNAL_DEBUG=OFF \ + -DFASTRTPS_API_TESTS=ON \ + -DFASTDDS_PIM_API_TESTS=ON \ + -DPERFORMANCE_TESTS=ON \ + -DNO_TLS=OFF \ + -DSHM_TRANSPORT_DEFAULT=ON \ + -DSYSTEM_TESTS=ON \ + -DSECURITY=ON \ + -DFASTDDS_STATISTICS=ON "} + colcon build \ --event-handlers=console_direct+ \ - --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DTHIRDPARTY=OFF \ - -DEPROSIMA_BUILD_TESTS=ON \ - -DGTEST_INDIVIDUAL=ON \ - -DTHIRDPARTY_UPDATE=OFF \ - -DINTERNAL_DEBUG=OFF \ - -DFASTRTPS_API_TESTS=ON \ - -DFASTDDS_PIM_API_TESTS=ON \ - -DPERFORMANCE_TESTS=ON \ - -DNO_TLS=OFF \ - -DSHM_TRANSPORT_DEFAULT=ON \ - -DSYSTEM_TESTS=ON \ - -DSECURITY=ON \ - -DFASTDDS_STATISTICS=ON ${{ github.event.inputs.cmake-args }} + --cmake-args ${CUSTOM_CMAKE_ARGS} - name: Run tests Fast DDS run: | @@ -88,6 +92,6 @@ jobs: uses: actions/upload-artifact@v1 with: - name: ctest-logs - path: log/ + name: test-results-${{ matrix.ubuntu-version }} + path: log/latest_test/fastrtps if: always() From 45e669ccceaeb161596735badc24653e6a04608b Mon Sep 17 00:00:00 2001 From: Javier Santiago Date: Tue, 21 Mar 2023 07:49:42 +0100 Subject: [PATCH 08/12] Added variable checking for ctest args Signed-off-by: Javier Santiago --- .github/workflows/linux-ci.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/linux-ci.yaml b/.github/workflows/linux-ci.yaml index ab31b5197e4..ab95f90bca6 100644 --- a/.github/workflows/linux-ci.yaml +++ b/.github/workflows/linux-ci.yaml @@ -76,15 +76,17 @@ jobs: - name: Run tests Fast DDS run: | + USER_INPUT=${{ github.event.inputs.ctest-args }} + CUSTOM_TEST_ARGS=${USER_INPUT:-" + --label-exclude xfail \ + --timeout 300 "} source install/setup.bash && \ colcon test \ --packages-select fastrtps \ --event-handlers=console_direct+ \ --return-code-on-test-failure \ --retest-until-pass 3 \ - --ctest-args \ - --label-exclude xfail \ - --timeout 300 ${{ github.event.inputs.ctest-args }} + --ctest-args ${CUSTOM_CTEST_ARGS} continue-on-error: true From fa428b8f389708aa4075e01e7c13fbea29bf0164 Mon Sep 17 00:00:00 2001 From: Javier Santiago Date: Wed, 29 Mar 2023 17:42:15 +0200 Subject: [PATCH 09/12] Added /etc/hosts modifications and changed the default way of having a default value for args Signed-off-by: Javier Santiago --- .github/workflows/linux-ci.yaml | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/.github/workflows/linux-ci.yaml b/.github/workflows/linux-ci.yaml index ab95f90bca6..acfb077f0ff 100644 --- a/.github/workflows/linux-ci.yaml +++ b/.github/workflows/linux-ci.yaml @@ -51,10 +51,18 @@ jobs: target_directory: src googletest: true + - name: Set up hosts file for DNS testing + run: | + echo "" >> /etc/hosts + echo "localhost.test 127.0.0.1 ::1" >> /etc/hosts + echo "www.eprosima.com.test 154.56.134.194" >> /etc/hosts + echo "www.acme.com.test 216.58.215.164 2a00:1450:400e:803::2004" >> /etc/hosts + echo "www.foo.com.test 140.82.121.4 140.82.121.3" >> /etc/hosts + echo "acme.org.test ff1e::ffff:efff:1" >> /etc/hosts + - name: Build workspace run: | - USER_INPUT=${{ github.event.inputs.cmake-args }} - CUSTOM_CMAKE_ARGS=${USER_INPUT:-" + USER_INPUT=${{ github.event.inputs.cmake-args || " \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DTHIRDPARTY=OFF \ -DEPROSIMA_BUILD_TESTS=ON \ @@ -68,7 +76,8 @@ jobs: -DSHM_TRANSPORT_DEFAULT=ON \ -DSYSTEM_TESTS=ON \ -DSECURITY=ON \ - -DFASTDDS_STATISTICS=ON "} + -DFASTDDS_STATISTICS=ON \ + "}} colcon build \ --event-handlers=console_direct+ \ @@ -76,10 +85,9 @@ jobs: - name: Run tests Fast DDS run: | - USER_INPUT=${{ github.event.inputs.ctest-args }} - CUSTOM_TEST_ARGS=${USER_INPUT:-" + USER_INPUT=${{ github.event.inputs.ctest-args || " \ --label-exclude xfail \ - --timeout 300 "} + --timeout 300 " }} source install/setup.bash && \ colcon test \ --packages-select fastrtps \ From 611b3438b3f01677ea759ba9ab77ede96ce4d242 Mon Sep 17 00:00:00 2001 From: Javier Santiago Date: Wed, 29 Mar 2023 20:26:41 +0200 Subject: [PATCH 10/12] Added meta file and fixed sudo usage. Signed-off-by: Javier Santiago --- .github/workflows/linux-ci.yaml | 40 +++++++----------------- .github/workflows/linux-ci/linux-ci.meta | 30 ++++++++++++++++++ 2 files changed, 42 insertions(+), 28 deletions(-) create mode 100644 .github/workflows/linux-ci/linux-ci.meta diff --git a/.github/workflows/linux-ci.yaml b/.github/workflows/linux-ci.yaml index acfb077f0ff..7ded120d7ba 100644 --- a/.github/workflows/linux-ci.yaml +++ b/.github/workflows/linux-ci.yaml @@ -53,48 +53,32 @@ jobs: - name: Set up hosts file for DNS testing run: | - echo "" >> /etc/hosts - echo "localhost.test 127.0.0.1 ::1" >> /etc/hosts - echo "www.eprosima.com.test 154.56.134.194" >> /etc/hosts - echo "www.acme.com.test 216.58.215.164 2a00:1450:400e:803::2004" >> /etc/hosts - echo "www.foo.com.test 140.82.121.4 140.82.121.3" >> /etc/hosts - echo "acme.org.test ff1e::ffff:efff:1" >> /etc/hosts + sudo echo "" | sudo tee -a /etc/hosts + sudo echo "localhost.test 127.0.0.1 ::1" | sudo tee -a /etc/hosts + sudo echo "www.eprosima.com.test 154.56.134.194" | sudo tee -a /etc/hosts + sudo echo "www.acme.com.test 216.58.215.164 2a00:1450:400e:803::2004" | sudo tee -a /etc/hosts + sudo echo "www.foo.com.test 140.82.121.4 140.82.121.3" | sudo tee -a /etc/hosts + sudo echo "acme.org.test ff1e::ffff:efff:1" | sudo tee -a /etc/hosts - name: Build workspace run: | - USER_INPUT=${{ github.event.inputs.cmake-args || " \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DTHIRDPARTY=OFF \ - -DEPROSIMA_BUILD_TESTS=ON \ - -DGTEST_INDIVIDUAL=ON \ - -DTHIRDPARTY_UPDATE=OFF \ - -DINTERNAL_DEBUG=OFF \ - -DFASTRTPS_API_TESTS=ON \ - -DFASTDDS_PIM_API_TESTS=ON \ - -DPERFORMANCE_TESTS=ON \ - -DNO_TLS=OFF \ - -DSHM_TRANSPORT_DEFAULT=ON \ - -DSYSTEM_TESTS=ON \ - -DSECURITY=ON \ - -DFASTDDS_STATISTICS=ON \ - "}} - + pwd + ls + cat src/Fast-DDS/.github/workflows/linux-ci/linux-ci.meta colcon build \ --event-handlers=console_direct+ \ - --cmake-args ${CUSTOM_CMAKE_ARGS} + --metas src/Fast-DDS/.github/workflows/linux-ci/linux-ci.meta \ + --cmake-args ${{ github.event.inputs.cmake-args }} - name: Run tests Fast DDS run: | - USER_INPUT=${{ github.event.inputs.ctest-args || " \ - --label-exclude xfail \ - --timeout 300 " }} source install/setup.bash && \ colcon test \ --packages-select fastrtps \ --event-handlers=console_direct+ \ --return-code-on-test-failure \ --retest-until-pass 3 \ - --ctest-args ${CUSTOM_CTEST_ARGS} + --ctest-args ${{ github.event.inputs.ctest-args }} continue-on-error: true diff --git a/.github/workflows/linux-ci/linux-ci.meta b/.github/workflows/linux-ci/linux-ci.meta new file mode 100644 index 00000000000..97ac6decf3f --- /dev/null +++ b/.github/workflows/linux-ci/linux-ci.meta @@ -0,0 +1,30 @@ +{ + "names": + { + "fastrtps": + { + "cmake-args": + [ + "-DCMAKE_BUILD_TYPE=RelWithDebInfo", + "-DTHIRDPARTY=OFF", + "-DEPROSIMA_BUILD_TESTS=ON", + "-DGTEST_INDIVIDUAL=ON", + "-DTHIRDPARTY_UPDATE=OFF", + "-DINTERNAL_DEBUG=OFF", + "-DFASTRTPS_API_TESTS=ON", + "-DFASTDDS_PIM_API_TESTS=ON", + "-DPERFORMANCE_TESTS=ON", + "-DNO_TLS=OFF", + "-DSHM_TRANSPORT_DEFAULT=ON", + "-DSYSTEM_TESTS=ON", + "-DSECURITY=ON", + "-DFASTDDS_STATISTICS=ON" + ], + "ctest-args": + [ + "--label-exclude xfail", + "--timeout 300" + ] + }, + } +} From f8e53775f7369716788de0b617d2b67409874567 Mon Sep 17 00:00:00 2001 From: Javier Santiago Date: Thu, 30 Mar 2023 17:17:45 +0200 Subject: [PATCH 11/12] Added new post testing step Signed-off-by: Javier Santiago --- .github/workflows/linux-ci.yaml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/linux-ci.yaml b/.github/workflows/linux-ci.yaml index 7ded120d7ba..43b348b28c1 100644 --- a/.github/workflows/linux-ci.yaml +++ b/.github/workflows/linux-ci.yaml @@ -62,15 +62,13 @@ jobs: - name: Build workspace run: | - pwd - ls - cat src/Fast-DDS/.github/workflows/linux-ci/linux-ci.meta colcon build \ --event-handlers=console_direct+ \ --metas src/Fast-DDS/.github/workflows/linux-ci/linux-ci.meta \ --cmake-args ${{ github.event.inputs.cmake-args }} - name: Run tests Fast DDS + id: testing run: | source install/setup.bash && \ colcon test \ @@ -78,6 +76,7 @@ jobs: --event-handlers=console_direct+ \ --return-code-on-test-failure \ --retest-until-pass 3 \ + --metas src/Fast-DDS/.github/workflows/linux-ci/linux-ci.meta \ --ctest-args ${{ github.event.inputs.ctest-args }} continue-on-error: true @@ -86,6 +85,16 @@ jobs: uses: actions/upload-artifact@v1 with: - name: test-results-${{ matrix.ubuntu-version }} + name: test-results-${{ matrix.runner-os }} path: log/latest_test/fastrtps if: always() + + - name: Check for failure + if: steps.testing.outcome != 'success' + run: | + echo '## ${{ matrix.runner-os }}' >> $GITHUB_STEP_SUMMARY + echo '| Test | Reason | <> $GITHUB_STEP_SUMMARY + echo '|---|---|' >> $GITHUB_STEP_SUMMARY' + grep -rin "(Failed\|(Child\|(Timeout" log/latest_test/fastrtps/stdout_stderr.log | awk -F "[-|(|)]+" '//{print "|" $2 "| " $3 " |"}' >> $GITHUB_STEP_SUMMARY + echo 'EOF' >> $$GITHUB_STEP_SUMMARY + exit 1 \ No newline at end of file From 0ff333596d92b5505d3f66a7cf578a21c943a7bc Mon Sep 17 00:00:00 2001 From: Javier Santiago Date: Fri, 31 Mar 2023 10:40:33 +0200 Subject: [PATCH 12/12] Modified summary Signed-off-by: Javier Santiago --- .github/workflows/linux-ci.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/linux-ci.yaml b/.github/workflows/linux-ci.yaml index 43b348b28c1..b1c0666bd9f 100644 --- a/.github/workflows/linux-ci.yaml +++ b/.github/workflows/linux-ci.yaml @@ -93,8 +93,7 @@ jobs: if: steps.testing.outcome != 'success' run: | echo '## ${{ matrix.runner-os }}' >> $GITHUB_STEP_SUMMARY - echo '| Test | Reason | <> $GITHUB_STEP_SUMMARY + echo '| Test | Reason |' >> $GITHUB_STEP_SUMMARY echo '|---|---|' >> $GITHUB_STEP_SUMMARY' grep -rin "(Failed\|(Child\|(Timeout" log/latest_test/fastrtps/stdout_stderr.log | awk -F "[-|(|)]+" '//{print "|" $2 "| " $3 " |"}' >> $GITHUB_STEP_SUMMARY - echo 'EOF' >> $$GITHUB_STEP_SUMMARY exit 1 \ No newline at end of file