Skip to content

Improve python utils #150

Improve python utils

Improve python utils #150

Workflow file for this run

name: CI
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
pull_request:
branches: [ master ]
types:
- opened
- reopened
- synchronize
- ready_for_review
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# clang-format-lint:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout
# uses: actions/checkout@v2 # required to mount the Github Workspace to a volume
# - name: Run clang-format-lint
# uses: DoozyX/[email protected]
# with:
# source: '.'
# exclude: './third_party ./external .git'
# extensions: 'h,cpp'
# clangFormatVersion: 11
# cppcheck:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Run cppcheck
# uses: addnab/docker-run-action@v3
# with:
# image: bailool/mc-calib-dev:latest
# options: -v ${{ github.workspace }}:/home/MC-Calib
# run: |
# cppcheck MC-Calib/McCalib/include
# cppcheck MC-Calib/McCalib/src
# clang-tidy:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Run clang-tidy
# uses: addnab/docker-run-action@v3
# with:
# image: bailool/mc-calib-dev:latest
# options: -v ${{ github.workspace }}:/home/MC-Calib
# run: |
# mkdir MC-Calib/build && cd MC-Calib/build
# cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Debug ..
# run-clang-tidy
# unit-tests-with-sanitizers:
# if: ${{ false }} # TODO: disable for now until understand how to suppress leaks from external libraries like OpenCV
# runs-on: ubuntu-latest
# needs:
# - clang-format-lint
# - cppcheck
# - clang-tidy
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Checkout MC-Calib-data
# uses: actions/checkout@v4
# with:
# repository: BAILOOL/MC-Calib-data
# path: ${{ github.workspace }}/data
# lfs: 'true'
# - name: Unzip MC-Calib-data
# run: tar xf ${{ github.workspace }}/data/Blender_Images.tar.gz -C ${{ github.workspace }}/data
# - name: Run tests
# uses: addnab/docker-run-action@v3
# with:
# image: bailool/mc-calib-dev:latest
# options: -v ${{ github.workspace }}:/home/MC-Calib
# run: |
# mkdir MC-Calib/build && cd MC-Calib/build
# cmake -DCMAKE_BUILD_TYPE=Debug -DUSE_SANITIZERS=ON ..
# make -j4
# ./tests/boost_tests_run
# unit-tests-with-valgrind:
# runs-on: ubuntu-latest
# needs:
# - clang-format-lint
# - cppcheck
# - clang-tidy
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Checkout MC-Calib-data
# uses: actions/checkout@v4
# with:
# repository: BAILOOL/MC-Calib-data
# path: ${{ github.workspace }}/data
# lfs: 'true'
# - name: Unzip MC-Calib-data
# run: tar xf ${{ github.workspace }}/data/Blender_Images.tar.gz -C ${{ github.workspace }}/data
# - name: Run tests
# uses: addnab/docker-run-action@v3
# with:
# image: bailool/mc-calib-dev:latest
# options: -v ${{ github.workspace }}:/home/MC-Calib
# run: |
# mkdir MC-Calib/build && cd MC-Calib/build
# cmake -DCMAKE_BUILD_TYPE=Debug -DUSE_SANITIZERS=OFF ..
# make -j4
# valgrind --leak-check=full \
# --leak-check=full \
# --track-origins=yes \
# --show-reachable=yes \
# --error-limit=no \
# --gen-suppressions=all \
# --verbose \
# --log-file=valgrind-out.txt \
# --suppressions=../tests/valgrind_suppress/opencv_valgrind.supp \
# --suppressions=../tests/valgrind_suppress/opencv_valgrind_3rdparty.supp \
# --suppressions=../tests/valgrind_suppress/boost_valgrind.supp \
# ./apps/calibrate/calibrate ../tests/configs_for_end2end_tests/calib_param_synth_Scenario1.yml
unit-tests-in-release-mode:
runs-on: ubuntu-latest
# needs:
# - clang-format-lint
# - cppcheck
# - clang-tidy
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Checkout MC-Calib-data
uses: actions/checkout@v4
with:
repository: BAILOOL/MC-Calib-data
path: ${{ github.workspace }}/data
lfs: 'true'
- name: Unzip MC-Calib-data
run: tar xf ${{ github.workspace }}/data/Blender_Images.tar.gz -C ${{ github.workspace }}/data
- name: Run tests
uses: addnab/docker-run-action@v3
with:
image: bailool/mc-calib-prod:latest
options: -v ${{ github.workspace }}:/home/MC-Calib
run: |
mkdir MC-Calib/build && cd MC-Calib/build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j4
./tests/boost_tests_run
- name: Collect results
run: |
cd data/Blender_Images
mkdir Results_Blender_Sequences
mkdir Results_Blender_Sequences/Scenario_1 && cp -r Scenario_1/Results Results_Blender_Sequences/Scenario_1
mkdir Results_Blender_Sequences/Scenario_2 && cp -r Scenario_2/Results Results_Blender_Sequences/Scenario_2
mkdir Results_Blender_Sequences/Scenario_3 && cp -r Scenario_3/Results Results_Blender_Sequences/Scenario_3
mkdir Results_Blender_Sequences/Scenario_4 && cp -r Scenario_4/Results Results_Blender_Sequences/Scenario_4
mkdir Results_Blender_Sequences/Scenario_5 && cp -r Scenario_5/Results Results_Blender_Sequences/Scenario_5
echo "ls Results_Blender_Sequences"
ls Results_Blender_Sequences
echo "ls Results_Blender_Sequences/Scenario_1"
ls Results_Blender_Sequences/Scenario_1
- name: Archive results artifacts
uses: actions/upload-artifact@v4
with:
name: results_blender_sequences
path: |
${{ github.workspace }}/data/Blender_Images/Results_Blender_Sequences
# code-coverage-testing:
# runs-on: ubuntu-latest
# needs:
# - clang-format-lint
# - cppcheck
# - clang-tidy
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Checkout MC-Calib-data
# uses: actions/checkout@v4
# with:
# repository: BAILOOL/MC-Calib-data
# path: ${{ github.workspace }}/data
# lfs: 'true'
# - name: Unzip MC-Calib-data
# run: tar xf ${{ github.workspace }}/data/Blender_Images.tar.gz -C ${{ github.workspace }}/data
# - name: Run tests
# uses: addnab/docker-run-action@v3
# with:
# image: bailool/mc-calib-dev:latest
# options: -v ${{ github.workspace }}:${{ github.workspace }}
# run: |
# mkdir ${{ github.workspace }}/build && cd ${{ github.workspace }}/build
# cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_COVERAGE=true ..
# make -j4
# ./tests/boost_tests_run && make coverage
# - name: Upload code coverage results
# uses: actions/upload-artifact@v4
# with:
# name: code-coverage-report
# path: ${{ github.workspace }}/build/coverage
# - name: Setup LCOV for report to PR
# uses: hrishikesh-kadam/setup-lcov@v1
# - name: Report code coverage to PR
# uses: zgosalvez/github-actions-report-lcov@v3
# with:
# coverage-files: build/coverage.info
# minimum-coverage: 77
# artifact-name: code-coverage-report-with-github-actions
# github-token: ${{ secrets.GITHUB_TOKEN }}
# update-comment: true
python-utils-linters:
runs-on: ubuntu-latest
needs:
- unit-tests-in-release-mode
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Run python linters
uses: addnab/docker-run-action@v3
with:
image: bailool/mc-calib-dev:latest
options: -v ${{ github.workspace }}:/home/MC-Calib
run: |
cd MC-Calib/python_utils
./format.sh
./test.sh
python-utils:
runs-on: ubuntu-latest
needs:
- python-utils-linters
- unit-tests-in-release-mode
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Run python linters
uses: addnab/docker-run-action@v3
with:
image: bailool/mc-calib-dev:latest
options: -v ${{ github.workspace }}:/home/MC-Calib
run: |
cd MC-Calib/python_utils
echo "Running python utils"