Skip to content

Commit

Permalink
Merge pull request #2472 from jorisv/topic/new_version_task
Browse files Browse the repository at this point in the history
Add a task to easily release a new EigenPy version
  • Loading branch information
jcarpent authored Nov 6, 2024
2 parents 4dfa9d2 + ff754cc commit ce3b999
Show file tree
Hide file tree
Showing 17 changed files with 629 additions and 967 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ on:
- colcon.pkg
- .pre-commit-config.yaml
- CHANGELOG.md
- development/*.md
pull_request:
paths-ignore:
- doc/**
Expand All @@ -23,6 +24,7 @@ on:
- colcon.pkg
- .pre-commit-config.yaml
- CHANGELOG.md
- development/*.md
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/macos-linux-windows-pixi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ on:
- colcon.pkg
- .pre-commit-config.yaml
- CHANGELOG.md
- development/*.md
pull_request:
paths-ignore:
- doc/**
Expand All @@ -25,6 +26,7 @@ on:
- colcon.pkg
- .pre-commit-config.yaml
- CHANGELOG.md
- development/*.md
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/nix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@ name: "CI - Nix"

on:
push:
paths-ignore:
- doc/**
- .gitlab-ci.yml
- .gitignore
- '*.md'
- CITATION.*
- COPYING.LESSER
- .pre-commit-config.yaml
- CHANGELOG.md

jobs:
nix:
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/ros-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,10 @@ on:
- '*.md'
- CITATION.*
- COPYING.LESSER
- colcon.pkg
- .pre-commit-config.yaml
- CHANGELOG.md
- development/*.md
pull_request:
paths-ignore:
- doc/**
Expand All @@ -23,8 +25,10 @@ on:
- '*.md'
- CITATION.*
- COPYING.LESSER
- colcon.pkg
- .pre-commit-config.yaml
- CHANGELOG.md
- development/*.md
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/update_pixi_lockfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ jobs:
body-path: diff.md
branch: topic/update-pixi
base: devel
labels: pixi
labels: |
pixi
no changelog
delete-branch: true
add-paths: pixi.lock
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
build*
build*/
Xcode*
*~
*.pyc
Expand Down
25 changes: 7 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,13 @@ The [master branch](https://github.com/stack-of-tasks/pinocchio/tree/master/) on

**Pinocchio** can be easily installed on various Linux (Ubuntu, Fedora, etc.) and Unix distributions (Mac OS X, BSD, etc.). Please refer to the [installation procedure](http://stack-of-tasks.github.io/pinocchio/download.html).

If you only need the Python bindings of Pinocchio, you may prefer to install it through [Conda](https://docs.conda.io/en/latest/). Please follow the procedure described [here](https://github.com/conda-forge/pinocchio-feedstock#installing-pinocchio).
### Conda

You simply need this simple line:

```bash
conda install pinocchio -c conda-forge
```

### ROS

Expand Down Expand Up @@ -190,23 +196,6 @@ Please note that we always advise including the `pinocchio/fwd.hpp` header as th
| | |      | **Humble** | [![](https://build.ros2.org/job/Hbin_uJ64__pinocchio__ubuntu_jammy_amd64__binary/badge/icon)](https://build.ros2.org/job/Hbin_uJ64__pinocchio__ubuntu_jammy_amd64__binary) |
| | |      | **Rolling** | [![](https://build.ros2.org/job/Rbin_uJ64__pinocchio__ubuntu_jammy_amd64__binary/badge/icon)](https://build.ros2.org/job/Rbin_uJ64__pinocchio__ubuntu_jammy_amd64__binary) |

## Build/install from source with Pixi

To build **Pinocchio** from source the easiest way is to use [Pixi](https://pixi.sh/latest/#installation).

[Pixi](https://pixi.sh/latest/) is a cross-platform package management tool for developers that
will install all required dependencies in `.pixi` directory.
It's used by our CI agent so you have the guarantee to get the right dependencies.

Run the following command to install dependencies, configure, build and test the project:

```bash
pixi run test
```

The project will be built in the `build` directory.
You can run `pixi shell` and build the project with `cmake` and `ninja` manually.

## Visualization

**Pinocchio** provides support for many open-source and free visualizers:
Expand Down
2 changes: 1 addition & 1 deletion cmake
Submodule cmake updated 90 files
+0 −240 .cmake-format.py
+1 −0 .docs/cmake.py
+1 −4 .docs/examples/minimal-with-packages.cmake
+2 −0 .gersemirc
+3 −0 .git-blame-ignore-revs
+11 −20 .pre-commit-config.yaml
+107 −97 CMakeLists.txt
+7 −3 _unittests/catkin/CMakeLists.txt
+7 −3 _unittests/cpp/CMakeLists.txt
+8 −4 _unittests/test_pkg-config.cmake
+6 −2 apple.cmake
+106 −56 base.cmake
+113 −63 boost.cmake
+56 −42 compiler.cmake
+31 −64 coverage.cmake
+24 −11 cpack.cmake
+4 −2 createshexe.cmake
+71 −38 cxx-standard.cmake
+2 −1 cxx11.cmake
+322 −159 cython/cython.cmake
+45 −20 debian.cmake
+104 −61 dist.cmake
+98 −70 distcheck.cmake
+141 −74 doxygen.cmake
+12 −6 eigen.cmake
+11 −8 find-external/Accelerate/FindAccelerate.cmake
+13 −10 find-external/CDD/FindCDD.cmake
+59 −37 find-external/CHOLMOD/FindCHOLMOD.cmake
+12 −13 find-external/CLP/FindCLP.cmake
+19 −13 find-external/CoinUtils/FindCoinUtils.cmake
+18 −8 find-external/CppAD/Findcppad.cmake
+21 −10 find-external/CppAD/Findcppadcg.cmake
+15 −14 find-external/GMP/FindGMP.cmake
+61 −0 find-external/Ipopt/FindIpopt.cmake
+55 −27 find-external/Julia/FindJulia.cmake
+51 −26 find-external/MPFR/FindMPFR.cmake
+384 −263 find-external/OpenMP/FindOpenMP.cmake
+44 −27 find-external/OpenRTM/FindOpenRTM.cmake
+64 −34 find-external/Qhull/FindQhull.cmake
+15 −9 find-external/Simde/FindSimde.cmake
+9 −7 find-external/TinyXML/FindTinyXML.cmake
+30 −14 find-external/TinyXML/FindTinyXML2.cmake
+51 −26 find-external/assimp/Findassimp.cmake
+21 −17 find-external/glpk/Findglpk.cmake
+24 −12 find-external/qpOASES/FindqpOASES.cmake
+31 −14 geometric-tools.cmake
+19 −17 gtest.cmake
+51 −21 header.cmake
+2 −6 hpp.cmake
+16 −10 ide.cmake
+54 −33 idl.cmake
+28 −15 idlrtc.cmake
+8 −4 image/visp.cmake
+2 −1 install-data.cmake
+14 −7 julia.cmake
+30 −19 kineo.cmake
+2 −1 lapack.cmake
+69 −34 logging.cmake
+11 −6 man.cmake
+8 −5 metapodfromurdf.cmake
+23 −8 modernize-links.cmake
+43 −21 msvc-specific.cmake
+5 −3 openhrp.cmake
+23 −10 openhrpcontroller.cmake
+9 −6 openrtm.cmake
+165 −74 package-config.cmake
+21 −0 package.xml
+360 −254 pkg-config.cmake
+10 −7 portability.cmake
+7 −2 post-project.cmake
+8 −3 pthread.cmake
+18 −10 python-helpers.cmake
+162 −92 python.cmake
+59 −31 qhull.cmake
+83 −47 release.cmake
+6 −2 relpath.cmake
+35 −17 ros.cmake
+54 −0 ros2.cmake
+15 −6 sdformat.cmake
+8 −3 shared-library.cmake
+51 −24 sphinx.cmake
+39 −21 stubs.cmake
+21 −10 swig.cmake
+86 −52 test.cmake
+124 −0 tracy.cmake
+33 −0 tracy.hh.cmake
+41 −22 uninstall.cmake
+17 −8 version-script.cmake
+44 −37 version.cmake
+14 −17 xacro.cmake
16 changes: 16 additions & 0 deletions development/build.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Build and install from source with Pixi

To build **Pinocchio** from source the easiest way is to use [Pixi](https://pixi.sh/latest/#installation).

[Pixi](https://pixi.sh/latest/) is a cross-platform package management tool for developers that
will install all required dependencies in `.pixi` directory.
It's used by our CI agent so you have the guarantee to get the right dependencies.

Run the following command to install dependencies, configure, build and test the project:

```bash
pixi run test
```

The project will be built in the `build` directory.
You can run `pixi shell` and build the project with `cmake` and `ninja` manually.
File renamed without changes.
34 changes: 34 additions & 0 deletions development/release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Release with Pixi

To create a release with Pixi run the following commands on the **devel** branch:

```bash
PINOCCHIO_VERSION=X.Y.Z pixi run release_new_version
git push origin
git push origin vX.Y.Z
git push origin devel:master
```

Where `X.Y.Z` is the new version.
Be careful to follow the [Semantic Versioning](https://semver.org/spec/v2.0.0.html) rules.

You will find the following assets:
- `./build_new_version/pinocchio-X.Y.Z.tar.gz`
- `./build_new_version/pinocchio-X.Y.Z.tar.gz.sig`

Then, create a new release on [GitHub](https://github.com/stack-of-tasks/pinocchio/releases/new) with:

* Tag: vX.Y.Z
* Title: pinocchio X.Y.Z
* Body:
```
## What's Changed
CHANGELOG CONTENT
**Full Changelog**: https://github.com/stack-of-tasks/pinocchio/compare/vXX.YY.ZZ...vX.Y.Z
```

Where `XX.YY.ZZ` is the last release version.

Then upload `pinocchio-X.Y.Z.tar.gz` and `pinocchio-X.Y.Z.tar.gz.sig` and publish the release.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit ce3b999

Please sign in to comment.