diff --git a/.github/workflows/benchmarking.yml b/.github/workflows/benchmarking.yml index fe3efac10cd..a3ece5f0520 100644 --- a/.github/workflows/benchmarking.yml +++ b/.github/workflows/benchmarking.yml @@ -11,8 +11,30 @@ on: jobs: benchmark: runs-on: ubuntu-latest + container: + image: ubuntu:20.04 + env: + CCACHE_DIR: "$GITHUB_WORKSPACE/benchmark/.ccache" + DEBIAN_FRONTEND: noninteractive + TZ: Etc/UTC steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 + with: + path: target_ws/src + + - name: Install Depends + shell: bash + run: | + apt update + apt upgrade -y + apt install -y cmake curl lsb-release ca-certificates gnupg python3 python3-distutils python3-pip ccache git liboctomap-dev + python3 -m pip install vcstool -q + python3 -m pip install colcon-common-extensions -q + python3 -m pip install rosdep -q + rosdep init + rosdep update + cd $GITHUB_WORKSPACE/target_ws/src + ./.github/workflows/add_ros_apt_sources.sh - name: Prepare ccache timestamp id: ccache_cache_timestamp @@ -29,26 +51,32 @@ jobs: restore-keys: | benchmark-ccache- - - uses: 'tesseract-robotics/industrial_ci@0109bf3523050402490b56e19c9554e7d7c5379f' - env: - DOCKER_IMAGE: ubuntu:20.04 - ROS_DISTRO: false - ADDITIONAL_DEBS: 'curl lsb-release liboctomap-dev' - AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh' - UPSTREAM_WORKSPACE: 'dependencies.repos' - ROSDEP_SKIP_KEYS: "fcl opw_kinematics ros_industrial_cmake_boilerplate iwyu octomap catkin" - CCACHE_DIR: "${{ github.workspace }}/benchmark/.ccache" - UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" - TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release -DTESSERACT_ENABLE_TESTING=OFF -DTESSERACT_ENABLE_BENCHMARKING=ON -DTESSERACT_ENABLE_RUN_BENCHMARKING=ON -DBENCHMARK_ARGS=CI_ONLY" - DOCKER_RUN_OPTS: '-v ${{ github.workspace }}/benchmarks:/root/benchmarks' - AFTER_SCRIPT: '$target_ws/src/tesseract/.run_combine_benchmark_results' + - name: Build Upstream Workspace + shell: bash + run: | + mkdir -p $GITHUB_WORKSPACE/upstream_ws/src + vcs import --input "$GITHUB_WORKSPACE/target_ws/src/dependencies.repos" $GITHUB_WORKSPACE/upstream_ws/src/ + cd $GITHUB_WORKSPACE/upstream_ws + rosdep install --from-paths src --ignore-src -r -y + colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Release + if [ $? -ge 1 ]; then return 1; fi + + - name: Build Target Workspace And Run Benchmarks + shell: bash + run: | + source $GITHUB_WORKSPACE/upstream_ws/install/setup.bash + cd $GITHUB_WORKSPACE/target_ws + rosdep install --from-paths src --ignore-src -r -y + colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Release -DTESSERACT_ENABLE_TESTING=OFF -DTESSERACT_ENABLE_BENCHMARKING=ON -DTESSERACT_ENABLE_RUN_BENCHMARKING=ON -DBENCHMARK_ARGS=CI_ONLY + if [ $? -ge 1 ]; then return 1; fi + ./src/.run_combine_benchmark_results - name: Store Bullet Discrete, FCL Discrete and Environment benchmark result uses: benchmark-action/github-action-benchmark@v1 with: name: C++ Benchmark tool: 'googlecpp' - output-file-path: ${{ github.workspace }}/benchmarks/tesseract-benchmark_result.json + output-file-path: $GITHUB_WORKSPACE/target_ws/benchmarks/tesseract-benchmark_result.json benchmark-data-dir-path: tesseract/dev/bench gh-repository: github.com/tesseract-robotics/tesseract_docs github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/code_quality.yml b/.github/workflows/code_quality.yml index 5e30675bf57..d74f5c5a151 100644 --- a/.github/workflows/code_quality.yml +++ b/.github/workflows/code_quality.yml @@ -24,33 +24,35 @@ jobs: include: - job_type: clang-tidy env: - TARGET_CMAKE_ARGS: "-DTESSERACT_ENABLE_CLANG_TIDY=ON -DTESSERACT_ENABLE_TESTING=ON" - NOT_TEST_BUILD: true + TARGET_CMAKE_ARGS: "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_CLANG_TIDY=ON -DTESSERACT_ENABLE_TESTING=ON" - job_type: codecov env: - TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_CODE_COVERAGE=ON -DTESSERACT_WARNINGS_AS_ERRORS=OFF" - AFTER_SCRIPT: 'ici_with_unset_variables source ${HOME}/${PREFIX}target_ws/install/setup.bash && cd ${HOME}/${PREFIX}target_ws && colcon build --cmake-target ccov-all --packages-select tesseract_collision tesseract_common tesseract_environment tesseract_geometry tesseract_kinematics tesseract_srdf tesseract_state_solver tesseract_scene_graph tesseract_urdf && cd src/tesseract && git config --global --add safe.directory ${HOME}/${PREFIX}target_ws/src/tesseract && bash <(curl -s https://codecov.io/bash) -t 758610a6-d851-4185-a01a-5b9465889b62 -s ${HOME}/${PREFIX}target_ws/build -f *all-merged.info' - env: - DOCKER_IMAGE: ubuntu:20.04 - ROS_DISTRO: false - PREFIX: ${{ github.repository }}_ - ADDITIONAL_DEBS: 'curl lsb-release liboctomap-dev clang-tidy' - AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh' - UPSTREAM_WORKSPACE: 'dependencies.repos' - ROSDEP_SKIP_KEYS: "fcl opw_kinematics ros_industrial_cmake_boilerplate iwyu octomap catkin" - CCACHE_DIR: "${{ github.workspace }}/${{ matrix.job_type }}/.ccache" - UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" + TARGET_CMAKE_ARGS: "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_CODE_COVERAGE=ON -DTESSERACT_WARNINGS_AS_ERRORS=OFF" + container: + image: ubuntu:20.04 + env: + CCACHE_DIR: "$GITHUB_WORKSPACE/${{ matrix.job_type }}/.ccache" + DEBIAN_FRONTEND: noninteractive + TZ: Etc/UTC steps: - - uses: actions/checkout@v2 + - name: Checkout repository + uses: actions/checkout@v4 + with: + path: target_ws/src - - name: Free Disk Space - continue-on-error: true + - name: Install Depends + shell: bash run: | - sudo swapoff -a - sudo rm -f /swapfile - sudo apt clean - docker rmi $(docker image ls -aq) - df -h + apt update + apt upgrade -y + apt install -y cmake curl lsb-release ca-certificates gnupg python3 python3-distutils python3-pip ccache git clang-tidy liboctomap-dev + python3 -m pip install vcstool -q + python3 -m pip install colcon-common-extensions -q + python3 -m pip install rosdep -q + rosdep init + rosdep update + cd $GITHUB_WORKSPACE/target_ws/src + ./.github/workflows/add_ros_apt_sources.sh - name: Prepare ccache timestamp id: ccache_cache_timestamp @@ -68,7 +70,31 @@ jobs: restore-keys: | ${{ matrix.job_type }}-ccache- - - name: Build repository - uses: 'tesseract-robotics/industrial_ci@0109bf3523050402490b56e19c9554e7d7c5379f' - env: ${{ matrix.env }} + - name: Build Upstream Workspace + shell: bash + run: | + mkdir -p $GITHUB_WORKSPACE/upstream_ws/src + vcs import --input "$GITHUB_WORKSPACE/target_ws/src/dependencies.repos" $GITHUB_WORKSPACE/upstream_ws/src/ + cd $GITHUB_WORKSPACE/upstream_ws + rosdep install --from-paths src --ignore-src -r -y + colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Release + if [ $? -ge 1 ]; then return 1; fi + + - name: Build Target Workspace + shell: bash + run: | + source $GITHUB_WORKSPACE/upstream_ws/install/setup.bash + cd $GITHUB_WORKSPACE/target_ws + rosdep install --from-paths src --ignore-src -r -y + colcon build --event-handlers console_direct+ --cmake-args ${{ matrix.env.TARGET_CMAKE_ARGS }} + if [ $? -ge 1 ]; then return 1; fi + - name: Upload CodeCov Results + shell: bash + run: | + if [[ "${{ matrix.job_type }}" == "codecov" ]]; then + source $GITHUB_WORKSPACE/target_ws/install/setup.bash + cd $GITHUB_WORKSPACE/target_ws + colcon build --cmake-target ccov-all --packages-select tesseract_collision tesseract_common tesseract_environment tesseract_geometry tesseract_kinematics tesseract_srdf tesseract_state_solver tesseract_scene_graph tesseract_urdf + bash <(curl -s https://codecov.io/bash) -t 758610a6-d851-4185-a01a-5b9465889b62 -s $GITHUB_WORKSPACE/target_ws/build -f *all-merged.info + fi diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index fe262e12dae..e5cb1c1647c 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -17,24 +17,32 @@ jobs: strategy: fail-fast: false matrix: - distro: [bionic, focal] - include: - - distro: bionic - image: ubuntu:18.04 - - distro: focal - image: ubuntu:20.04 - + distro: [focal, jammy] + container: + image: ubuntu:${{ matrix.distro }} + env: + CCACHE_DIR: "$GITHUB_WORKSPACE/${{ matrix.distro }}/.ccache" + DEBIAN_FRONTEND: noninteractive + TZ: Etc/UTC steps: - - uses: actions/checkout@v2 + - name: Checkout repository + uses: actions/checkout@v4 + with: + path: target_ws/src - - name: Free Disk Space - continue-on-error: true + - name: Install Depends + shell: bash run: | - sudo swapoff -a - sudo rm -f /swapfile - sudo apt clean - docker rmi $(docker image ls -aq) - df -h + apt update + apt upgrade -y + apt install -y cmake curl lsb-release ca-certificates gnupg python3 python3-distutils python3-pip ccache git liboctomap-dev + python3 -m pip install vcstool -q + python3 -m pip install colcon-common-extensions -q + python3 -m pip install rosdep -q + rosdep init + rosdep update + cd $GITHUB_WORKSPACE/target_ws/src + ./.github/workflows/add_ros_apt_sources.sh - name: Prepare ccache timestamp id: ccache_cache_timestamp @@ -52,16 +60,31 @@ jobs: restore-keys: | ${{ matrix.distro }}-ccache- - - uses: 'tesseract-robotics/industrial_ci@0109bf3523050402490b56e19c9554e7d7c5379f' - env: - DOCKER_IMAGE: ${{ matrix.image }} - ROS_DISTRO: false - ADDITIONAL_DEBS: 'curl lsb-release liboctomap-dev' - AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh' - UPSTREAM_WORKSPACE: 'dependencies.repos' - DOWNSTREAM_WORKSPACE: 'github:ros-industrial-consortium/tesseract_planning#master github:ros-industrial-consortium/trajopt_ros#master github:ros-industrial-consortium/tesseract_ros#master' - ROSDEP_SKIP_KEYS: "fcl opw_kinematics ros_industrial_cmake_boilerplate iwyu octomap catkin" - CCACHE_DIR: "${{ github.workspace }}/${{ matrix.distro}}/.ccache" - UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" - TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" - DOWNSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" + - name: Build Upstream Workspace + shell: bash + run: | + mkdir -p $GITHUB_WORKSPACE/upstream_ws/src + vcs import --input "$GITHUB_WORKSPACE/target_ws/src/dependencies.repos" $GITHUB_WORKSPACE/upstream_ws/src/ + cd $GITHUB_WORKSPACE/upstream_ws + rosdep install --from-paths src --ignore-src -r -y + colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Release + if [ $? -ge 1 ]; then return 1; fi + + - name: Build Target Workspace + shell: bash + run: | + source $GITHUB_WORKSPACE/upstream_ws/install/setup.bash + cd $GITHUB_WORKSPACE/target_ws + rosdep install --from-paths src --ignore-src -r -y + colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_TESTING=ON + if [ $? -ge 1 ]; then return 1; fi + + - name: Run Tests + shell: bash + run: | + cd $GITHUB_WORKSPACE/target_ws + source $GITHUB_WORKSPACE/target_ws/install/setup.bash + colcon test --event-handlers console_direct+ --return-code-on-test-failure + if [ $? -ge 1 ]; then return 1; fi + colcon test-result --verbose + if [ $? -ge 1 ]; then return 1; fi diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 0b765c370ac..561910a6894 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -24,23 +24,31 @@ jobs: fail-fast: false matrix: distro: [focal, jammy] - env: - CCACHE_DIR: "${{ github.workspace }}/${{ matrix.distro }}/.ccache" - REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} - PUSH_DOCKER_IMAGE: ${{ github.ref == 'refs/heads/master' || github.event_name == 'release' }} + container: + image: ubuntu:${{ matrix.distro }} + env: + CCACHE_DIR: "$GITHUB_WORKSPACE/${{ matrix.distro }}/.ccache" + DEBIAN_FRONTEND: noninteractive + TZ: Etc/UTC steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 + with: + path: target_ws/src - - name: Free disk space - continue-on-error: true + - name: Install Depends + shell: bash run: | - sudo swapoff -a - sudo rm -f /swapfile - sudo apt clean - docker rmi $(docker image ls -aq) - df -h + apt update + apt upgrade -y + apt install -y cmake curl lsb-release ca-certificates gnupg python3 python3-distutils python3-pip ccache git liboctomap-dev + python3 -m pip install vcstool -q + python3 -m pip install colcon-common-extensions -q + python3 -m pip install rosdep -q + rosdep init + rosdep update + cd $GITHUB_WORKSPACE/target_ws/src + ./.github/workflows/add_ros_apt_sources.sh - name: Prepare ccache timestamp id: ccache_cache_timestamp @@ -58,51 +66,31 @@ jobs: restore-keys: | ${{ matrix.distro }}-ccache- - - name: Login to Github container registry - uses: docker/login-action@v1 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract Docker meta-information - id: meta - uses: docker/metadata-action@v3 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - flavor: | - latest=false - prefix= - suffix= - tags: | - type=ref,event=branch,prefix=${{ matrix.distro }}- - type=semver,pattern={{major}}.{{minor}},prefix=${{ matrix.distro }}- - - - name: Set build type + - name: Build Upstream Workspace + shell: bash run: | - if [[ "${{ env.PUSH_DOCKER_IMAGE }}" = true ]] - then - echo "BUILD_TYPE=Release" >> $GITHUB_ENV - else - echo "BUILD_TYPE=Debug" >> $GITHUB_ENV - fi + mkdir -p $GITHUB_WORKSPACE/upstream_ws/src + vcs import --input "$GITHUB_WORKSPACE/target_ws/src/dependencies.repos" $GITHUB_WORKSPACE/upstream_ws/src/ + cd $GITHUB_WORKSPACE/upstream_ws + rosdep install --from-paths src --ignore-src -r -y + colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Release + if [ $? -ge 1 ]; then return 1; fi - - name: Build repository - uses: 'tesseract-robotics/industrial_ci@0109bf3523050402490b56e19c9554e7d7c5379f' - env: - DOCKER_IMAGE: ubuntu:${{ matrix.distro }} - ROS_DISTRO: false - ADDITIONAL_DEBS: 'curl lsb-release liboctomap-dev' - AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh' - UPSTREAM_WORKSPACE: 'dependencies.repos' - ROSDEP_SKIP_KEYS: "fcl opw_kinematics ros_industrial_cmake_boilerplate iwyu octomap catkin" - PREFIX: ${{ github.repository }}_ - UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" - TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DTESSERACT_ENABLE_TESTING=ON" - BEFORE_RUN_TARGET_TEST_EMBED: "ici_with_unset_variables source $BASEDIR/${PREFIX}target_ws/install/setup.bash" - AFTER_SCRIPT: 'rm -r $BASEDIR/${PREFIX}upstream_ws/build $BASEDIR/${PREFIX}target_ws/build' - DOCKER_COMMIT: ${{ steps.meta.outputs.tags }} + - name: Build Target Workspace + shell: bash + run: | + source $GITHUB_WORKSPACE/upstream_ws/install/setup.bash + cd $GITHUB_WORKSPACE/target_ws + rosdep install --from-paths src --ignore-src -r -y + colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_TESTING=ON + if [ $? -ge 1 ]; then return 1; fi - - name: Push post-build Docker - if: ${{ env.PUSH_DOCKER_IMAGE == 'true' }} - run: docker push ${{ steps.meta.outputs.tags }} + - name: Run Tests + shell: bash + run: | + cd $GITHUB_WORKSPACE/target_ws + source $GITHUB_WORKSPACE/target_ws/install/setup.bash + colcon test --event-handlers console_direct+ --return-code-on-test-failure + if [ $? -ge 1 ]; then return 1; fi + colcon test-result --verbose + if [ $? -ge 1 ]; then return 1; fi diff --git a/.github/workflows/ubuntu_ici.yml b/.github/workflows/ubuntu_ici.yml new file mode 100644 index 00000000000..f4d5e197e29 --- /dev/null +++ b/.github/workflows/ubuntu_ici.yml @@ -0,0 +1,101 @@ +name: Ubuntu + +on: + pull_request: + paths: + - '.github/workflows/ubuntu_ci.yml' + - '**.repos' + release: + types: + - released + +jobs: + ci: + name: ${{ matrix.distro }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + distro: [focal, jammy] + env: + CCACHE_DIR: "${{ github.workspace }}/${{ matrix.distro }}/.ccache" + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + PUSH_DOCKER_IMAGE: ${{ github.ref == 'refs/heads/master' || github.event_name == 'release' }} + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Free disk space + continue-on-error: true + run: | + sudo swapoff -a + sudo rm -f /swapfile + sudo apt clean + docker rmi $(docker image ls -aq) + df -h + + - name: Prepare ccache timestamp + id: ccache_cache_timestamp + shell: cmake -P {0} + run: | + string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC) + message("::set-output name=timestamp::${current_date}") + + - name: ccache cache files + continue-on-error: true + uses: actions/cache@v1.1.0 + with: + path: ${{ matrix.distro }}/.ccache + key: ${{ matrix.distro }}-ccache-${{ steps.ccache_cache_timestamp.outputs.timestamp }} + restore-keys: | + ${{ matrix.distro }}-ccache- + + - name: Login to Github container registry + uses: docker/login-action@v1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract Docker meta-information + id: meta + uses: docker/metadata-action@v3 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + flavor: | + latest=false + prefix= + suffix= + tags: | + type=ref,event=branch,prefix=${{ matrix.distro }}- + type=semver,pattern={{major}}.{{minor}},prefix=${{ matrix.distro }}- + + - name: Set build type + run: | + if [[ "${{ env.PUSH_DOCKER_IMAGE }}" = true ]] + then + echo "BUILD_TYPE=Release" >> $GITHUB_ENV + else + echo "BUILD_TYPE=Debug" >> $GITHUB_ENV + fi + + - name: Build repository + uses: 'tesseract-robotics/industrial_ci@0109bf3523050402490b56e19c9554e7d7c5379f' + env: + DOCKER_IMAGE: ubuntu:${{ matrix.distro }} + ROS_DISTRO: false + ADDITIONAL_DEBS: 'curl lsb-release liboctomap-dev' + AFTER_INIT: './.github/workflows/add_ros_apt_sources.sh' + UPSTREAM_WORKSPACE: 'dependencies.repos' + ROSDEP_SKIP_KEYS: "fcl opw_kinematics ros_industrial_cmake_boilerplate iwyu octomap catkin" + PREFIX: ${{ github.repository }}_ + UPSTREAM_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=Release" + TARGET_CMAKE_ARGS: "-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DTESSERACT_ENABLE_TESTING=ON" + BEFORE_RUN_TARGET_TEST_EMBED: "ici_with_unset_variables source $BASEDIR/${PREFIX}target_ws/install/setup.bash" + AFTER_SCRIPT: 'rm -r $BASEDIR/${PREFIX}upstream_ws/build $BASEDIR/${PREFIX}target_ws/build' + DOCKER_COMMIT: ${{ steps.meta.outputs.tags }} + + - name: Push post-build Docker + if: ${{ env.PUSH_DOCKER_IMAGE == 'true' }} + run: docker push ${{ steps.meta.outputs.tags }} diff --git a/.run_combine_benchmark_results b/.run_combine_benchmark_results index 04fd0f4e03f..c55042d747b 100755 --- a/.run_combine_benchmark_results +++ b/.run_combine_benchmark_results @@ -2,7 +2,8 @@ import json import os -build_dir = "/root/target_ws/build" +workspace_dir = "/__w/tesseract/tesseract/target_ws" +build_dir = workspace_dir + "/build" result_files = [] search_path = build_dir + "/tesseract_collision/test/benchmarks" @@ -44,11 +45,11 @@ for file in result_files: # endfor # the base path to where the output must be stored -if not os.path.exists("/root/benchmarks"): - os.makedirs("/root/benchmarks") +if not os.path.exists(workspace_dir + "/benchmarks"): + os.makedirs(workspace_dir + "/benchmarks") # endif # the json file where the output must be stored -out_file = open("/root/benchmarks/tesseract-benchmark_result.json", "w+") +out_file = open(workspace_dir + "/benchmarks/tesseract-benchmark_result.json", "w+") json.dump(all_data, out_file, indent = 4) out_file.close()