Skip to content

Commit

Permalink
upgrade to fcl 0.7.0, octomap 1.9.8 (#51)
Browse files Browse the repository at this point in the history
  • Loading branch information
mjd3 authored Jul 6, 2022
1 parent cc75369 commit 8ffedeb
Show file tree
Hide file tree
Showing 9 changed files with 35 additions and 63 deletions.
7 changes: 4 additions & 3 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
- name: Check out source repository
uses: actions/checkout@v2
- name: Set up Python environment
uses: actions/setup-python@v2
uses: actions/setup-python@v3
with:
python-version: 3.9
- name: flake8
Expand All @@ -24,12 +24,13 @@ jobs:
name: Build wheel on ${{matrix.platform}}
runs-on: ${{matrix.platform}}
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v2
- name: Build wheels
uses: pypa/cibuildwheel@v2.0.0
- uses: actions/upload-artifact@v2
uses: pypa/cibuildwheel@v2.7.0
- uses: actions/upload-artifact@v3
with:
path: ./wheelhouse/*.whl
13 changes: 7 additions & 6 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Build wheels
uses: pypa/cibuildwheel@v2.0.0
- uses: actions/upload-artifact@v2
uses: pypa/cibuildwheel@v2.7.0
- uses: actions/upload-artifact@v3
with:
path: ./wheelhouse/*.whl
- uses: xresloader/upload-to-github-release@v1
Expand All @@ -60,16 +60,17 @@ jobs:
overwrite: true
draft: false
update_latest_release: true

upload_pypi:
needs: [build_wheels]
if: contains(needs.create_release.outputs.mod_files, 'src/fcl/version.py')
needs: [create_release, build_wheels]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: artifact
path: dist
- uses: pypa/gh-action-pypi-publish@v1.4.2
- uses: pypa/gh-action-pypi-publish@v1.5.0
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

Python-FCL is an (unofficial) Python interface for the [Flexible Collision Library (FCL)](https://github.com/flexible-collision-library/fcl),
an excellent C++ library for performing proximity and collision queries on pairs of geometric models.
Currently, this package is targeted for FCL 0.6.1.
Currently, this package is targeted for FCL 0.7.0.

This package supports three types of proximity queries for pairs of geometric models:
* __Collision Detection__: Detecting whether two models overlap (and optionally where).
Expand Down
10 changes: 3 additions & 7 deletions build_dependencies/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
# NOTE: this docker file is only for local testing of the build
# it should be copied or symlinked up one directory as docker
# can't go into parent directories
# example of testing a build locally:

# ln -sf requirements/Dockerfile .
# docker build . -t pythonfcl
# docker build . -t pythonfcl -f build_dependencies/Dockerfile

FROM quay.io/pypa/manylinux2010_x86_64:latest

Expand All @@ -24,6 +20,6 @@ RUN pip install numpy cython
# build the python-fcl module
COPY . /python_fcl
RUN pip wheel /python_fcl --no-deps -w wheelhouse/
RUN pip install /python_fcl --no-index -f /wheelhouse
RUN pip install python_fcl --no-index -f /wheelhouse
RUN ls /wheelhouse
RUN auditwheel repair wheelhouse/python_fcl-0.6.1-cp39-cp39-linux_x86_64.whl --plat manylinux2010_x86_64 -w /wheelhouse
RUN auditwheel repair wheelhouse/python_fcl-0.7.0-cp39-cp39-linux_x86_64.whl -w /wheelhouse
21 changes: 12 additions & 9 deletions build_dependencies/install_linux.sh
Original file line number Diff line number Diff line change
@@ -1,41 +1,44 @@
# exit immediately on any failed step
set -xe

mkdir -p deps
cd deps
get eigen

curl -OL https://gitlab.com/libeigen/eigen/-/archive/3.3.9/eigen-3.3.9.tar.gz
tar -zxf eigen-3.3.9.tar.gz

rm -rf libccd
git clone --depth 1 --branch v2.1 https://github.com/danfis/libccd.git

rm -rf octomap
git clone --depth 1 --branch v1.8.0 https://github.com/OctoMap/octomap.git
git clone --depth 1 --branch v1.9.8 https://github.com/OctoMap/octomap.git

rm -rf fcl
git clone --depth 1 --branch v0.6.1 https://github.com/flexible-collision-library/fcl.git
git clone --depth 1 --branch v0.7.0 https://github.com/ambi-robotics/fcl.git

echo "Install eigen"
# Install eigen
cmake -B build -S eigen-3.3.9
cmake --install build

echo "Build and install libccd"
# Build and install libccd
cd libccd
cmake .
make -j4
make install
cd ..

echo "Build and install octomap"
# Build and install octomap
cd octomap
cmake .
cmake . -D CMAKE_BUILD_TYPE=Release -D BUILD_OCTOVIS_SUBPROJECT=OFF -D BUILD_DYNAMICETD3D_SUBPROJECT=OFF
make -j4
make install
cd ..

echo "Build and install fcl"
# Build and install fcl
cd fcl
cmake .
make -j4
make install
cd ..

cd ..
cd ..
10 changes: 5 additions & 5 deletions build_dependencies/install_windows.ps1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<#
Originally based on script written by Pebaz (https://github.com/Pebaz/python-fcl/blob/master/requirements/build_win32.ps1)
but with many modification in order to use fcl 0.6.1 and install dependencies without admin rights.
but with many modifications in order to use fcl 0.7.0 and install dependencies without admin rights.
This script builds fcl and it's dependencies for python-fcl on Windows.
Expand All @@ -18,9 +18,9 @@ $base_dir = Get-Location
mkdir -p deps; Set-Location deps

# Build options
$generator = "Visual Studio 16 2019"
$generator = "Visual Studio 17 2022"

# All compiled depencies will be install in following folder
# All compiled dependencies will be installed in following folder
$install_dir = "$base_dir\deps\install"


Expand Down Expand Up @@ -61,7 +61,7 @@ Set-Location ..
# ------------------------------------------------------------------------------
# Octomap
Write-Host "Building Octomap"
git clone --depth 1 --branch v1.8.0 https://github.com/OctoMap/octomap
git clone --depth 1 --branch v1.9.8 https://github.com/OctoMap/octomap
Set-Location octomap

cmake -B build `
Expand All @@ -80,7 +80,7 @@ Set-Location ..
# ------------------------------------------------------------------------------
# FCL
Write-Host "Building FCL"
git clone --depth 1 --branch v0.6.1 https://github.com/flexible-collision-library/fcl
git clone --depth 1 --branch v0.7.0 https://github.com/ambi-robotics/fcl.git
Set-Location fcl

cmake -B build `
Expand Down
29 changes: 0 additions & 29 deletions build_dependencies/install_windows_ci.ps1

This file was deleted.

4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ requires = ["setuptools", "wheel", "oldest-supported-numpy", "Cython"]
build-backend = "setuptools.build_meta"

[tool.cibuildwheel]
skip = "pp*"
skip = ["pp*", "*musllinux*"]
test-requires = "pytest"
test-command = "pytest {package}/tests"

Expand All @@ -15,5 +15,5 @@ archs = ["x86_64"]
before-all = "bash build_dependencies/install_macos.sh"

[tool.cibuildwheel.windows]
before-all = "powershell build_dependencies\\install_windows_ci.ps1"
before-all = "powershell build_dependencies\\install_windows.ps1"
archs = ["AMD64"]
2 changes: 1 addition & 1 deletion src/fcl/version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.6.11"
__version__ = "0.7.0"

0 comments on commit 8ffedeb

Please sign in to comment.