From 28cb80b328ca961fc6b4121f4d767810ffb20774 Mon Sep 17 00:00:00 2001 From: Matthew Ballance Date: Tue, 9 Jun 2026 21:48:28 +0000 Subject: [PATCH] temp test for vpi on macos Signed-off-by: Matthew Ballance --- .github/workflows/tmp-osx-vpi-test.yml | 66 ++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .github/workflows/tmp-osx-vpi-test.yml diff --git a/.github/workflows/tmp-osx-vpi-test.yml b/.github/workflows/tmp-osx-vpi-test.yml new file mode 100644 index 000000000..31e8e0228 --- /dev/null +++ b/.github/workflows/tmp-osx-vpi-test.yml @@ -0,0 +1,66 @@ +--- +# THROWAWAY WORKFLOW — delete before merging PR #7727. +# Purpose: prove the runtime VPI dynamic-loading tests (t_flag_main_vpi*) actually +# RUN and PASS on macOS/Darwin (Apple Silicon), which upstream CI only builds, never +# tests. Mirrors the real osx build (ci/ci-install.bash + ci/ci-script.bash) and then +# runs just the VPI tests via the driver. +# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0 + +name: tmp-osx-vpi-test + +on: + workflow_dispatch: + push: + branches: + - vpi-main-fb-2 + +defaults: + run: + shell: bash + +jobs: + osx-vpi-test: + name: macOS VPI dynamic-load test + runs-on: macos-15 + env: + CI_OS_NAME: osx + CI_RUNS_ON: macos-15 + CI_DEV_ASAN: 0 + CI_DEV_GCOV: 0 + CXX: clang++ + INSTALL_DIR: ${{ github.workspace }}/install + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Install build deps (osx) + env: + CI_BUILD_STAGE_NAME: build + run: ./ci/ci-install.bash + + - name: Build Verilator (osx) + env: + CI_BUILD_STAGE_NAME: build + run: ./ci/ci-script.bash + + - name: Create python venv + run: make venv + + - name: Run VPI dynamic-load tests + run: | + source .venv/bin/activate + export VERILATOR_ROOT="$PWD" + uname -a + clang++ --version + cd test_regress + # --vlt selects the scenario these tests declare; pass the VPI tests explicitly + # so we don't run the whole (intentionally-not-run-on-macOS) suite. + ./driver.py --vlt \ + t/t_flag_main_vpi.py \ + t/t_flag_main_vpi_badentry.py \ + t/t_flag_main_vpi_badlib.py \ + t/t_flag_main_vpi_bootstrap.py \ + t/t_flag_main_vpi_multi.py \ + t/t_flag_main_vpi_noarray.py \ + t/t_flag_main_vpi_noexe.py \ + t/t_flag_main_vpi_nowarn.py