ci: update and test more Debian versions (#8153)

This commit is contained in:
Yat Ho
2026-01-22 23:06:41 +08:00
committed by GitHub
parent 16ec031a28
commit f319bc6bf6

View File

@@ -778,6 +778,83 @@ jobs:
name: binaries-${{ github.job }}
path: pfx/**/*
debian-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
strategy:
fail-fast: false
matrix:
version: [stable, unstable]
container:
image: debian:${{ matrix.version }}-slim
steps:
- name: Show Configuration
run: |
echo '${{ toJSON(needs) }}'
echo '${{ toJSON(runner) }}'
cat /etc/os-release
- name: Get Composite Actions
uses: actions/checkout@v6
with:
sparse-checkout: |
.github/actions
sparse-checkout-cone-mode: false
- name: Get Dependencies
uses: ./.github/actions/install-deps
with:
compiler: gcc
enable-gtk: ${{ needs.what-to-make.outputs.make-gtk == 'true' }}
enable-qt: ${{ needs.what-to-make.outputs.make-qt == 'true' && 'qt6' || 'false' }}
use-sudo: false
- name: Get NPM
if: ${{ needs.what-to-make.outputs.make-web == 'true' }}
uses: actions/setup-node@v6
with:
node-version: lts/*
- name: Get Source
uses: actions/download-artifact@v7
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_DEFAULT=ON \
-DUSE_SYSTEM_CRC32C=OFF `# Not packaged in Debian` \
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Debian` \
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Debian`
- name: Build
run: cmake --build obj --config RelWithDebInfo
- name: Test
if: ${{ needs.what-to-make.outputs.make-tests == 'true' }}
uses: ./.github/actions/run-tests
with:
build-dir: obj
build-config: RelWithDebInfo
- name: Install
run: cmake --install obj --config RelWithDebInfo --strip
- uses: actions/upload-artifact@v6
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' }}