Skip to content

use ocp-build-system branch of ocp-addons #191

use ocp-build-system branch of ocp-addons

use ocp-build-system branch of ocp-addons #191

Workflow file for this run

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 }}