patch 9.1.0107: CI: Fix MacOS-14 tests
Problem: CI: Fix MacOS-14 tests (after 9.1.0070)
Solution: Re-enable sound tests by granting Mic access,
disable Test_diff_screen because of buggy MacOS diff
(non GNU version), re-enable Test_term_gettitle()
(Yee Cheng Chin)
macos-14 runner was turned on in #13943, but it had to turn off a few
tests in order for CI to run. Re-enable them and fix the underlying
issues.
* `Test_diff_screen`: The test failure is due to a bug in Apple's diff
utility. Apple introduced a new diff tool based on FreeBSD in macOS 13
and it has buggy behaviors when using unified diff (`-U0`) and the
diff is on the first line of the file. Simply disable this test for
now if we detect Apple diff (instead of the old GNU diff). Can
re-enable this in the future if Apple fixes the issue.
* `Test_play_event` / `Test_play_silent`: GitHub Actions currently has
an issue with playing sound in CI in macos-14 runners. It for some
reason triggers a microphone permission dialog popup which blocks the
CI action (see https://github.com/actions/runner-images/issues/9330).
To fix this, add a temporary step in macos-14 to manually allow
microphone permissions in the runner.
* `Test_term_gettitle`: I could not reproduce the failure, so I just
turned it on and it seems to run just fine. Maybe it's a timing issue
and whatnot but either way that should be fixed when we can reproduce
the issue.
closes: #14032
Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 2746605..677630b 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -319,17 +319,17 @@
- name: Checkout repository from github
uses: actions/checkout@v4
- - name: Install packages on Intel Mac
- if: matrix.features == 'huge' && matrix.runner == 'macos-latest'
- run: |
- brew install lua
- echo "LUA_PREFIX=/usr/local" >> $GITHUB_ENV
-
- - name: Install packages on M1 Mac
- if: matrix.features == 'huge' && matrix.runner == 'macos-14'
+ - name: Install packages
+ if: matrix.features == 'huge'
run: |
brew install lua libtool
- echo "LUA_PREFIX=/opt/homebrew" >> $GITHUB_ENV
+ echo "LUA_PREFIX=$(brew --prefix)" >> $GITHUB_ENV
+
+ - name: Grant microphone access for macos-14
+ if: matrix.runner == 'macos-14'
+ run: |
+ # Temporary fix to fix microphone permission issues for macos-14 when playing sound.
+ sqlite3 $HOME/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT OR IGNORE INTO access VALUES ('kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159,NULL,NULL,'UNUSED',1687786159);"
- name: Set up environment
run: |