Skip to content

Add ADP parsing and basic transformations #220

Add ADP parsing and basic transformations

Add ADP parsing and basic transformations #220

Workflow file for this run

name: Build & Test
on:
push:
branches: ["main"]
tags: "v*"
pull_request:
branches: ["main"]
tags: "v*"
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
CPM_SOURCE_CACHE: ${{github.workspace}}/cache/cpm
OCC_DATA_PATH: ${{github.workspace}}/share
jobs:
build:
strategy:
matrix:
include:
- os: macos-latest
architecture: "arm64"
script: macos_generic_build.sh
name: "macos-arm64"
- os: macos-latest
architecture: "x86_64"
script: macos_generic_build.sh
name: "macos-x86_64"
- os: macos-latest
architecture: "x86_64;arm64"
script: macos_generic_build.sh
name: "macos-universal"
- os: ubuntu-latest
architecture: x86_64
script: linux_generic_build.sh
name: "linux-x86_64"
- os: ubuntu-latest
architecture: x86_64
script: linux_static_build.sh
name: "linux-x86_64-static"
- os: ubuntu-latest
architecture: x86_64
script: dockcross-windows.sh
name: "windows-x86_64"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install Dependencies Linux
if: startsWith(runner.os, 'Linux')
run: |
sudo apt update
sudo apt install -y python3-numpy libpthread-stubs0-dev \
doxygen graphviz ninja-build
- name: Install Dependencies Mac
if: startsWith(runner.os, 'macOS')
run: |
brew install ninja doxygen graphviz
- name: Cache CPM Dependencies
uses: actions/cache@v4
with:
path: |
${{env.CPM_SOURCE_CACHE}}
${{github.workspace}}/build
key: ${{ matrix.name }}-occ-build-cache
- name: Run build script
run: |
rm -f build/*.xz
./scripts/${{matrix.script}} "${{matrix.architecture}}" "${{matrix.name}}"
- name: Test
if: matrix.name == 'linux-x86_64'
working-directory: ${{github.workspace}}/build
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest -C ${{env.BUILD_TYPE}} --rerun-failed --output-on-failure
- name: Build Documentation
if: matrix.name == 'linux-x86_64'
run: cmake --build ${{github.workspace}}/build --target docs
- name: Deploy Documentation
if: matrix.name == 'linux-x86_64'
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ${{github.workspace}}/build/docs/html
- name: Upload binaries
uses: actions/upload-artifact@v4
with:
name: occ-binaries-${{ matrix.name }}
path: ${{github.workspace}}/build/*.xz
overwrite: true
create-release:
runs-on: ubuntu-latest
needs: build
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
path: binaries
pattern: occ-binaries-*
merge-multiple: true
- name: Release
uses: softprops/action-gh-release@v1
with:
files: |
binaries/*