Skip to content

Commit

Permalink
Merge pull request #544 from norlab-ulaval/release
Browse files Browse the repository at this point in the history
THE 2023 release
  • Loading branch information
boxanm authored Dec 29, 2023
2 parents e146a50 + a94cb28 commit 1a3a4b3
Show file tree
Hide file tree
Showing 227 changed files with 3,820 additions and 11,454 deletions.
35 changes: 35 additions & 0 deletions .env.libpointmatcher
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# =================================================================================================
#
# Set project related environment variables. Those are available for convenience
# and are also required by 'norlab-shell-script-tools' library.
#
# Usage:
#
# Important! Source this file from 'libpointmatcher' repository root
# $ cd <path/to/libpointmatcher/>
# $ set -o allexport && source .env.libpointmatcher && set +o allexport
#
# =================================================================================================

PROJECT_PROMPT_NAME='LPM'

# ....Programaticaly fetch source code information.................................................
PROJECT_GIT_REMOTE_URL="https://github.com/norlab-ulaval/libpointmatcher"
PROJECT_GIT_NAME=$( basename "${PROJECT_GIT_REMOTE_URL}" .git )
PROJECT_PATH=$( git rev-parse --show-toplevel )
PROJECT_SRC_NAME="$( basename ${PROJECT_PATH} )"

# ....Set LPM related environment variable with their own prefix...................................
# Note: Those with "PROJECT_" prefix will get eventualy overiden in the case where N2ST is used
# as a library. Using generic testing logic require that environment variables with
# "PROJECT_" prefix be available.
LPM_PROMPT_NAME="${PROJECT_PROMPT_NAME}"
LPM_GIT_REMOTE_URL="${PROJECT_GIT_REMOTE_URL}"
LPM_GIT_NAME="${PROJECT_GIT_NAME}"
LPM_PATH="${PROJECT_PATH}"
LPM_SRC_NAME="${PROJECT_SRC_NAME}"

# ....Set dependencies path........................................................................
LPM_BUILD_SYSTEM_PATH="${PROJECT_PATH}/build_system"
N2ST_PATH="${PROJECT_PATH}/build_system/utilities/norlab-shell-script-tools"
NBS_PATH="${PROJECT_PATH}/build_system/utilities/norlab-build-system"
37 changes: 37 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# =================================================================================================
# Files or directories with designated code owner.
#
# Note:
# - Each line is a file pattern followed by one or more owners.
# - Branch with branch protection rule "Require review from Code Owners"
# will automaticaly trigger a request to a designated code owner
# =================================================================================================

# ....Repository wide code owner...................................................................
# These owners will be the default owners for everything in the repo.
#* @pomerlef


# ....High level files.............................................................................
/README.md @pomerlef
/LICENSE @pomerlef

# ....Core directories and files...................................................................
/doc @boxanm @simonpierredeschenes @aguenette @pomerlef
/pointmatcher @boxanm @simonpierredeschenes @aguenette
/python @boxanm @simonpierredeschenes @aguenette
/utest @boxanm @simonpierredeschenes @aguenette
/examples @boxanm @simonpierredeschenes @aguenette

# ....User install tools...........................................................................
/.env.libpointmatcher @RedLeader962
/libpointmatcher_installer.bash @RedLeader962
/libpointmatcher_dependencies_installer.bash @RedLeader962

# ....DevOps related...............................................................................
/.github/ @RedLeader962
/build_system/ @RedLeader962
/.gitmodules @RedLeader962
/.gitignore @RedLeader962
/.dockerignore @RedLeader962

54 changes: 54 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Description

### Summary:

### Changes and type of changes (quick overview):

-
-
-

---

# Checklist:

### Code related

