Author: rinrab
Date: Fri Jun 20 14:59:55 2025
New Revision: 1926599

URL: http://svn.apache.org/viewvc?rev=1926599&view=rev
Log:
GitHub actions: Consume all MacOS dependencies (except zlib) from homebrew,
instead of relying on pre-installed libs.

* .github/workflows/cmake.yml
  (Prepare MacOS Environment): Merged into 'install dependencies' step.
  (Install MacOS dependencies): List all packages in `brew install` command
   and explicitly add all .pc file directories into PKG_CONFIG_PATH
   environment variable.

In my testing, the whole action completed successfully on Mac OS, except
of one test:

```
24: svn_tests: E200006: Expected error SVN_ERR_SQLITE_BUSY but got 
SVN_ERR_SQLITE_ERROR
24: svn_tests: E200030: sqlite[S10]: disk I/O error
24: svn_tests: E200042: Additional errors:
24: svn_tests: E200030: sqlite[S10]: disk I/O error
24: svn_tests: E200044: SQLite transaction rollback failed
24: svn_tests: E200030: sqlite[S1]: cannot rollback - no transaction is active
24: svn_tests: E200030: sqlite[S1]: cannot rollback - no transaction is active
24: FAIL:  fs-test 65: test commit with locked rep-cache
```

It seems like the problem is not in the build process, but sqlite works not
as we expect on this platform.

Modified:
    subversion/trunk/.github/workflows/cmake.yml

Modified: subversion/trunk/.github/workflows/cmake.yml
URL: 
http://svn.apache.org/viewvc/subversion/trunk/.github/workflows/cmake.yml?rev=1926599&r1=1926598&r2=1926599&view=diff
==============================================================================
--- subversion/trunk/.github/workflows/cmake.yml (original)
+++ subversion/trunk/.github/workflows/cmake.yml Fri Jun 20 14:59:55 2025
@@ -111,11 +111,6 @@ jobs:
         run: |
           # nothing yet
 
-      - name: Prepare Environment (Mac OS)
-        if: runner.os == 'macOS'
-        run: |
-          "CMAKE_PREFIX_PATH=/opt/homebrew/opt/subversion/libexec/serf"  >> 
$env:GITHUB_ENV
-
       - name: Export GitHub Actions cache environment variables
         if: runner.os == 'Windows'
         uses: actions/github-script@v7
@@ -150,10 +145,16 @@ jobs:
 
       - name: Install dependencies (Mac OS, homebrew)
         if: runner.os == 'macOS'
-        # hack to get serf installed, since there is no separate package.
-        run: >
-          brew install subversion
-          ${{ matrix.extra_packages }}
+        # Subversion is being installed here only to get the Serf library,
+        # since there is no separate package.
+        run: |
+          brew install apr apr-util expat sqlite ninja subversion
+          ls -r /opt/homebrew/opt/subversion/libexec/serf
+          $PKG_CONFIG_PATH = "/opt/homebrew/opt/apr/lib/pkgconfig"
+          $PKG_CONFIG_PATH += ":/opt/homebrew/opt/apr-util/lib/pkgconfig"
+          $PKG_CONFIG_PATH += ":/opt/homebrew/opt/expat/lib/pkgconfig"
+          $PKG_CONFIG_PATH += 
":/opt/homebrew/opt/subversion/libexec/serf/lib/pkgconfig"
+          "PKG_CONFIG_PATH=$PKG_CONFIG_PATH"  >> $env:GITHUB_ENV
 
       - name: Use LF for Git checkout
         run: |


Reply via email to