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: |