diff options
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/ci.yml | 49 |
1 files changed, 38 insertions, 11 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b51cade..0120c8f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: env: CC: ${{ matrix.compiler }} GCC_VER: 13 - CLANG_VER: 17 + CLANG_VER: 18 TEST: test SRCDIR: ./src LEAK_CFLAGS: -DEXITFREE @@ -90,6 +90,10 @@ jobs: - run: sudo dpkg --add-architecture i386 if: matrix.architecture == 'i386' + - name: Uninstall snap + run: | + sudo bash ci/remove_snap.sh + - name: Install packages run: | PKGS=( \ @@ -265,7 +269,13 @@ jobs: if: contains(matrix.extra, 'vimtags') run: | # This will exit with an error code if the generated vim tags differs from source. - git diff --exit-code -- runtime/doc/tags + ( + cd runtime/doc + git diff --exit-code -- tags + make html; rm *.html tags.ref; + test -f errors.log && exit 3; + true + ) - name: Generate gcov files if: matrix.coverage @@ -276,9 +286,10 @@ jobs: - name: Codecov timeout-minutes: 20 if: matrix.coverage - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: flags: linux,${{ matrix.features }}-${{ matrix.compiler }}-${{ matrix.extra }} + token: ${{ secrets.CODECOV_TOKEN }} - name: ASan logs if: contains(matrix.extra, 'asan') && !cancelled() @@ -289,7 +300,7 @@ jobs: done macos: - runs-on: macos-latest + runs-on: ${{ matrix.runner }} env: CC: clang @@ -302,6 +313,7 @@ jobs: fail-fast: false matrix: features: [tiny, normal, huge] + runner: [macos-latest, macos-14] steps: - name: Checkout repository from github @@ -310,8 +322,14 @@ jobs: - name: Install packages if: matrix.features == 'huge' run: | - brew install lua - echo "LUA_PREFIX=/usr/local" >> $GITHUB_ENV + brew install lua libtool + 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: | @@ -355,6 +373,11 @@ jobs: "${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit "${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit + - name: Install packages for testing + run: | + # Apple diff is broken. Use GNU diff instead. See #14032. + brew install diffutils + - name: Test timeout-minutes: 20 run: | @@ -385,11 +408,11 @@ jobs: # winpty WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip # libsodium - SODIUM_VER: '1.0.18' + SODIUM_VER: '1.0.19' SODIUM_MSVC_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-msvc.zip SODIUM_MSVC_VER: v143 SODIUM_MINGW_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-mingw.tar.gz - SODIUM_MINGW_VER: 23 + SODIUM_MINGW_VER: 26 # Escape sequences COL_RED: "\x1b[31m" COL_GREEN: "\x1b[32m" @@ -451,7 +474,10 @@ jobs: echo "SODIUM_LIB=${SODIUM_DIR}\\${{ matrix.arch == 'x64' && 'x64' || 'Win32' }}\\Release\\${SODIUM_MSVC_VER}\\dynamic" >> $GITHUB_ENV else SODIUM_DIR=D:\\libsodium-win${{ matrix.arch == 'x64' && '64' || '32' }} + # do not want \L to end up in pathdef.c and compiler complaining about unknown escape sequences \l + SODIUM_DIR_SLASH=D:/libsodium-win${{ matrix.arch == 'x64' && '64' || '32' }} echo "SODIUM_LIB=${SODIUM_DIR}\\bin" >> $GITHUB_ENV + echo "SODIUM_DIR_SLASH=${SODIUM_DIR_SLASH}" >> $GITHUB_ENV fi echo "SODIUM_DIR=${SODIUM_DIR}" >> $GITHUB_ENV @@ -477,7 +503,7 @@ jobs: echo %SODIUM_VER%>> urls.txt - name: Cache downloaded files - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: downloads key: ${{ runner.os }}-${{ matrix.arch }}-${{ hashFiles('urls.txt') }} @@ -575,7 +601,7 @@ jobs: DYNAMIC_PYTHON=yes PYTHON=${PYTHON_DIR} \ DYNAMIC_PYTHON3=yes PYTHON3=${PYTHON3_DIR} \ DYNAMIC_PYTHON3_STABLE_ABI=${PYTHON3_STABLE} \ - DYNAMIC_SODIUM=yes SODIUM=${SODIUM_DIR} \ + DYNAMIC_SODIUM=yes SODIUM=${SODIUM_DIR_SLASH} \ STATIC_STDCPLUS=yes COVERAGE=${{ matrix.coverage }} else mingw32-make -f Make_ming.mak -j2 \ @@ -660,7 +686,8 @@ jobs: - name: Codecov timeout-minutes: 20 if: matrix.coverage - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: directory: src flags: windows,${{ matrix.toolchain }}-${{ matrix.arch }}-${{ matrix.features }} + token: ${{ secrets.CODECOV_TOKEN }} |