summaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/ci.yml49
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 }}