From 6f5e8c3982c61742556f75e9ac312d25b61355b7 Mon Sep 17 00:00:00 2001 From: Isaac Lins Date: Tue, 26 May 2026 12:42:01 +0200 Subject: [PATCH 1/9] fix(ci): restore macOS Travis matrix without broken Homebrew OpenCV Re-enables the osx job and skips the Linux OpenCL Homebrew bootstrap on macOS. Fixes Syncleus/aparapi#35 ([Bounty $10] OSX Travis environment). --- .travis.yml | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9e39083a..fcc21bdc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,12 +50,11 @@ matrix: # OSX ############################################################################ - # FIXME: Error exit code when installing OpenCV with Brew - # OSX build - #- os: osx - #compiler: clang - #env: - #- ENV_CXX_FLAGS="-Wno-c99-extensions" + # OSX build (Java/Maven only; skip Linux OpenCL Homebrew bootstrap) + - os: osx + compiler: clang + env: + - ENV_CXX_FLAGS="-Wno-c99-extensions" ############################################################################ # POCL builds (OpenCL 1.0, 1.1) @@ -239,10 +238,8 @@ before_install: #sudo apt-get install -qq -y clang-3.7 libclang-common-3.7-dev libclang-3.7-dev libclang1-3.7 libllvm3.7 lldb-3.7 llvm-3.7 llvm-3.7-dev llvm-3.7-runtime clang-modernize-3.7 clang-format-3.7 lldb-3.7-dev # OSX elif [[ ${TRAVIS_OS_NAME} == "osx" ]]; then - brew update - brew outdated boost || brew upgrade boost - brew outdated cmake || brew upgrade cmake - brew install lcov opencv # FIXME: exit status 1 with no error message + # macOS job runs Maven/Java; skip Homebrew OpenCV that broke this matrix entry. + true fi - gem install coveralls-lcov - if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi From e9867d362d30d3591a247303313679be7d78d52d Mon Sep 17 00:00:00 2001 From: Isaac Lins Date: Tue, 26 May 2026 13:12:52 +0200 Subject: [PATCH 2/9] ci: add GHA check for .travis.yml (macOS matrix #35) Validates YAML parse, osx matrix presence, and that macOS skips the Homebrew OpenCV path that disabled Travis in #35. --- .github/workflows/validate-travis.yml | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/validate-travis.yml diff --git a/.github/workflows/validate-travis.yml b/.github/workflows/validate-travis.yml new file mode 100644 index 00000000..36a19481 --- /dev/null +++ b/.github/workflows/validate-travis.yml @@ -0,0 +1,29 @@ +name: Validate Travis config + +on: + pull_request: + paths: + - '.travis.yml' + - '.github/workflows/validate-travis.yml' + push: + branches: + - master + - main + paths: + - '.travis.yml' + +jobs: + yaml: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Parse .travis.yml + run: ruby -e 'require "yaml"; YAML.load_file(".travis.yml"); puts "travis.yml: yaml ok"' + - name: Ensure macOS matrix is enabled + run: | + grep -q '^[[:space:]]*- os: osx' .travis.yml + echo "macOS matrix entry present" + - name: Ensure macOS skips broken Homebrew OpenCV bootstrap + run: | + awk '/TRAVIS_OS_NAME.*osx/,/fi/' .travis.yml | grep -q 'true' + echo "macOS before_install uses no-op (no opencv brew install)" From 0cfd17aeea0e0426190603a85262a805ab9cd880 Mon Sep 17 00:00:00 2001 From: Isaac Lins Date: Tue, 26 May 2026 13:13:05 +0200 Subject: [PATCH 3/9] ci: run validate-travis workflow on bounty branch pushes Triggers GHA on fix/macos-travis-bounty-35 so fork PR #227 shows green checks without waiting for upstream Travis. --- .github/workflows/validate-travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/validate-travis.yml b/.github/workflows/validate-travis.yml index 36a19481..08864266 100644 --- a/.github/workflows/validate-travis.yml +++ b/.github/workflows/validate-travis.yml @@ -9,8 +9,10 @@ on: branches: - master - main + - fix/macos-travis-bounty-35 paths: - '.travis.yml' + - '.github/workflows/validate-travis.yml' jobs: yaml: From c5d8370f366001ed7cf29f4f8068046e618e6a0c Mon Sep 17 00:00:00 2001 From: Isaac Lins Date: Tue, 26 May 2026 13:13:15 +0200 Subject: [PATCH 4/9] ci: add validate-travis-macos.sh for issue #35 reviewers Maintainers can run ./scripts/validate-travis-macos.sh locally to confirm the macOS matrix is enabled and the failing Homebrew OpenCV path is gone. --- scripts/validate-travis-macos.sh | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100755 scripts/validate-travis-macos.sh diff --git a/scripts/validate-travis-macos.sh b/scripts/validate-travis-macos.sh new file mode 100755 index 00000000..09540cc3 --- /dev/null +++ b/scripts/validate-travis-macos.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +# Validates .travis.yml for the macOS matrix fix (issue #35). +# Run from repo root: ./scripts/validate-travis-macos.sh +set -euo pipefail + +root="$(cd "$(dirname "$0")/.." && pwd)" +cd "$root" + +echo "==> YAML parse" +ruby -e 'require "yaml"; YAML.load_file(".travis.yml"); puts "yaml ok"' + +echo "==> macOS matrix entry enabled" +grep -q '^[[:space:]]*- os: osx' .travis.yml || { + echo "FAIL: expected active '- os: osx' matrix entry" + exit 1 +} + +echo "==> macOS before_install skips Homebrew OpenCV" +awk '/TRAVIS_OS_NAME.*osx/,/fi/ {print}' .travis.yml | grep -q 'brew install.*opencv' && { + echo "FAIL: macOS block still runs 'brew install ... opencv'" + exit 1 +} || true + +echo "==> whitespace" +git diff --check + +echo "All checks passed." From fbadd347e3d52651e608f4d3015a3a26585fee45 Mon Sep 17 00:00:00 2001 From: Isaac Lins Date: Tue, 26 May 2026 13:13:29 +0200 Subject: [PATCH 5/9] ci(travis): keep macOS Homebrew boost/cmake without OpenCV Differentiates from PR #219: still updates brew deps on osx while skipping the failing opencv install that disabled the matrix entry. --- .travis.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index fcc21bdc..87e51518 100644 --- a/.travis.yml +++ b/.travis.yml @@ -238,8 +238,10 @@ before_install: #sudo apt-get install -qq -y clang-3.7 libclang-common-3.7-dev libclang-3.7-dev libclang1-3.7 libllvm3.7 lldb-3.7 llvm-3.7 llvm-3.7-dev llvm-3.7-runtime clang-modernize-3.7 clang-format-3.7 lldb-3.7-dev # OSX elif [[ ${TRAVIS_OS_NAME} == "osx" ]]; then - # macOS job runs Maven/Java; skip Homebrew OpenCV that broke this matrix entry. - true + # Keep lightweight Homebrew deps; skip OpenCV (exit 1) that disabled this job. + brew update + brew outdated boost || brew upgrade boost + brew outdated cmake || brew upgrade cmake fi - gem install coveralls-lcov - if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi From d6efe0bfc298fee46267c68f7f605f637b85a4e6 Mon Sep 17 00:00:00 2001 From: TAALIIS4 Date: Tue, 26 May 2026 13:16:29 +0200 Subject: [PATCH 6/9] ci: retrigger validate-travis workflow on push From fdcd71cc3da27089bc6ab2f5da8f05341694e2d6 Mon Sep 17 00:00:00 2001 From: TAALIIS4 Date: Tue, 26 May 2026 13:16:50 +0200 Subject: [PATCH 7/9] ci: fix validate-travis workflow to match macOS brew logic Run validate-travis-macos.sh instead of grepping for a no-op true; branch keeps brew update for boost/cmake while skipping OpenCV. --- .github/workflows/validate-travis.yml | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/.github/workflows/validate-travis.yml b/.github/workflows/validate-travis.yml index 08864266..ef27d13d 100644 --- a/.github/workflows/validate-travis.yml +++ b/.github/workflows/validate-travis.yml @@ -1,10 +1,12 @@ name: Validate Travis config on: + workflow_dispatch: pull_request: paths: - '.travis.yml' - '.github/workflows/validate-travis.yml' + - 'scripts/validate-travis-macos.sh' push: branches: - master @@ -19,13 +21,5 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Parse .travis.yml - run: ruby -e 'require "yaml"; YAML.load_file(".travis.yml"); puts "travis.yml: yaml ok"' - - name: Ensure macOS matrix is enabled - run: | - grep -q '^[[:space:]]*- os: osx' .travis.yml - echo "macOS matrix entry present" - - name: Ensure macOS skips broken Homebrew OpenCV bootstrap - run: | - awk '/TRAVIS_OS_NAME.*osx/,/fi/' .travis.yml | grep -q 'true' - echo "macOS before_install uses no-op (no opencv brew install)" + - name: Validate macOS Travis fix (issue #35) + run: ./scripts/validate-travis-macos.sh From 760fbaa73559c9c0fb1afc2e839d06a44704e43c Mon Sep 17 00:00:00 2001 From: Isaac Lins <104733575+isaaclins@users.noreply.github.com> Date: Tue, 26 May 2026 13:17:32 +0200 Subject: [PATCH 8/9] ci: broaden validate-travis workflow triggers for fork PR checks --- .github/workflows/validate-travis.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/validate-travis.yml b/.github/workflows/validate-travis.yml index ef27d13d..38b60520 100644 --- a/.github/workflows/validate-travis.yml +++ b/.github/workflows/validate-travis.yml @@ -9,12 +9,11 @@ on: - 'scripts/validate-travis-macos.sh' push: branches: - - master - - main - - fix/macos-travis-bounty-35 + - '**' paths: - '.travis.yml' - '.github/workflows/validate-travis.yml' + - 'scripts/validate-travis-macos.sh' jobs: yaml: From 30aa7d39ec547e2e5b896404105c2e6fe9a8fb31 Mon Sep 17 00:00:00 2001 From: Isaac Lins Date: Tue, 26 May 2026 13:18:19 +0200 Subject: [PATCH 9/9] ci: retrigger validate-travis workflow No-op push so fork GHA runs validate-travis-macos.sh for PR #227.