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

Improved Github actions and updated cmake submodule #1220

Merged
merged 9 commits into from
Feb 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .github/workflows/changelog.yaml
Original file line number Diff line number Diff line change
@@ -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
47 changes: 39 additions & 8 deletions .github/workflows/conda-ci.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,74 @@
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
matrix:
# 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}
Expand Down
34 changes: 30 additions & 4 deletions .github/workflows/ros1-ci.yaml
Original file line number Diff line number Diff line change
@@ -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:
Expand All @@ -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 }}
34 changes: 30 additions & 4 deletions .github/workflows/ros2-ci.yaml
Original file line number Diff line number Diff line change
@@ -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:
Expand Down Expand Up @@ -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 }}
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 4 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
1 change: 0 additions & 1 deletion bindings/python/crocoddyl/crocoddyl.launch
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
<?xml version="1.0" ?>
<launch>
<arg name="filename" default="$(eval env('PWD'))"/>

Expand Down
2 changes: 1 addition & 1 deletion dependencies.rosinstall
Original file line number Diff line number Diff line change
@@ -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
Loading