- [ ] I have made corresponding changes to the documentation
(i.e.: function, class, script header, README.md)
- [ ] I have commented hard-to-understand code
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] All tests pass locally with my changes
(Check [README.md #Contributing](https://github.com/norlab-ulaval/libpointmatcher/tree/develop#contributing)
for local testing procedure using _libpointmatcher-build-system_)

### PR creation related

- [ ] My pull request `base ref` branch is set to the `develop` branch
(the _build-system_ won't be triggered otherwise)
- [ ] My pull request branch is up-to-date with the `develop` branch
(the _build-system_ will reject it otherwise)

### PR description related

- [ ] I have included a quick summary of the changes
- [ ] I have indicated the related issue's id with `# <issue-id>` if changes are of type `fix`
- [ ] I have included a high-level list of changes and their corresponding type
- Types: `feat` `fix` `docs` `style` `refactor` `perf` `test` `build` `ci` `chore` `revert`
- Breaking changes: `<type>!`
- Reference:
see [commit_msg_reference.md](https://github.com/norlab-ulaval/libpointmatcher/blob/develop/commit_msg_reference.md)
in the repository root for details

---

## Note for repository admins

### Release PR related

- Only repository admins have the privilege to `push/merge` on the default branch (ie: `master`)
and the `release` branch.
- Keep PR in `draft` mode until all the release reviewers are ready to push the release.
- Once a PR from `release` -> `master` branch is created (not in draft mode),
- it triggers the _build-system_ test
- (in-progress) and it triggers the _semantic release automation_
14 changes: 10 additions & 4 deletions .github/workflows/build-python.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
tags:
- '[0-9]+.[0-9]+.[0-9]+'
pull_request:
branches: [master]
branches: [master, develop]
workflow_dispatch:

env:
Expand Down Expand Up @@ -131,6 +131,7 @@ jobs:
gcc \
make \
libeigen3-dev \
libyaml-cpp-dev \
ninja-build \
catch \
libomp-dev \
Expand Down Expand Up @@ -184,7 +185,7 @@ jobs:
if: ${{ steps.cache-boost.outputs.cache-hit != 'true' && runner.os == 'Linux' }}
working-directory: ${{ env.BOOST_SRC_DIR }}/${{ env.BOOST_DIR }}
run: |
./bootstrap.sh --with-libraries=thread,filesystem,system,program_options,date_time,chrono --with-icu --with-python=python --prefix=${{ env.BOOST_INSTALL_PATH }}
./bootstrap.sh --with-libraries=thread,filesystem,system,program_options,date_time,chrono --with-icu --prefix=${{ env.BOOST_INSTALL_PATH }}
./b2 cxxflags=-fPIC cflags=-fPIC link=static install
- name: Download source code libnabo ${{ env.LIBNABO_VERSION }}
Expand Down Expand Up @@ -266,6 +267,7 @@ jobs:
-Dpybind11_DIR=${{ env.PYBIND11_INSTALL_PATH }}/share/cmake/pybind11 \
-DBUILD_PYTHON_MODULE:BOOL=ON \
-DUSE_OPEN_MP:BOOL=ON \
-DBoost_USE_STATIC_LIBS:BOOL=ON \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-S . -B ${{ env.BUILD_DIR }}
sudo cmake --build ${{ env.BUILD_DIR }} --target install
Expand All @@ -280,6 +282,7 @@ jobs:
-DLIBNABO_INSTALL_DIR:PATH="${{ env.LIBNABO_INSTALL_PATH }}" `
-Dpybind11_DIR:PATH="${{ env.PYBIND11_INSTALL_PATH }}/share/cmake/pybind11" `
-DBUILD_PYTHON_MODULE:BOOL=ON `
-DBoost_USE_STATIC_LIBS:BOOL=ON `
-DPYTHON_INSTALL_TARGET:PATH="./python/${{ env.PYTHON_PACKAGE_NAME }}" `
-DVCPKG_TARGET_TRIPLET="x64-windows-static" `
-DUSE_OPEN_MP:BOOL=ON `
Expand All @@ -292,11 +295,14 @@ jobs:
run: |
python -m build --wheel --no-isolation --outdir ${{ env.PYTHON_WHEEL_DIR }}
- name: Test package
- name: Install package
working-directory: ./python
run: |
pip install ${{ env.PYTHON_WHEEL_DIR }}/*.whl
python -c "from pypointmatcher import *"
- name: Test import
working-directory: ${{ runner.temp }}
run: python -c "from pypointmatcher import *"

- name: Upload python wheel
uses: actions/upload-artifact@v3
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ build

dist/
*.so

.idea/
6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[submodule "build_system/utilities/norlab-build-system"]
path = build_system/utilities/norlab-build-system
url = https://github.com/norlab-ulaval/norlab-build-system.git
[submodule "build_system/utilities/norlab-shell-script-tools"]
path = build_system/utilities/norlab-shell-script-tools
url = https://github.com/norlab-ulaval/norlab-shell-script-tools.git
85 changes: 85 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,91 @@
Changelog for package libpointmatcher
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1.4.0 (2023-12-15)
-----------------
* fix: N2ST path resolution in dependencies-doc docker image
* refactor: move libpointmatcher build-system logic to norlab-build-system submodule
* fix: build-system side unstable compilation issue fix
* Fixes to CMake library management config generation
* New DataPoints filter for descriptor augmentation Enhancement
* Fix 2D transformation tests in debug
* Fix Transformations test build when using Eigen3.4
* Disable static boost linkage by default
* Update CompilationPython.md
* Update README.md
* Update readme_test.md for docker daemon test
* Create readme_test.md
* Updated the inner loop counter
* build-system minor mod
* libpointmatcher build-system
* Fix omega descriptor export
* Handle libnabo config mode
* Build python binding as regular package
* Fix time values after applying Sampling surface normal filter
* Add seed to Random sampling filter
* Add more details in pypointmatcher's installation docs
* Fixed compilation on Visual Studio 2022
* Fix 4DoF PointToPlane error minimizer crash
* Use the LOG_INFO_STREAM macro instead of std::cerr
* package format=3
* Create LICENSE file based on BSD license as per package.xml
* catkin not required for pure cmake packages
* Histogram<T>::computeStats() without sorting the Histogram
* Windows: Fix Narrowing conversion of seed in MaxPointCount
* Change storage ordering of the eigen vectors descriptors
* Apply the transformation to eigen vectors
* Fix the surface normals datapoints filter covariance matrix bug
* Fix weird behavior of MaxPointCountDataPointsFilter
* Bug fix in SurfaceNormalOutlierFilter
* Update CompilationWindows.md
* [Matches/OutlierFiltersImpl] Made convergence error messages more informative
* RemoveBeyond option for the maxQuantileDistance filter
* refactor: Drop support for yaml-cpp old API Enhancement
* Automaticaly find eigen3
* Strong Windows installation tutorial update
* Add libpointmatcher_INCLUDE_DIR to match with CGAL
* Add Boost_LIBRARIES to pointmatcher_LIBRARIES
* Add option to weight by reading pc
* Fixes for windows
* Fix windows doc
* Include iso646.h to add and, or, not macros
* Typo in PCL lib name
* Implemented an in-place method for transforming DataPoints objects
* The keyword "or" is not supported by windows compilers.
* Link against pthread
* [DataPoints] Added check to prevent unsigned int underflow in getEuclideanDim()
* [feature/spdf] Add SpectralDecompositionFilter (SpDF)
* Fixed the differences between examples and documentation (#409)
* Fix build of downstream packages.
* Reorganization of the compiling tutorials for ubuntu and macos
* Added reference for PointToPlaneWithCov ErrorMinimizer.
* [WIP] feature/python_module : Adding libpointmatcher's Python bindings (#222) Enhancement
* Feature/speedup random sampling filter
* Replaced the remaining raw pointers with shared pointers in Registrar.h
* Adding the new outlierfilters documentation to mkdocs .yml
* Outlier filter documentation added
* Fix/typo Fixes tutorials building failure
* Fixes tutorials formatting problem (#373)
* [WIP] Fix/typo : Tutorials improvements
* Fix out-of-bounds access
* Add missing force4DOF param to PointToPlaneWithCov
* Modernize cmake; make cmake compatible with git submoduling
* Feature/4 dof for point to plane minimizer
* Feature/geometry data points filter for master
* Get rid of the Visual C++ warnings
* Change matrix type
* Update link to documentation in readme
* Fix segfault happening in ICPSequence class
* Added missing include that made windows compilation fail.
* Change icp chain image to an svg
* Add support for Travis
* Fix typo
* Improve speed of Normal Space filtering
* Fix/normal space hashing
* Fix/clamp normals



1.3.1 (2019-03-04)
------------------
* Added documentation for people using ROS.
Expand Down
Loading

0 comments on commit 1a3a4b3

Please sign in to comment.