From da9ec187db9161d894e35da0f9dd73288775f38c Mon Sep 17 00:00:00 2001 From: "Ryan M. Richard" Date: Mon, 10 Aug 2026 13:47:19 -0500 Subject: [PATCH] Add opt-in allow_macos_failure input to test_nwx_cmake_build/test_nwx_pip_build Lets a repo with a known, tracked, macOS-only CI issue (currently: SCF's segfault, see NWChemEx/SCF#64 and scf-macos-pybind11-segfault.md) mark its macos-14 matrix leg continue-on-error so the leg still runs and reports its real result -- visible signal for the investigation -- but doesn't block PR/nightly merge readiness. Default "false" preserves current all-legs-required behavior for every other caller. --- .github/workflows/test_nwx_cmake_build.yaml | 12 ++++++++++++ .github/workflows/test_nwx_pip_build.yaml | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/.github/workflows/test_nwx_cmake_build.yaml b/.github/workflows/test_nwx_cmake_build.yaml index 15b84b7..34d6b8a 100644 --- a/.github/workflows/test_nwx_cmake_build.yaml +++ b/.github/workflows/test_nwx_cmake_build.yaml @@ -45,6 +45,17 @@ on: type: string required: false default: "" + allow_macos_failure: + description: >- + If "true", a failure on the macos-14 matrix leg is reported but + does not fail the job/block the workflow (via continue-on-error). + Other legs are unaffected. For repos with a known, tracked, + macOS-only issue that shouldn't block merges while it's being + investigated -- default "false" keeps the normal all-legs-required + behavior for every other caller. + type: string + required: false + default: "false" jobs: platform_matrix: @@ -57,6 +68,7 @@ jobs: matrix: include: ${{ fromJSON(needs.platform_matrix.outputs.dev_matrix) }} runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.os == 'macos-14' && inputs.allow_macos_failure == 'true' }} steps: - name: Checkout Source uses: actions/checkout@v4 diff --git a/.github/workflows/test_nwx_pip_build.yaml b/.github/workflows/test_nwx_pip_build.yaml index 0307147..e1a2c68 100644 --- a/.github/workflows/test_nwx_pip_build.yaml +++ b/.github/workflows/test_nwx_pip_build.yaml @@ -35,6 +35,17 @@ on: type: string required: false default: "" + allow_macos_failure: + description: >- + If "true", a failure on the macos-14 matrix leg is reported but + does not fail the job/block the workflow (via continue-on-error). + Other legs are unaffected. For repos with a known, tracked, + macOS-only issue that shouldn't block merges while it's being + investigated -- default "false" keeps the normal all-legs-required + behavior for every other caller. + type: string + required: false + default: "false" jobs: platform_matrix: @@ -47,6 +58,7 @@ jobs: matrix: include: ${{ fromJSON(needs.platform_matrix.outputs.dev_matrix) }} runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.os == 'macos-14' && inputs.allow_macos_failure == 'true' }} steps: - name: Checkout Source uses: actions/checkout@v4