From 1dfa014e05a0bc63fc465089f4e0253dc3b1664f Mon Sep 17 00:00:00 2001 From: Erick Ahmed Date: Thu, 13 Nov 2025 00:23:15 +0100 Subject: [PATCH] ci: unify OCCT and FFI in single workflow --- .github/workflows/ffi-unit-test.yml | 61 ---------------------- .github/workflows/occt-ffi-unit-test.yml | 65 ++++++++++++++++++++++++ .github/workflows/occt-unit-test.yml | 52 ------------------- 3 files changed, 65 insertions(+), 113 deletions(-) delete mode 100644 .github/workflows/ffi-unit-test.yml create mode 100644 .github/workflows/occt-ffi-unit-test.yml delete mode 100644 .github/workflows/occt-unit-test.yml diff --git a/.github/workflows/ffi-unit-test.yml b/.github/workflows/ffi-unit-test.yml deleted file mode 100644 index 5f47ef3..0000000 --- a/.github/workflows/ffi-unit-test.yml +++ /dev/null @@ -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 diff --git a/.github/workflows/occt-ffi-unit-test.yml b/.github/workflows/occt-ffi-unit-test.yml new file mode 100644 index 0000000..acb916c --- /dev/null +++ b/.github/workflows/occt-ffi-unit-test.yml @@ -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 diff --git a/.github/workflows/occt-unit-test.yml b/.github/workflows/occt-unit-test.yml deleted file mode 100644 index 9a2a31d..0000000 --- a/.github/workflows/occt-unit-test.yml +++ /dev/null @@ -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