ci: unify OCCT and FFI in single workflow

This commit is contained in:
2025-11-13 00:23:15 +01:00
parent 33407980b5
commit 1dfa014e05
3 changed files with 65 additions and 113 deletions
-61
View File
@@ -1,61 +0,0 @@
name: FFI CI
on:
workflow_run:
workflows: ["OCCT CI"]
types:
- completed
push:
branches: [master, dev-occt**, dev-ffi**]
paths:
- "src/ffi/**"
- "test/ffi/**"
- "ci/scripts/ffi.sh"
- "ci/ffi.Dockerfile"
- "Cargo.toml"
- "Cargo.lock"
- "build.rs"
pull_request:
branches: [master, dev-occt, dev-ffi]
paths:
- "src/ffi/**"
- "test/ffi/**"
- "ci/scripts/ffi.sh"
- "Cargo.toml"
- "Cargo.lock"
- "build.rs"
jobs:
build-ffi:
name: Build FFI
runs-on: ubuntu-24.04
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name != 'workflow_run' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Download OCCT build artifacts
uses: actions/download-artifact@v4
with:
name: occt-build-artifacts
path: build/
- name: Make script executable
run: chmod +x ./ci/scripts/ffi.sh
- name: Build FFI and run tests
run: ./ci/scripts/ffi.sh --tests
- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: ffi-test-results
path: |
target/debug/
**/test-results/
retention-days: 7
+65
View File
@@ -0,0 +1,65 @@
name: OCCT FFI Unit Tests
on:
push:
branches: [master, dev-occt**, dev-ffi**]
paths:
- "src/occt/**"
- "src/ffi/**"
- "tests/occt/**"
- "tests/*.rs"
- "ci/occt.Dockerfile"
- "ci/scripts/occt.sh"
- "ci/ffi.Dockerfile"
- "ci/scripts/ffi.sh"
- ".github/**"
- "./CMakeLists.txt"
- "Cargo.toml"
- "Cargo.lock"
- "build.rs"
pull_request:
branches: [master, dev-occt, dev-ffi]
paths:
- "src/occt/**"
- "src/ffi/**"
- "tests/occt/**"
- "tests/*.rs"
- "ci/occt.Dockerfile"
- "ci/scripts/occt.sh"
- "ci/ffi.Dockerfile"
- "ci/scripts/ffi.sh"
- ".github/**"
- "./CMakeLists.txt"
- "Cargo.toml"
- "Cargo.lock"
- "build.rs"
jobs:
build-occt:
name: OCCT
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Make scripts executable
run: chmod +x ./ci/scripts/occt.sh
- name: Build OCCT and run tests in Docker
run: ./ci/scripts/occt.sh --unit-testing
build-ffi:
name: FFI
runs-on: ubuntu-24.04
needs: build-occt
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Make scripts executable
run: chmod +x ./ci/scripts/ffi.sh
- name: Build and test FFI in Docker
run: ./ci/scripts/ffi.sh --tests
-52
View File
@@ -1,52 +0,0 @@
name: OCCT CI
on:
push:
branches: [master, dev-occt**]
paths:
- "src/occt/**"
- "src/ffi/**"
- "test/occt/**"
- "test/ffi/**"
- "ci/**"
- ".github/**"
- "./CMakeLists.txt"
pull_request:
branches: [master, dev-occt]
paths:
- "src/occt/**"
- "src/ffi/**"
- "test/occt/**"
- "test/ffi/**"
- "ci/**"
- ".github/**"
- "./CMakeLists.txt"
jobs:
build-wrappers:
name: Build OCCT wrappers
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Make script executable
run: chmod +x ./ci/scripts/occt.sh
- name: Build OCCT and run tests
run: ./ci/scripts/occt.sh --unit-testing
- name: Upload build artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: occt-build-artifacts
path: |
build/
**/*.so
**/*.a
retention-days: 7