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