6363 - name : Checkout Mudlet source code
6464 uses : actions/checkout@v6
6565 with :
66- submodules : true
66+ submodules : recursive
6767 fetch-depth : 0
6868
6969 - name : Install Qt
9797 HOMEBREW_NO_INSTALL_CLEANUP : " ON"
9898 run : |
9999 # Install all required dependencies
100- brew install libzzip libzip ccache expect assimp hunspell pcre pugixml sqlite yajl boost
100+ brew install libzzip libzip ccache expect assimp hunspell pcre2 pugixml sqlite yajl boost
101101
102102 echo "CCACHE_DIR=${{runner.workspace}}/ccache" >> $GITHUB_ENV
103103
@@ -117,8 +117,8 @@ jobs:
117117 # The action installs to .lua/ and .luarocks/ in the runner home
118118 echo "LUA_DIR=$HOME/.lua" >> $GITHUB_ENV
119119
120- # Help CMake find keg-only Homebrew packages (PCRE is keg-only on macOS)
121- echo "PKG_CONFIG_PATH=${HOMEBREW_PREFIX}/opt/pcre /lib/pkgconfig:$PKG_CONFIG_PATH" >> $GITHUB_ENV
120+ # Help CMake find keg-only Homebrew packages (PCRE2 is keg-only on macOS)
121+ echo "PKG_CONFIG_PATH=${HOMEBREW_PREFIX}/opt/pcre2 /lib/pkgconfig:$PKG_CONFIG_PATH" >> $GITHUB_ENV
122122
123123 # Install lua-yajl early to generate translation statistics
124124 luarocks --lua-version 5.1 install --local lua-yajl YAJL_DIR=${HOMEBREW_PREFIX}/opt/yajl
@@ -154,19 +154,23 @@ jobs:
154154 imagemagick \
155155 libassimp-dev \
156156 libboost-dev \
157+ libcurl4-openssl-dev \
157158 libglu1-mesa-dev \
158159 libhunspell-dev \
159160 liblua5.1-0-dev \
160- libpcre3 -dev \
161+ libpcre2 -dev \
161162 libpulse-dev \
162163 libpugixml-dev \
163164 libsecret-1-dev \
164165 libsqlite3-dev \
165166 libxkbcommon-x11-0 \
166167 libyajl-dev \
167168 libzip-dev \
168- pcregrep \
169+ pcre2-utils \
169170 pkg-config \
171+ libssl-dev \
172+ openssl \
173+ ca-certificates \
170174 -y
171175
172176 # switch to GCC that supports C++20 while retaining support for older OS's
@@ -207,7 +211,7 @@ jobs:
207211 env :
208212 GITHUB_EVENT_INPUTS_SCHEDULED : ${{inputs.scheduled}}
209213 run : |
210- sudo apt-get -y install pcregrep
214+ sudo apt-get -y install pcre2-utils
211215 ${{github.workspace}}/CI/travis.validate_deployment.sh
212216 ${{github.workspace}}/CI/travis.set-build-info.sh
213217
@@ -216,7 +220,7 @@ jobs:
216220 env :
217221 GITHUB_EVENT_INPUTS_SCHEDULED : ${{inputs.scheduled}}
218222 run : |
219- brew install pcre
223+ brew install pcre2
220224 ${{github.workspace}}/CI/travis.validate_deployment.sh
221225 ${{github.workspace}}/CI/travis.set-build-info.sh
222226 # ccache can't reliably detect that the compiler is clang on macOS, so just say so explicitly.
@@ -237,8 +241,12 @@ jobs:
237241 -DCMAKE_PREFIX_PATH=${{ env.QT_PREFIX != '' && env.QT_PREFIX || env.MINGW_BASE_DIR }}
238242 ${{ runner.os == 'macOS' && format('-DLUA_INCLUDE_DIR={0}/.lua/include -DLUA_LIBRARY={0}/.lua/lib/liblua.a', github.workspace) || '' }}
239243 -DUSE_SANITIZER=""
244+ -DWITH_SENTRY=ON
245+ -DSENTRY_SEND_DEBUG=${{ (startsWith(github.ref, 'refs/tags/') || github.event_name == 'schedule' || github.event.inputs.scheduled == 'true') && '1' || '0' }}
246+ -DSENTRY_DSN=${{ secrets.SENTRY_DSN }}
240247 env :
241248 NINJA_STATUS : ' [%f/%t %o/sec] '
249+ SENTRY_AUTH_TOKEN : ${{ secrets.SENTRY_AUTH_TOKEN }}
242250
243251 - name : Save ccache
244252 if : always() && steps.restore-ccache.outputs.cache-hit != 'true'
@@ -255,6 +263,11 @@ jobs:
255263 working-directory : ' ${{runner.workspace}}/b/ninja'
256264 run : ctest --output-on-failure
257265
266+ - name : Run QTest
267+ run : ctest --test-dir ${{runner.workspace}}/b/ninja -L functional --output-on-failure
268+ env :
269+ QT_FORCE_STDERR_LOGGING : 1
270+
258271 - name : install dependencies for packaging/tests
259272 if : matrix.deploy == 'deploy' || matrix.run_tests == 'true'
260273 run : |
@@ -266,11 +279,11 @@ jobs:
266279 if [ "$RUNNER_OS" = "macOS" ]; then
267280 $LUAROCKS lua-zip ZIP_DIR=${HOMEBREW_PREFIX}/opt/libzip
268281 $LUAROCKS LuaSQL-SQLite3 2.6.1 SQLITE_DIR=${HOMEBREW_PREFIX}/opt/sqlite
269- $LUAROCKS lrexlib-pcre PCRE_DIR =${HOMEBREW_PREFIX}/opt/pcre
282+ $LUAROCKS lrexlib-pcre2 PCRE2_DIR =${HOMEBREW_PREFIX}/opt/pcre2
270283 else
271284 $LUAROCKS lua-zip
272285 $LUAROCKS LuaSQL-SQLite3 2.6.1
273- $LUAROCKS lrexlib-pcre
286+ $LUAROCKS lrexlib-pcre2
274287 fi
275288
276289 # CI changelog generation dependencies
@@ -323,6 +336,7 @@ jobs:
323336 APPLE_USERNAME : ${{secrets.APPLE_USERNAME}}
324337 APPLE_PASSWORD : ${{secrets.APPLE_PASSWORD}}
325338 APPLE_TEAM_ID : ${{secrets.APPLE_TEAM_ID}}
339+ WITH_SENTRY : " ON"
326340
327341 - name : Upload packaged Mudlet
328342 uses : actions/upload-artifact@v5
0 commit comments