mirror of
https://github.com/transmission/transmission.git
synced 2026-04-28 04:34:02 +01:00
fix: several CI errors (#8124)
* Revert "build(cmake): support building with (almost) all system 3rd-party libraries (#7554)"
This reverts commit a89ca4f2c9.
* fixup! refactor: use a map of getters, setters for `session_get` and `session_set` properties (#8024)
fix: capture-by-reference error in session_accessors()
* fix: 'Qt depends on a UTF-8 locale' CI warning
* fix: 'qt.qpa.xcb: could not connect to display' CI error
This commit is contained in:
329
.github/workflows/actions.yml
vendored
329
.github/workflows/actions.yml
vendored
@@ -122,7 +122,7 @@ jobs:
|
||||
exit 1
|
||||
|
||||
sanitizer-tests-ubuntu:
|
||||
runs-on: ubuntu-24.04
|
||||
runs-on: ubuntu-22.04
|
||||
needs: [ what-to-make ]
|
||||
if: ${{ needs.what-to-make.outputs.make-tests == 'true' }}
|
||||
steps:
|
||||
@@ -140,19 +140,15 @@ jobs:
|
||||
clang \
|
||||
cmake \
|
||||
gettext \
|
||||
libb64-dev \
|
||||
libcurl4-openssl-dev \
|
||||
libdeflate-dev \
|
||||
libevent-dev \
|
||||
libfast-float-dev \
|
||||
libfmt-dev \
|
||||
libminiupnpc-dev \
|
||||
libnatpmp-dev \
|
||||
libpsl-dev \
|
||||
libssl-dev \
|
||||
libutfcpp-dev \
|
||||
ninja-build \
|
||||
rapidjson-dev
|
||||
ninja-build
|
||||
- name: Get Source
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
@@ -178,13 +174,7 @@ jobs:
|
||||
-DENABLE_TESTS=ON \
|
||||
-DENABLE_UTILS=ON \
|
||||
-DREBUILD_WEB=OFF \
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_CRC32C=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_SMALL=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_WIDE_INTEGER=OFF `# Not packaged in Ubuntu`
|
||||
-DRUN_CLANG_TIDY=OFF
|
||||
- name: Make
|
||||
run: cmake --build obj --config Debug --target libtransmission-test transmission-show
|
||||
- name: Test with sanitizers
|
||||
@@ -201,24 +191,7 @@ jobs:
|
||||
echo '${{ toJSON(runner) }}'
|
||||
sw_vers
|
||||
- name: Get Dependencies
|
||||
run: |
|
||||
brew install --formulae \
|
||||
cmake \
|
||||
crc32c \
|
||||
fast_float \
|
||||
fmt \
|
||||
gettext \
|
||||
libb64 \
|
||||
libdeflate \
|
||||
libevent \
|
||||
libnatpmp \
|
||||
libpsl \
|
||||
miniupnpc \
|
||||
ninja \
|
||||
node \
|
||||
pkgconf \
|
||||
rapidjson \
|
||||
utf8cpp
|
||||
run: brew install --formulae cmake gettext libdeflate libevent libpsl miniupnpc ninja node pkgconf
|
||||
- name: Get Source
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
@@ -242,12 +215,7 @@ jobs:
|
||||
-DENABLE_TESTS=ON \
|
||||
-DENABLE_UTILS=ON \
|
||||
-DREBUILD_WEB=OFF \
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Homebrew` \
|
||||
-DUSE_SYSTEM_SMALL=OFF `# Not packaged in Homebrew` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Homebrew` \
|
||||
-DUSE_SYSTEM_WIDE_INTEGER=OFF `# Not packaged in Homebrew`
|
||||
-DRUN_CLANG_TIDY=OFF
|
||||
- name: Make
|
||||
run: cmake --build obj --config Debug --target libtransmission-test transmission-show
|
||||
- name: Test with sanitizers
|
||||
@@ -275,19 +243,15 @@ jobs:
|
||||
clang-tidy-20 \
|
||||
cmake \
|
||||
gettext \
|
||||
libb64-dev \
|
||||
libcurl4-openssl-dev \
|
||||
libdeflate-dev \
|
||||
libevent-dev \
|
||||
libfast-float-dev \
|
||||
libfmt-dev \
|
||||
libminiupnpc-dev \
|
||||
libnatpmp-dev \
|
||||
libpsl-dev \
|
||||
libssl-dev \
|
||||
libutfcpp-dev \
|
||||
ninja-build \
|
||||
rapidjson-dev
|
||||
ninja-build
|
||||
- name: Get Source
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
@@ -304,13 +268,7 @@ jobs:
|
||||
-DCMAKE_C_COMPILER='clang' \
|
||||
-DCMAKE_INSTALL_PREFIX=pfx \
|
||||
-DENABLE_TESTS=${{ (needs.what-to-make.outputs.make-tests == 'true') && 'ON' || 'OFF' }} \
|
||||
-DRUN_CLANG_TIDY=ON \
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_CRC32C=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_SMALL=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_WIDE_INTEGER=OFF `# Not packaged in Ubuntu`
|
||||
-DRUN_CLANG_TIDY=ON
|
||||
- name: Make (Core)
|
||||
run: cmake --build obj --config Debug --target transmission 2>&1 | tee makelog
|
||||
- name: Make (Tests)
|
||||
@@ -419,24 +377,7 @@ jobs:
|
||||
echo '${{ toJSON(runner) }}'
|
||||
sw_vers
|
||||
- name: Get Dependencies
|
||||
run: |
|
||||
brew install --formulae \
|
||||
cmake \
|
||||
crc32c \
|
||||
fast_float \
|
||||
fmt \
|
||||
gettext \
|
||||
libb64 \
|
||||
libdeflate \
|
||||
libevent \
|
||||
libnatpmp \
|
||||
libpsl \
|
||||
miniupnpc \
|
||||
ninja \
|
||||
node \
|
||||
pkgconf \
|
||||
rapidjson \
|
||||
utf8cpp
|
||||
run: brew install --formulae cmake gettext libdeflate libevent libpsl miniupnpc ninja node pkgconf crc32c
|
||||
- name: Get Dependencies (GTK)
|
||||
if: ${{ needs.what-to-make.outputs.make-gtk == 'true' }}
|
||||
run: brew install --formula gtkmm3
|
||||
@@ -457,8 +398,6 @@ jobs:
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DCMAKE_INSTALL_PREFIX=pfx \
|
||||
-DCMAKE_PREFIX_PATH=`brew --prefix`/opt/qt \
|
||||
-DCMAKE_CXX_FLAGS='--system-header-prefix=fmt/' `# Needed to supress system header warnings in macos-15-intel` \
|
||||
-DCMAKE_C_FLAGS='--system-header-prefix=fmt/' `# Needed to supress system header warnings in macos-15-intel` \
|
||||
-DENABLE_CLI=${{ (needs.what-to-make.outputs.make-cli == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_DAEMON=${{ (needs.what-to-make.outputs.make-daemon == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_GTK=${{ (needs.what-to-make.outputs.make-gtk == 'true') && 'ON' || 'OFF' }} \
|
||||
@@ -469,20 +408,17 @@ jobs:
|
||||
-DREBUILD_WEB=${{ (needs.what-to-make.outputs.make-web == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_WERROR=ON \
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Homebrew` \
|
||||
-DUSE_SYSTEM_SMALL=OFF `# Not packaged in Homebrew` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Homebrew` \
|
||||
-DUSE_SYSTEM_WIDE_INTEGER=OFF `# Not packaged in Homebrew`
|
||||
-DUSE_SYSTEM_Crc32c=ON
|
||||
- name: Make
|
||||
run: cmake --build obj --config RelWithDebInfo
|
||||
- name: Test
|
||||
if: ${{ needs.what-to-make.outputs.make-tests == 'true' }}
|
||||
env:
|
||||
TMPDIR: /private/tmp
|
||||
QT_QPA_PLATFORM: offscreen
|
||||
run: cmake -E chdir obj ctest -j $(sysctl -n hw.logicalcpu) --build-config RelWithDebInfo --output-on-failure
|
||||
- name: Install
|
||||
run: cmake --install obj --config RelWithDebInfo --strip
|
||||
run: cmake --build obj --config RelWithDebInfo --target install/strip
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: binaries-${{ matrix.os }}-cmake-universal
|
||||
@@ -490,10 +426,12 @@ jobs:
|
||||
|
||||
alpine-musl:
|
||||
needs: [ what-to-make ]
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-22.04
|
||||
container:
|
||||
image: alpine:latest
|
||||
if: ${{ needs.what-to-make.outputs.make-cli == 'true' || needs.what-to-make.outputs.make-daemon == 'true' || needs.what-to-make.outputs.make-gtk == 'true' || needs.what-to-make.outputs.make-qt == 'true' || needs.what-to-make.outputs.make-tests == 'true' || needs.what-to-make.outputs.make-utils == 'true' }}
|
||||
env:
|
||||
QT_QPA_PLATFORM: offscreen
|
||||
steps:
|
||||
- name: Show Configuration
|
||||
run: |
|
||||
@@ -510,22 +448,16 @@ jobs:
|
||||
cmake \
|
||||
crc32c-dev \
|
||||
curl-dev \
|
||||
fast_float \
|
||||
fmt-dev \
|
||||
gettext-dev \
|
||||
git \
|
||||
libdeflate-dev \
|
||||
libdeflate-static \
|
||||
libevent-dev \
|
||||
libnatpmp-dev \
|
||||
libpsl-dev \
|
||||
libpsl \
|
||||
linux-headers \
|
||||
miniupnpc-dev \
|
||||
ninja \
|
||||
npm \
|
||||
pkgconfig \
|
||||
rapidjson-dev \
|
||||
utfcpp \
|
||||
xz
|
||||
- name: Get Dependencies (GTK)
|
||||
if: ${{ needs.what-to-make.outputs.make-gtk == 'true' }}
|
||||
@@ -558,12 +490,7 @@ jobs:
|
||||
-DREBUILD_WEB=${{ (needs.what-to-make.outputs.make-web == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_WERROR=ON \
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_B64=OFF `# Not packaged in Alpine` \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Alpine` \
|
||||
-DUSE_SYSTEM_SMALL=OFF `# Not packaged in Alpine` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Alpine` \
|
||||
-DUSE_SYSTEM_WIDE_INTEGER=OFF `# Not packaged in Alpine`
|
||||
-DUSE_SYSTEM_CRC32C=ON
|
||||
- name: Make
|
||||
run: cmake --build obj --config RelWithDebInfo
|
||||
- name: Test
|
||||
@@ -573,7 +500,7 @@ jobs:
|
||||
QT_QPA_PLATFORM: offscreen
|
||||
run: cmake -E chdir obj ctest -j $(nproc) --build-config RelWithDebInfo --output-on-failure
|
||||
- name: Install
|
||||
run: cmake --install obj --config RelWithDebInfo --strip
|
||||
run: cmake --build obj --config RelWithDebInfo --target install/strip
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: binaries-${{ github.job }}
|
||||
@@ -636,7 +563,7 @@ jobs:
|
||||
if: ${{ needs.what-to-make.outputs.make-tests == 'true' }}
|
||||
run: cmake -E chdir obj ctest -j $(nproc) --build-config RelWithDebInfo --output-on-failure --timeout 600
|
||||
- name: Install
|
||||
run: cmake --install obj --config RelWithDebInfo
|
||||
run: cmake --build obj --config RelWithDebInfo --target install
|
||||
- name: Package
|
||||
if: ${{ needs.what-to-make.outputs.make-dist == 'true' || (needs.what-to-make.outputs.make-daemon == 'true' && needs.what-to-make.outputs.make-qt == 'true') }}
|
||||
run: |
|
||||
@@ -750,16 +677,24 @@ jobs:
|
||||
-DREBUILD_WEB=${{ (needs.what-to-make.outputs.make-web == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_WERROR=ON \
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_DEFAULT=OFF
|
||||
-DUSE_SYSTEM_EVENT2=OFF \
|
||||
-DUSE_SYSTEM_DEFLATE=OFF \
|
||||
-DUSE_SYSTEM_DHT=OFF \
|
||||
-DUSE_SYSTEM_MINIUPNPC=OFF \
|
||||
-DUSE_SYSTEM_NATPMP=OFF \
|
||||
-DUSE_SYSTEM_UTP=OFF \
|
||||
-DUSE_SYSTEM_B64=OFF \
|
||||
-DUSE_SYSTEM_PSL=OFF
|
||||
- name: Make
|
||||
run: cmake --build obj --config RelWithDebInfo
|
||||
- name: Test
|
||||
if: ${{ needs.what-to-make.outputs.make-tests == 'true' }}
|
||||
env:
|
||||
TMPDIR: /private/tmp
|
||||
QT_QPA_PLATFORM: offscreen
|
||||
run: cmake -E chdir obj ctest -j $(sysctl -n hw.logicalcpu) --build-config RelWithDebInfo --output-on-failure
|
||||
- name: Install
|
||||
run: cmake --install obj --config RelWithDebInfo --strip
|
||||
run: cmake --build obj --config RelWithDebInfo --target install/strip
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: binaries-${{ matrix.os }}-from-tarball
|
||||
@@ -768,9 +703,11 @@ jobs:
|
||||
debian-11-from-tarball:
|
||||
needs: [ make-source-tarball, what-to-make ]
|
||||
if: ${{ needs.what-to-make.outputs.make-cli == 'true' || needs.what-to-make.outputs.make-daemon == 'true' || needs.what-to-make.outputs.make-gtk == 'true' || needs.what-to-make.outputs.make-qt == 'true' || needs.what-to-make.outputs.make-tests == 'true' || needs.what-to-make.outputs.make-utils == 'true' }}
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-22.04
|
||||
container:
|
||||
image: debian:11-slim
|
||||
env:
|
||||
QT_QPA_PLATFORM: offscreen
|
||||
steps:
|
||||
- name: Show Configuration
|
||||
run: |
|
||||
@@ -786,19 +723,23 @@ jobs:
|
||||
cmake \
|
||||
g++ \
|
||||
gettext \
|
||||
libb64-dev \
|
||||
libcurl4-openssl-dev \
|
||||
libdeflate-dev \
|
||||
libevent-dev \
|
||||
libgtest-dev \
|
||||
libfmt-dev \
|
||||
libminiupnpc-dev \
|
||||
libnatpmp-dev \
|
||||
libpsl-dev \
|
||||
libssl-dev \
|
||||
locales \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
rapidjson-dev \
|
||||
xz-utils
|
||||
# Set UTF-8 locale for Qt
|
||||
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen
|
||||
locale-gen
|
||||
echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
|
||||
echo "LC_ALL=C.UTF-8" >> "$GITHUB_ENV"
|
||||
- name: Get NPM
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
@@ -808,7 +749,7 @@ jobs:
|
||||
run: apt-get install -y --no-install-recommends libglibmm-2.4-dev libgtkmm-3.0-dev
|
||||
- name: Get Dependencies (Qt5)
|
||||
if: ${{ needs.what-to-make.outputs.make-qt == 'true' }}
|
||||
run: apt-get install -y --no-install-recommends qtbase5-dev libqt5svg5-dev qttools5-dev
|
||||
run: apt-get install -y --no-install-recommends libxcb-cursor0 qtbase5-dev libqt5svg5-dev qttools5-dev
|
||||
- name: Get Source
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
@@ -832,17 +773,7 @@ jobs:
|
||||
-DENABLE_UTILS=${{ (needs.what-to-make.outputs.make-utils == 'true') && 'ON' || 'OFF' }} \
|
||||
-DREBUILD_WEB=${{ (needs.what-to-make.outputs.make-web == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_WERROR=ON \
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_GTEST=ON \
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_CRC32C=OFF `# Not packaged in Debian 11` \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Debian 11` \
|
||||
-DUSE_SYSTEM_FAST_FLOAT=OFF `# Not packaged in Debian 11` \
|
||||
-DUSE_SYSTEM_FMT=OFF `# Debian 11 package too old` \
|
||||
-DUSE_SYSTEM_SMALL=OFF `# Not packaged in Debian 11` \
|
||||
-DUSE_SYSTEM_UTF8CPP=OFF `# Debian 11 package too old` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Debian 11` \
|
||||
-DUSE_SYSTEM_WIDE_INTEGER=OFF `# Not packaged in Debian 11`
|
||||
-DRUN_CLANG_TIDY=OFF
|
||||
- name: Build
|
||||
run: cmake --build obj --config RelWithDebInfo
|
||||
- name: Test
|
||||
@@ -851,116 +782,20 @@ jobs:
|
||||
QT_QPA_PLATFORM: offscreen
|
||||
run: cmake -E chdir obj ctest -j $(nproc) --build-config RelWithDebInfo --output-on-failure
|
||||
- name: Install
|
||||
run: cmake --install obj --config RelWithDebInfo --strip
|
||||
run: cmake --build obj --config RelWithDebInfo --target install/strip
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: binaries-${{ github.job }}
|
||||
path: pfx/**/*
|
||||
|
||||
debian-from-tarball:
|
||||
fedora-39-from-tarball:
|
||||
needs: [ make-source-tarball, what-to-make ]
|
||||
if: ${{ needs.what-to-make.outputs.make-cli == 'true' || needs.what-to-make.outputs.make-daemon == 'true' || needs.what-to-make.outputs.make-gtk == 'true' || needs.what-to-make.outputs.make-qt == 'true' || needs.what-to-make.outputs.make-tests == 'true' || needs.what-to-make.outputs.make-utils == 'true' }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
version: [stable, testing]
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-22.04
|
||||
container:
|
||||
image: debian:${{ matrix.version }}-slim
|
||||
steps:
|
||||
- name: Show Configuration
|
||||
run: |
|
||||
echo '${{ toJSON(needs) }}'
|
||||
echo '${{ toJSON(runner) }}'
|
||||
cat /etc/os-release
|
||||
- name: Get Dependencies
|
||||
run: |
|
||||
set -ex
|
||||
apt update
|
||||
apt install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
cmake \
|
||||
g++ \
|
||||
gettext \
|
||||
libb64-dev \
|
||||
libcurl4-openssl-dev \
|
||||
libdeflate-dev \
|
||||
libevent-dev \
|
||||
libfast-float-dev \
|
||||
libfmt-dev \
|
||||
libgtest-dev \
|
||||
libminiupnpc-dev \
|
||||
libnatpmp-dev \
|
||||
libpsl-dev \
|
||||
libssl-dev \
|
||||
libutfcpp-dev \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
rapidjson-dev \
|
||||
xz-utils
|
||||
- name: Get NPM
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: lts/*
|
||||
- name: Get Dependencies (GTK3)
|
||||
if: ${{ needs.what-to-make.outputs.make-gtk == 'true' }}
|
||||
run: apt install -y --no-install-recommends libglibmm-2.4-dev libgtkmm-3.0-dev
|
||||
- name: Get Dependencies (Qt6)
|
||||
if: ${{ needs.what-to-make.outputs.make-qt == 'true' }}
|
||||
run: apt install -y --no-install-recommends qt6-svg-dev qt6-tools-dev
|
||||
- name: Get Source
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: source-tarball
|
||||
- name: Extract Source
|
||||
run: mkdir src && tar xf transmission*.tar.* -C src --strip-components 1
|
||||
- name: Configure
|
||||
run: |
|
||||
cmake \
|
||||
-S src \
|
||||
-B obj \
|
||||
-G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DCMAKE_INSTALL_PREFIX=pfx \
|
||||
-DENABLE_CLI=${{ (needs.what-to-make.outputs.make-cli == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_DAEMON=${{ (needs.what-to-make.outputs.make-daemon == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_GTK=${{ (needs.what-to-make.outputs.make-gtk == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_MAC=OFF \
|
||||
-DENABLE_QT=${{ (needs.what-to-make.outputs.make-qt == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_TESTS=${{ (needs.what-to-make.outputs.make-tests == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_UTILS=${{ (needs.what-to-make.outputs.make-utils == 'true') && 'ON' || 'OFF' }} \
|
||||
-DREBUILD_WEB=${{ (needs.what-to-make.outputs.make-web == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_WERROR=ON \
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_GTEST=ON \
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_CRC32C=OFF `# Not packaged in Debian` \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Debian` \
|
||||
-DUSE_SYSTEM_SMALL=OFF `# Not packaged in Debian` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Debian` \
|
||||
-DUSE_SYSTEM_WIDE_INTEGER=OFF `# Not packaged in Debian`
|
||||
- name: Build
|
||||
run: cmake --build obj --config RelWithDebInfo
|
||||
- name: Test
|
||||
if: ${{ needs.what-to-make.outputs.make-tests == 'true' }}
|
||||
run: cmake -E chdir obj ctest -j $(nproc) --build-config RelWithDebInfo --output-on-failure
|
||||
- name: Install
|
||||
run: cmake --install obj --config RelWithDebInfo --strip
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: binaries-${{ github.job }}-${{ matrix.version }}
|
||||
path: pfx/**/*
|
||||
|
||||
fedora-from-tarball:
|
||||
needs: [ make-source-tarball, what-to-make ]
|
||||
if: ${{ needs.what-to-make.outputs.make-cli == 'true' || needs.what-to-make.outputs.make-daemon == 'true' || needs.what-to-make.outputs.make-gtk == 'true' || needs.what-to-make.outputs.make-qt == 'true' || needs.what-to-make.outputs.make-tests == 'true' || needs.what-to-make.outputs.make-utils == 'true' }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
version: [41, 42, 43]
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: fedora:${{ matrix.version }}
|
||||
image: fedora:39
|
||||
env:
|
||||
QT_QPA_PLATFORM: offscreen
|
||||
steps:
|
||||
- name: Show Configuration
|
||||
run: |
|
||||
@@ -973,12 +808,10 @@ jobs:
|
||||
dnf install -y \
|
||||
ca-certificates \
|
||||
cmake \
|
||||
fast_float-devel \
|
||||
fmt-devel \
|
||||
gcc-c++ \
|
||||
gettext \
|
||||
google-crc32c-devel \
|
||||
libb64-devel \
|
||||
libcurl-devel \
|
||||
libdeflate-devel \
|
||||
libevent-devel \
|
||||
@@ -988,14 +821,12 @@ jobs:
|
||||
ninja-build \
|
||||
openssl-devel \
|
||||
pkgconf-pkg-config \
|
||||
rapidjson-devel \
|
||||
utf8cpp-devel \
|
||||
xz
|
||||
- name: Get NPM
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: lts/*
|
||||
- name: Get Dependencies (GTK4)
|
||||
- name: Get Dependencies (GTK)
|
||||
if: ${{ needs.what-to-make.outputs.make-gtk == 'true' }}
|
||||
run: dnf install -y glibmm2.68-devel gtkmm4.0-devel
|
||||
- name: Get Dependencies (Qt6)
|
||||
@@ -1026,11 +857,7 @@ jobs:
|
||||
-DENABLE_DEPRECATED=ON \
|
||||
-DENABLE_WERROR=OFF \
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Fedora` \
|
||||
-DUSE_SYSTEM_SMALL=OFF `# Not packaged in Fedora` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Fedora` \
|
||||
-DUSE_SYSTEM_WIDE_INTEGER=OFF `# Not packaged in Fedora`
|
||||
-DUSE_SYSTEM_Crc32c=ON
|
||||
- name: Build
|
||||
run: cmake --build obj --config RelWithDebInfo
|
||||
- name: Test
|
||||
@@ -1039,16 +866,18 @@ jobs:
|
||||
QT_QPA_PLATFORM: offscreen
|
||||
run: cmake -E chdir obj ctest -j $(nproc) --build-config RelWithDebInfo --output-on-failure
|
||||
- name: Install
|
||||
run: cmake --install obj --config RelWithDebInfo --strip
|
||||
run: cmake --build obj --config RelWithDebInfo --target install/strip
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: binaries-${{ github.job }}-${{ matrix.version }}
|
||||
name: binaries-${{ github.job }}
|
||||
path: pfx/**/*
|
||||
|
||||
ubuntu-24-04-from-tarball:
|
||||
ubuntu-22-04-from-tarball:
|
||||
needs: [ make-source-tarball, what-to-make ]
|
||||
if: ${{ needs.what-to-make.outputs.make-cli == 'true' || needs.what-to-make.outputs.make-daemon == 'true' || needs.what-to-make.outputs.make-gtk == 'true' || needs.what-to-make.outputs.make-qt == 'true' || needs.what-to-make.outputs.make-tests == 'true' || needs.what-to-make.outputs.make-utils == 'true' }}
|
||||
runs-on: ubuntu-24.04
|
||||
runs-on: ubuntu-22.04
|
||||
env:
|
||||
QT_QPA_PLATFORM: offscreen
|
||||
steps:
|
||||
- name: Show Configuration
|
||||
run: |
|
||||
@@ -1065,19 +894,21 @@ jobs:
|
||||
clang \
|
||||
cmake \
|
||||
gettext \
|
||||
libb64-dev \
|
||||
libcurl4-openssl-dev \
|
||||
libdeflate-dev \
|
||||
libevent-dev \
|
||||
libfast-float-dev \
|
||||
libfmt-dev \
|
||||
libminiupnpc-dev \
|
||||
libnatpmp-dev \
|
||||
libpsl-dev \
|
||||
libssl-dev \
|
||||
libutfcpp-dev \
|
||||
ninja-build \
|
||||
rapidjson-dev
|
||||
locales \
|
||||
ninja-build
|
||||
# Set UTF-8 locale for Qt
|
||||
echo "en_US.UTF-8 UTF-8" | sudo tee /etc/locale.gen
|
||||
sudo locale-gen
|
||||
echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
|
||||
echo "LC_ALL=C.UTF-8" >> "$GITHUB_ENV"
|
||||
- name: Get NPM
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
@@ -1087,7 +918,7 @@ jobs:
|
||||
run: sudo apt-get install -y --no-install-recommends libglibmm-2.4-dev libgtkmm-3.0-dev
|
||||
- name: Get Dependencies (Qt5)
|
||||
if: ${{ needs.what-to-make.outputs.make-qt == 'true' }}
|
||||
run: sudo apt-get install -y --no-install-recommends qtbase5-dev libqt5svg5-dev qttools5-dev
|
||||
run: sudo apt-get install -y --no-install-recommends libxcb-cursor0 qtbase5-dev libqt5svg5-dev qttools5-dev
|
||||
- name: Get Source
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
@@ -1111,13 +942,7 @@ jobs:
|
||||
-DENABLE_UTILS=${{ (needs.what-to-make.outputs.make-utils == 'true') && 'ON' || 'OFF' }} \
|
||||
-DREBUILD_WEB=${{ (needs.what-to-make.outputs.make-web == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_WERROR=ON \
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_CRC32C=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_SMALL=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_WIDE_INTEGER=OFF `# Not packaged in Ubuntu`
|
||||
-DRUN_CLANG_TIDY=OFF
|
||||
- name: Make
|
||||
run: cmake --build obj --config RelWithDebInfo
|
||||
- name: Test
|
||||
@@ -1126,7 +951,7 @@ jobs:
|
||||
TMPDIR: /private/tmp
|
||||
run: cmake -E chdir obj ctest -j $(nproc) --build-config RelWithDebInfo --output-on-failure
|
||||
- name: Install
|
||||
run: cmake --install obj --config RelWithDebInfo --strip
|
||||
run: cmake --build obj --config RelWithDebInfo --target install/strip
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: binaries-${{ github.job }}
|
||||
@@ -1156,7 +981,7 @@ jobs:
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'temurin'
|
||||
|
||||
|
||||
- name: Setup Gradle
|
||||
uses: gradle/gradle-build-action@v3
|
||||
with:
|
||||
@@ -1186,6 +1011,8 @@ jobs:
|
||||
needs: [ what-to-make ]
|
||||
if: ${{ needs.what-to-make.outputs.make-cli == 'true' || needs.what-to-make.outputs.make-daemon == 'true' || needs.what-to-make.outputs.make-gtk == 'true' || needs.what-to-make.outputs.make-qt == 'true' || needs.what-to-make.outputs.make-utils == 'true' }}
|
||||
runs-on: ubuntu-24.04
|
||||
env:
|
||||
QT_QPA_PLATFORM: offscreen
|
||||
steps:
|
||||
- name: Show Configuration
|
||||
run: |
|
||||
@@ -1202,25 +1029,27 @@ jobs:
|
||||
clang \
|
||||
cmake \
|
||||
gettext \
|
||||
libb64-dev \
|
||||
libcurl4-openssl-dev \
|
||||
libdeflate-dev \
|
||||
libevent-dev \
|
||||
libfast-float-dev \
|
||||
libfmt-dev \
|
||||
libminiupnpc-dev \
|
||||
libnatpmp-dev \
|
||||
libpsl-dev \
|
||||
libssl-dev \
|
||||
libutfcpp-dev \
|
||||
ninja-build \
|
||||
rapidjson-dev
|
||||
locales \
|
||||
ninja-build
|
||||
# Set UTF-8 locale for Qt
|
||||
echo "en_US.UTF-8 UTF-8" | sudo tee /etc/locale.gen
|
||||
sudo locale-gen
|
||||
echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
|
||||
echo "LC_ALL=C.UTF-8" >> "$GITHUB_ENV"
|
||||
- name: Get Dependencies (GTK)
|
||||
if: ${{ needs.what-to-make.outputs.make-gtk == 'true' }}
|
||||
run: sudo apt-get install -y --no-install-recommends libglibmm-2.4-dev libgtkmm-3.0-dev
|
||||
- name: Get Dependencies (Qt6)
|
||||
if: ${{ needs.what-to-make.outputs.make-qt == 'true' }}
|
||||
run: sudo apt-get install -y --no-install-recommends qt6-base-dev qt6-svg-dev qt6-tools-dev
|
||||
run: sudo apt-get install -y --no-install-recommends libxcb-cursor0 qt6-base-dev qt6-svg-dev qt6-tools-dev
|
||||
- name: Get Source
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
@@ -1246,12 +1075,6 @@ jobs:
|
||||
-DENABLE_UTILS=${{ (needs.what-to-make.outputs.make-utils == 'true') && 'ON' || 'OFF' }} \
|
||||
-DREBUILD_WEB=OFF \
|
||||
-DENABLE_WERROR=ON \
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_CRC32C=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_SMALL=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_WIDE_INTEGER=OFF `# Not packaged in Ubuntu`
|
||||
-DRUN_CLANG_TIDY=OFF
|
||||
- name: Make
|
||||
run: cmake --build obj --config RelWithDebInfo -- "-k 0"
|
||||
|
||||
Reference in New Issue
Block a user