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

Initial conda configurations import (pixi testing on github actions) #1192

Merged
merged 10 commits into from
Nov 12, 2024
Merged
23 changes: 23 additions & 0 deletions .github/workflows/ci-pixi.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Conda env testing

on:
pull_request:
push:
paths:
- 'conda/envs/legacy/**'

jobs:
legacy_pixi_test:
runs-on: ubuntu-latest
name: Legacy Pixi
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install pixi
uses: prefix-dev/setup-pixi@ba3bb36eb2066252b2363392b7739741bb777659 # v0.8.1
with:
locked: true
cache: false # 10Gb limit might be too low for caching
manifest-path: conda/envs/legacy/pixi.toml
34 changes: 34 additions & 0 deletions conda/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Conda configurations and tools for Gazebo

This repository hosts the Conda related configurations and files used
by the Gazebo project.

> [!IMPORTANT]
> Currently the Gazebo project is only using Conda for supporting the
> build on Windows. The builds or Conda packages can perfectly work
> on different platforms but the core team is not actively testing
> them.

## The envs/ (environments) directory

The environments directory hosts the Conda environments and Pixi projects
configurations used for different combinations of Gazebo distributions.

## Create environments with Pixi

[Pixi](https://prefix.dev/) can be used to recreate a Gazebo development
environment. Navigate to the right subdirectory under `envs/` where the
`pixi.lock` and `pixi.toml` files are located and run:

```bash
pixi install --locked
```

## Environments available

### The legacy environment

The legacy environment has the goal of replacing the previous vcpkg
installation used by the Gazebo Buildfarm for testing Garden, Harmonic
and Ionic. The software versions chosen are mostly based on the Ubuntu
Jammy versions.
55 changes: 55 additions & 0 deletions conda/envs/legacy/gz-environment.yaml
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this file necessary if we have the pixi.toml file?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not in use by us. It was the first file designed to work with the other mamba/micromamba/conda package managers. We could just remove it if we are not going to use it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd rather avoid duplicating the information unless it's truly necessary.

Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: gazebo
channels:
- conda-forge
platforms:
- win-64
dependencies:
# Not in vcpkg
- python=3.9
- colcon-common-extensions
- vcstool
- ruby=3.2 # version in noble
- pkg-config # for ogre-next detection in rendering
- cmake=3.28.3 # version in Noble
- dartsim=6.13.2 # version in Noble
#
# X stack on Linux
# - libglu
# - libglvnd-devel-cos7-x86_64
# - libwebsockets
# - mesa-libegl-devel-cos7-x86_64
# - mesa-libgl-devel-cos7-x86_64
# - vulkan-headers
#
# VCPKG_DEPENDENCIES_LEGACY block:
- assimp
- boost-cpp=1.78.0
- bullet-cpp
- libccd-double
# - console-bridge #not in conda
- cppzmq
- cuda
- curl
- dlfcn-win32 # win
- eigen
- fcl=0.7.0
- ffmpeg
- freeimage
- gdal
- gflags
- glib
- gts
- jsoncpp
- yaml
- libzip
- ogre=1.10.12.1
- ogre-next=2.3.3 # version in Noble
- openssl
- protobuf
- libprotobuf
- pybind11
- qt-main
- qwt
- libsqlite
- tinyxml2
- zeromq
Loading