diff --git a/.github/workflows/changelog.yaml b/.github/workflows/changelog.yaml new file mode 100644 index 0000000000..23b488af86 --- /dev/null +++ b/.github/workflows/changelog.yaml @@ -0,0 +1,16 @@ +name: CHANGELOG + +on: + pull_request: + types: [assigned, opened, synchronize, reopened, labeled, unlabeled] + branches: + - devel + +jobs: + check-changelog: + name: Check changelog action + runs-on: ubuntu-latest + steps: + - uses: tarides/changelog-check-action@v2 + with: + changelog: CHANGELOG.md diff --git a/.github/workflows/conda-ci.yml b/.github/workflows/conda-ci.yml index ca6422c4c8..b4b418eeab 100644 --- a/.github/workflows/conda-ci.yml +++ b/.github/workflows/conda-ci.yml @@ -1,13 +1,42 @@ name: CONDA -on: [push, pull_request] +# This determines when this workflow is run +on: + push: + paths-ignore: + - 'doc/**' + - '.gitlab-ci.yml' + - '.gitignore' + - '.pre-commit-config.yaml' + - '*.md' + - 'LICENSE' + - 'pyproject.toml' + - 'package.xml' + - 'dependencies.rosintall' + pull_request: + paths-ignore: + - 'doc/**' + - '.gitlab-ci.yml' + - '.gitignore' + - '.pre-commit-config.yaml' + - '*.md' + - 'LICENSE' + - 'pyproject.toml' + - 'package.xml' + - 'dependencies.rosintall' +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true jobs: crocoddyl-conda: name: (${{ matrix.os }}, clang, multi-threading, ipopt, ${{ matrix.build_type }}) runs-on: ${{ matrix.os }} env: - CCACHE_DIR: ${{ matrix.CCACHE_DIR }} + CCACHE_BASEDIR: "${GITHUB_WORKSPACE}" + CCACHE_DIR: "${GITHUB_WORKSPACE}/.ccache" + CCACHE_COMPRESS: true + CCACHE_COMPRESSLEVEL: 5 strategy: fail-fast: false @@ -15,29 +44,31 @@ jobs: # os: ["ubuntu-latest", "macos-latest"] os: ["macos-latest"] build_type: [Release, Debug] + python-version: ["3.8", "3.12"] compiler: [clang] include: # - os: ubuntu-latest - # CCACHE_DIR: /home/runner/.ccache - os: macos-latest - CCACHE_DIR: /Users/runner/.ccache steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: ${{ env.CCACHE_DIR }} - key: ccache-conda-${{ matrix.os }}-${{ matrix.build_type }} + key: ccache-conda-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.python-version }}-${{ github.sha }} + restore-keys: ccache-conda-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.python-version }}- - - uses: conda-incubator/setup-miniconda@v2 + - uses: conda-incubator/setup-miniconda@v3 with: activate-environment: crocoddyl auto-update-conda: true environment-file: .github/workflows/conda/conda-env.yml + python-version: ${{ matrix.python-version }} + auto-activate-base: false - name: Install conda dependencies shell: bash -l {0} diff --git a/.github/workflows/ros1-ci.yaml b/.github/workflows/ros1-ci.yaml index e9a71f7403..96d9449a0a 100644 --- a/.github/workflows/ros1-ci.yaml +++ b/.github/workflows/ros1-ci.yaml @@ -1,7 +1,32 @@ name: ROS # This determines when this workflow is run -on: [push, pull_request] # on all pushes and PRs +on: + push: + paths-ignore: + - 'doc/**' + - '.gitlab-ci.yml' + - '.gitignore' + - '.pre-commit-config.yaml' + - '*.md' + - 'LICENSE' + - 'pyproject.toml' + - 'package.xml' + - 'dependencies.rosintall' + pull_request: + paths-ignore: + - 'doc/**' + - '.gitlab-ci.yml' + - '.gitignore' + - '.pre-commit-config.yaml' + - '*.md' + - 'LICENSE' + - 'pyproject.toml' + - 'package.xml' + - 'dependencies.rosintall' +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true jobs: CI: @@ -28,14 +53,15 @@ jobs: runs-on: ubuntu-latest continue-on-error: true steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive # This step will fetch/store the directory used by ccache before/after the ci run - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: ${{ env.CCACHE_DIR }} - key: ccache-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }} + key: ccache-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}-${{ github.sha }} + restore-keys: ccache-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}- # Run industrial_ci - uses: 'ros-industrial/industrial_ci@master' env: ${{ matrix.env }} diff --git a/.github/workflows/ros2-ci.yaml b/.github/workflows/ros2-ci.yaml index b85fbb4ba6..2f9cdd280b 100644 --- a/.github/workflows/ros2-ci.yaml +++ b/.github/workflows/ros2-ci.yaml @@ -1,7 +1,32 @@ name: ROS # This determines when this workflow is run -on: [push, pull_request] +on: + push: + paths-ignore: + - 'doc/**' + - '.gitlab-ci.yml' + - '.gitignore' + - '.pre-commit-config.yaml' + - '*.md' + - 'LICENSE' + - 'pyproject.toml' + - 'package.xml' + - 'dependencies.rosintall' + pull_request: + paths-ignore: + - 'doc/**' + - '.gitlab-ci.yml' + - '.gitignore' + - '.pre-commit-config.yaml' + - '*.md' + - 'LICENSE' + - 'pyproject.toml' + - 'package.xml' + - 'dependencies.rosintall' +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true jobs: CI: @@ -29,13 +54,14 @@ jobs: runs-on: ubuntu-latest continue-on-error: true steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive # This step will fetch/store the directory used by ccache before/after the ci run - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: ${{ env.CCACHE_DIR }} - key: ccache-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }} + key: ccache-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}-${{ github.sha }} + restore-keys: ccache-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}- - uses: 'ros-industrial/industrial_ci@master' env: ${{ matrix.env }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 1399606c6b..992d592b17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] +* Improved CI, updated cmake and fixed launch file in https://github.com/loco-3d/crocoddyl/pull/1220 * Introduced a Rviz display in https://github.com/loco-3d/crocoddyl/pull/1216 * Enabled display of thrust and simplied displayers code in https://github.com/loco-3d/crocoddyl/pull/1215 * Introduced floating base thruster actuation model in https://github.com/loco-3d/crocoddyl/pull/1213 diff --git a/CMakeLists.txt b/CMakeLists.txt index a30d83026d..613a565e2b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -88,11 +88,11 @@ endif() # Add the different required and optional dependencies if(BUILD_PYTHON_INTERFACE) - add_project_dependency(eigenpy 3.1.4 REQUIRED PKG_CONFIG_REQUIRES - "eigenpy >= 3.1.4") + add_project_dependency(eigenpy 3.1.0 REQUIRED PKG_CONFIG_REQUIRES + "eigenpy >= 3.1.0") endif(BUILD_PYTHON_INTERFACE) -add_project_dependency(pinocchio 2.6.21 REQUIRED PKG_CONFIG_REQUIRES - "pinocchio >= 2.6.21") +add_project_dependency(pinocchio 2.6.20 REQUIRED PKG_CONFIG_REQUIRES + "pinocchio >= 2.6.20") if(BUILD_EXAMPLES OR BUILD_TESTING OR BUILD_BENCHMARK) diff --git a/bindings/python/crocoddyl/crocoddyl.launch b/bindings/python/crocoddyl/crocoddyl.launch index fa1f061bb0..965e39db11 100644 --- a/bindings/python/crocoddyl/crocoddyl.launch +++ b/bindings/python/crocoddyl/crocoddyl.launch @@ -1,4 +1,3 @@ - diff --git a/cmake b/cmake index 59a8466a11..0fa7e43f52 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit 59a8466a1143e2719b598b55d92a09d653628959 +Subproject commit 0fa7e43f52b679c6f728ddaceb8783978d16885b diff --git a/dependencies.rosinstall b/dependencies.rosinstall index 2ef38d0bb1..179e8aba4a 100644 --- a/dependencies.rosinstall +++ b/dependencies.rosinstall @@ -1,4 +1,4 @@ - git: uri: https://github.com/Gepetto/example-robot-data.git - version: devel + version: v4.0.9 local-name: example-robot-data