use ocp-build-system branch of ocp-addons #191
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build OCP with pypi VTK V2 | |
# on: workflow_dispatch | |
on: | |
push: | |
branches: | |
- v7.9 | |
env: | |
OCP: 7.9.1.0 | |
WHEEL: 7.9.1.0 | |
VTK: 9.5.1 | |
VTK_MAJOR: 9.5 | |
OCCT: 7.9.1 | |
PYBIND11: 2.13 | |
PYWRAP: true | |
# VTK313_URL: https://github.com/CadQuery/ocp-build-system/releases/download/v7.8.1.0-dev | |
jobs: | |
# ================================================================================ | |
# Build SDKs for OCCT and VTK | |
# ================================================================================ | |
sdks-ubuntu: | |
name: Build OCCT SDK for ${{ matrix.python-version }} on ${{ matrix.os }} (${{ matrix.use-vtk }}) | |
runs-on: ubuntu-latest | |
container: | |
image: ubuntu:20.04 | |
options: --name ci-ubuntu-20 # needed for manylinux_3_31 | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["ubuntu-22.04"] | |
# python-version: ["3.10", "3.11", "3.12", "3.13"] | |
python-version: ["3.13"] | |
use-vtk: ["vtk", "novtk"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build SDKs | |
id: build-sdks | |
uses: ./.github/actions/build-sdks | |
with: | |
os: ${{ matrix.os }} | |
python-version: ${{ matrix.python-version }} | |
use-vtk: ${{ matrix.use-vtk }} | |
vtk-libs: "libvtk*.so" | |
vtk-suffix: "/vtk-9.5/" | |
vtk-prefix: "" | |
sed-i: "sed -i" | |
shells: "bash" | |
sdks-win-mac: | |
name: Build OCCT SDK for ${{ matrix.python-version }} on ${{ matrix.os }} (${{ matrix.use-vtk }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
# os: ["macos-13", "macos-15", "windows-2022"] | |
os: ["macos-13", "macos-15"] | |
# python-version: ["3.10", "3.11", "3.12", "3.13"] | |
python-version: ["3.13"] | |
use-vtk: ["vtk", "novtk"] | |
include: | |
- os: "macos-15" | |
vtk-libs: ".dylibs/libvtk*.dylib" | |
vtk-suffix: "/" | |
vtk-prefix: "" | |
sed-i: "gsed -i" | |
shells: "bash" | |
- os: "macos-13" | |
vtk-libs: ".dylibs/libvtk*.dylib" | |
vtk-suffix: "/" | |
vtk-prefix: "" | |
sed-i: "gsed -i" | |
shells: "bash" | |
# - os: "windows-2022" | |
# vtk-libs: "vtk*.dll" | |
# vtk-suffix: "/" | |
# vtk-prefix: "Library/" | |
# sed-i: "sed -i" | |
# shells: "bash cmd.exe" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build SDKs | |
id: build-sdks | |
uses: ./.github/actions/build-sdks | |
with: | |
os: ${{ matrix.os }} | |
python-version: ${{ matrix.python-version }} | |
use-vtk: ${{ matrix.use-vtk }} | |
vtk-libs: ${{ matrix.vtk-libs }} | |
vtk-suffix: ${{ matrix.vtk-suffix }} | |
vtk-prefix: ${{ matrix.vtk-prefix }} | |
sed-i: ${{ matrix.sed-i }} | |
shells: ${{ matrix.shells }} | |
# ================================================================================ | |
# Generate OCP sources | |
# This follows exactly the azure pipeline defined in the OCP repo and uses a | |
# micromamba env based approach for all packages. | |
# ================================================================================ | |
sources-ubuntu: | |
name: Build OCP source on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
container: | |
image: ubuntu:20.04 | |
options: --name ci-ubuntu-20 # needed for manylinux_3_31 | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["ubuntu-22.04"] | |
python-version: ["3.13"] | |
include: | |
- os: "ubuntu-22.04" | |
sed-i: "sed -i" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build or download OCP Source | |
id: build-ocp-source | |
uses: ./.github/actions/build-ocp-source | |
with: | |
os: ${{ matrix.os }} | |
python-version: ${{ matrix.python-version }} | |
sed-i: ${{ matrix.sed-i }} | |
sources-win-mac: | |
name: Build OCP source on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
# os: ["macos-15", "windows-2022"] | |
os: ["macos-15"] | |
python-version: ["3.13"] | |
include: | |
- os: "macos-15" | |
sed-i: "gsed -i" | |
# - os: "windows-2022" | |
# sed-i: "sed -i" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build or download OCP Source | |
id: build-ocp-source | |
uses: ./.github/actions/build-ocp-source | |
with: | |
os: ${{ matrix.os }} | |
python-version: ${{ matrix.python-version }} | |
sed-i: ${{ matrix.sed-i }} | |
# ================================================================================ | |
# Build OCP | |
# ================================================================================ | |
ocp-ubuntu: | |
name: Build OCP for ${{ matrix.python-version }} on ${{ matrix.os }} (${{ matrix.use-vtk }}) | |
runs-on: ubuntu-latest | |
container: | |
image: ubuntu:20.04 | |
options: --name ci-ubuntu-20 # needed for manylinux_2_31 | |
needs: [sdks-ubuntu, sources-ubuntu] | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["ubuntu-22.04"] | |
# python-version: ["3.10", "3.11", "3.12", "3.13"] | |
python-version: ["3.13"] | |
use-vtk: ["vtk", "novtk"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build OCP | |
id: build-ocp | |
uses: ./.github/actions/build-ocp | |
with: | |
os: ${{ matrix.os }} | |
python-version: ${{ matrix.python-version }} | |
use-vtk: ${{ matrix.use-vtk }} | |
sed-i: "sed -i" | |
shells: "bash" | |
delocate: auditwheel patchelf | |
plat: manylinux_2_31_x86_64 | |
module: "OCP.*.so" | |
env: "DUMMY=0" | |
ocp-tag: "ubuntu-22.04" | |
ocp-win-mac: | |
name: Build OCP for ${{ matrix.python-version }} on ${{ matrix.os }} (${{ matrix.use-vtk }}) | |
runs-on: ${{ matrix.os }} | |
needs: [sdks-win-mac, sources-win-mac] | |
strategy: | |
fail-fast: false | |
matrix: | |
# os: ["macos-13", "macos-15", "windows-2022"] | |
os: ["macos-13", "macos-15"] | |
# python-version: ["3.10", "3.11", "3.12", "3.13"] | |
python-version: ["3.13"] | |
use-vtk: ["vtk", "novtk"] | |
include: | |
- os: "macos-15" | |
delocate: delocate | |
plat: macosx_11_1_arm64 | |
sed-i: "gsed -i" | |
module: "OCP.*.so" | |
env: "MACOSX_DEPLOYMENT_TARGET=11.1" | |
shells: "bash" | |
ocp-tag: "macos-15" | |
- os: "macos-13" | |
delocate: delocate | |
plat: macosx_11_1_x86_64 | |
sed-i: "gsed -i" | |
module: "OCP.*.so" | |
env: "MACOSX_DEPLOYMENT_TARGET=11.1" | |
shells: "bash" | |
ocp-tag: "macos-15" | |
# - os: "windows-2022" | |
# delocate: delvewheel | |
# plat: win_amd64 | |
# sed-i: "sed -i" | |
# shells: "bash cmd.exe" | |
# module: "OCP.*.pyd" | |
# ocp-tag: "windows-2022" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build OCP | |
id: build-ocp | |
uses: ./.github/actions/build-ocp | |
with: | |
os: ${{ matrix.os }} | |
python-version: ${{ matrix.python-version }} | |
use-vtk: ${{ matrix.use-vtk }} | |
sed-i: ${{ matrix.sed-i }} | |
shells: ${{ matrix.shells }} | |
delocate: ${{ matrix.delocate }} | |
plat: ${{ matrix.plat }} | |
module: ${{ matrix.module }} | |
env: ${{ matrix.env }} | |
ocp-tag: ${{ matrix.ocp-tag }} | |
# ================================================================================ | |
# Tests | |
# ================================================================================ | |
tests: | |
name: Test OCP on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
needs: [ocp-ubuntu, ocp-win-mac] | |
strategy: | |
fail-fast: false | |
matrix: | |
# os: ["macos-13", "macos-15", "ubuntu-22.04", "windows-2022"] | |
os: ["macos-13", "macos-15", "ubuntu-22.04"] | |
# python-version: ["3.10", "3.11", "3.12", "3.13"] | |
python-version: ["3.13"] | |
use-vtk: ["vtk", "novtk"] | |
include: | |
- os: "macos-13" | |
sed-i: "gsed -i" | |
- os: "macos-15" | |
sed-i: "gsed -i" | |
# - os: "windows-2022" | |
# sed-i: "sed -i" | |
- os: "ubuntu-22.04" | |
sed-i: "sed -i" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Test OCP | |
id: test-ocp | |
uses: ./.github/actions/test-ocp | |
with: | |
os: ${{ matrix.os }} | |
python-version: ${{ matrix.python-version }} | |
sed-i: ${{ matrix.sed-i }} | |
use-vtk: ${{ matrix.use-vtk }} |