Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extending CI jobs #1152

Merged
merged 20 commits into from
Aug 4, 2023
Merged

Extending CI jobs #1152

merged 20 commits into from
Aug 4, 2023

Conversation

cmastalli
Copy link
Member

No description provided.

@hrp2-14
Copy link

hrp2-14 commented Jul 31, 2023

Hi ! This project doesn't usually accept pull requests on the main branch.
If this wasn't intentionnal, you can change the base branch of this PR to devel
(No need to close it for that). Best, a bot.

@cmastalli cmastalli changed the base branch from master to devel July 31, 2023 21:46
@cmastalli cmastalli force-pushed the topic/ci branch 2 times, most recently from 1c34a86 to 3498381 Compare August 1, 2023 08:17
@cmastalli cmastalli force-pushed the topic/ci branch 12 times, most recently from 502c347 to 5e9b1fe Compare August 2, 2023 11:55
@cmastalli
Copy link
Member Author

cmastalli commented Aug 2, 2023

Hi guys

I am trying to set up a CI that runs unit tests with CppADCodeGen. To do so, I have defined a CI using Conda. However, I am blocked by the following compilation error (that you can find here https://github.com/loco-3d/crocoddyl/actions/runs/5741143361/job/15569452210?pr=1152):

/usr/share/miniconda/envs/crocoddyl/include/boost/math/constants/constants.hpp:259:3: error: no matching function for call to 'boost::math::constants::detail::constant_pi<CppAD::AD<CppAD::cg::CG<double> > >::get(boost::math::constants::construction_traits<CppAD::AD<CppAD::cg::CG<double> >, boost::math::policies::policy<boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy> >::type)'
In file included from /usr/share/miniconda/envs/crocoddyl/include/pinocchio/codegen/cppadcg.hpp:15,
                 from /home/runner/work/crocoddyl/crocoddyl/include/crocoddyl/core/codegen/action-base.hpp:16,
                 from /home/runner/work/crocoddyl/crocoddyl/unittest/test_codegen.cpp:20:
/usr/share/miniconda/envs/crocoddyl/include/pinocchio/autodiff/cppad.hpp:35:34: note: candidate: 'template<int N> static boost::math::constants::detail::constant_pi<CppAD::AD<Base> >::ADScalar boost::math::constants::detail::constant_pi<CppAD::AD<Base> >::get(const mpl_::int_<N>&) [with int N = N; Scalar = CppAD::cg::CG<double>]'
   35 |           static inline ADScalar get(const mpl::int_<N>& n)
      |                                  ^~~
/usr/share/miniconda/envs/crocoddyl/include/pinocchio/autodiff/cppad.hpp:35:34: note:   template argument deduction/substitution failed:
In file included from /usr/share/miniconda/envs/crocoddyl/include/pinocchio/math/fwd.hpp:10,
                 from /usr/share/miniconda/envs/crocoddyl/include/pinocchio/math/quaternion.hpp:12,
                 from /usr/share/miniconda/envs/crocoddyl/include/pinocchio/spatial/se3-tpl.hpp:12,
                 from /usr/share/miniconda/envs/crocoddyl/include/pinocchio/spatial/se3.hpp:44,
                 from /usr/share/miniconda/envs/crocoddyl/include/pinocchio/multibody/model.hpp:10,
                 from /usr/share/miniconda/envs/crocoddyl/include/pinocchio/algorithm/model.hpp:8,
                 from /home/runner/work/crocoddyl/crocoddyl/unittest/test_codegen.cpp:13:
/usr/share/miniconda/envs/crocoddyl/include/boost/math/constants/constants.hpp:259:3: note:   'boost::math::constants::construction_traits<CppAD::AD<CppAD::cg::CG<double> >, boost::math::policies::policy<boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy> >::type' {aka 'std::integral_constant<int, 0>'} is not derived from 'const mpl_::int_<N>'
  259 |   BOOST_DEFINE_MATH_CONSTANT(pi, 3.141592653589793238462643383279502884e+00, "3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651e+00")
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [unittest/CMakeFiles/test_codegen.dir/build.make:79: unittest/CMakeFiles/test_codegen.dir/test_codegen.cpp.o] Error 1

This is happening with Boost 1.78 and both Linux and macOS environments. I can say that Conda works well on my PC, which also has Boost 1.78.

I would appreciate any help as I am lacking of ideas. (tag @nim65s and @jcarpent as you might have some clues for me)

Thanks

@cmastalli cmastalli marked this pull request as ready for review August 4, 2023 15:27
@cmastalli
Copy link
Member Author

This PR extends Crocoddyl CI as follows:

  • ROS2 jobs for humble and rolling
  • CONDA jobs for Linux and macOS offering us to test Ipopt and in the near future CppADCodeGen (this last requires a new Pinocchio release).

Additionally, this PR contains a few basic code clean-ups, ROS2 support and robustification of collision tests. It is worth mentioning that these collision tests weren't passing in macOS.

@cmastalli cmastalli merged commit 0107696 into loco-3d:devel Aug 4, 2023
10 checks passed
@cmastalli cmastalli deleted the topic/ci branch August 4, 2023 15:34
nim65s added a commit to nim65s/robotpkg that referenced this pull request Jan 27, 2024
Upstream changes:

    ## [2.0.2] - 2023-12-07

    * Added nu, ng, and nh setters for Python bindings in loco-3d/crocoddyl#1192
    * Added CHANGELOG.md in loco-3d/crocoddyl#1188
    * Supported nu==0 in actuation models in loco-3d/crocoddyl#1188
    * Included Python bindings for Crocoddyl exceptions by cmastalli in loco-3d/crocoddyl#1186
    * Updated cmake submodule update by jcarpentier in loco-3d/crocoddyl#1186
    * Fixed getters for contraints bounds by skleff1994 in loco-3d/crocoddyl#1180
    * Extended solver abstract and callbacks for arbitrary solvers by cmastalli in loco-3d/crocoddyl#1179
    * Fixed the check of pair_id in collision residual by ArthurH91 in loco-3d/crocoddyl#1178
    * Exploited control-residual structure when computing Lu, Luu by cmastalli in loco-3d/crocoddyl#1176
    * Added LWA fram convention and introduced different axis for 1d contacts by skleff1994 in loco-3d/crocoddyl#1172
    * Python bindings for setting control bounds by cmastalli in loco-3d/crocoddyl#1171
    * Fixed missed scalar in cost sum and activation data by cmastalli in loco-3d/crocoddyl#1165
    * Added actuation unit tests by cmastalli in loco-3d/crocoddyl#1161
    * Introduced method for obtaining the dimension of floating-bases by cmastalli in loco-3d/crocoddyl#1160
    * Fixed set_reference in state residual by cmastalli in loco-3d/crocoddyl#1158
    * Enabled CONDA CI jobs with CppADCodeGen by cmastalli in loco-3d/crocoddyl#1156
    * Added other CI jobs by cmastalli in loco-3d/crocoddyl#1152
    * Fixed compiltation issue when building with CppADCodeGen by cmastalli in loco-3d/crocoddyl#1151
    * Fixed include order used in frames.cpp by ManifoldFR in loco-3d/crocoddyl#1150
nim65s added a commit to nim65s/robotpkg that referenced this pull request Jan 29, 2024
Upstream changes:

    ## [2.0.2] - 2023-12-07

    * Added nu, ng, and nh setters for Python bindings in loco-3d/crocoddyl#1192
    * Added CHANGELOG.md in loco-3d/crocoddyl#1188
    * Supported nu==0 in actuation models in loco-3d/crocoddyl#1188
    * Included Python bindings for Crocoddyl exceptions by cmastalli in loco-3d/crocoddyl#1186
    * Updated cmake submodule update by jcarpentier in loco-3d/crocoddyl#1186
    * Fixed getters for contraints bounds by skleff1994 in loco-3d/crocoddyl#1180
    * Extended solver abstract and callbacks for arbitrary solvers by cmastalli in loco-3d/crocoddyl#1179
    * Fixed the check of pair_id in collision residual by ArthurH91 in loco-3d/crocoddyl#1178
    * Exploited control-residual structure when computing Lu, Luu by cmastalli in loco-3d/crocoddyl#1176
    * Added LWA fram convention and introduced different axis for 1d contacts by skleff1994 in loco-3d/crocoddyl#1172
    * Python bindings for setting control bounds by cmastalli in loco-3d/crocoddyl#1171
    * Fixed missed scalar in cost sum and activation data by cmastalli in loco-3d/crocoddyl#1165
    * Added actuation unit tests by cmastalli in loco-3d/crocoddyl#1161
    * Introduced method for obtaining the dimension of floating-bases by cmastalli in loco-3d/crocoddyl#1160
    * Fixed set_reference in state residual by cmastalli in loco-3d/crocoddyl#1158
    * Enabled CONDA CI jobs with CppADCodeGen by cmastalli in loco-3d/crocoddyl#1156
    * Added other CI jobs by cmastalli in loco-3d/crocoddyl#1152
    * Fixed compiltation issue when building with CppADCodeGen by cmastalli in loco-3d/crocoddyl#1151
    * Fixed include order used in frames.cpp by ManifoldFR in loco-3d/crocoddyl#1150
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants