Skip to content

Commit 01b0f95

Browse files
committed
CI: modify docker.yml
1 parent 50adf75 commit 01b0f95

File tree

5 files changed

+104
-38
lines changed

5 files changed

+104
-38
lines changed

.github/workflows/docker.yml

Lines changed: 66 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,28 +16,37 @@ jobs:
1616
build_docker:
1717
strategy:
1818
matrix:
19-
variant:
20-
- PACKAGE: deb
21-
image: ubuntu
22-
lable: ":24.04"
23-
os: ubuntu-24.04
24-
- PACKAGE: deb
25-
image: ubuntu
26-
lable: ":24.04"
27-
os: ubuntu-24.04-arm
28-
- PACKAGE: rpm
29-
image: fedora
30-
lable: ":41"
31-
os: ubuntu-24.04
32-
- PACKAGE: rpm
33-
image: fedora
34-
lable: ":41"
35-
os: ubuntu-24.04-arm
19+
- PACKAGE: deb
20+
image: ubuntu
21+
lable: ":25.04"
22+
os: ubuntu-24.04
23+
- PACKAGE: deb
24+
image: ubuntu
25+
lable: ":25.04"
26+
os: ubuntu-24.04-arm
27+
28+
- PACKAGE: appimage
29+
image: ubuntu
30+
lable: ":25.04"
31+
os: ubuntu-24.04
32+
- PACKAGE: appimage
33+
image: ubuntu
34+
lable: ":25.04"
35+
os: ubuntu-24.04-arm
36+
37+
- PACKAGE: rpm
38+
image: fedora
39+
lable: ":41"
40+
os: ubuntu-24.04
41+
- PACKAGE: rpm
42+
image: fedora
43+
lable: ":41"
44+
os: ubuntu-24.04-arm
3645

3746
# See: [About GitHub-hosted runners](https://docs.github.com/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners)
3847
# See: [Choosing the runner for a job](https://docs.github.com/actions/writing-workflows/choosing-where-your-workflow-runs/choosing-the-runner-for-a-job)
3948
# See: https://github.com/actions/runner-images/
40-
runs-on: ${{matrix.variant.os}}
49+
runs-on: ${{matrix.os}}
4150

4251
env:
4352
RabbitRemoteControl_VERSION: 0.0.36
@@ -55,11 +64,47 @@ jobs:
5564
fetch-depth: 0
5665
- name: run docker
5766
run: |
58-
./Script/build_linux.sh --docker --docker-image="${{matrix.variant.image}}${{matrix.variant.lable}}" --${{matrix.variant.PACKAGE}}
67+
./Script/build_linux.sh --docker --docker-image="${{matrix.image}}${{matrix.lable}}" --${{matrix.PACKAGE}}
68+
69+
- name: AppIagme update configure file
70+
if: ${{ matrix.PACKAGE == 'appimage' }}
71+
#continue-on-error: true
72+
run: |
73+
sudo Xvfb :91.0 -ac -screen 0 1200x900x24 &
74+
sleep 1
75+
export DISPLAY=:91.0
76+
echo "Update update_linux.json ......"
77+
export QT_XCB_GL_INTEGRATION=none
78+
#export QT_DEBUG_PLUGINS=1
79+
ARCH=`uname -m`
80+
cp ${{github.workspace}}/build_linux/RabbitRemoteControl_${ARCH}.AppImage RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}.AppImage
81+
mkdir -p RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}_Setup
82+
pushd RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}_Setup
83+
cp ${{github.workspace}}/RabbitRemoteControl_${ARCH}.AppImage RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}.AppImage
84+
chmod a+x RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}.AppImage
85+
cp ${{github.workspace}}/build_appimage/AppDir/usr/share/applications/io.github.KangLin.RabbitRemoteControl.desktop io.github.KangLin.RabbitRemoteControl.desktop
86+
cp ${{github.workspace}}/build_appimage/AppDir/usr/share/icons/hicolor/scalable/apps/io.github.KangLin.RabbitRemoteControl.svg io.github.KangLin.RabbitRemoteControl.svg
87+
cp ${{github.workspace}}/Script/install.sh install.sh
88+
chmod a+x install.sh
89+
popd
90+
zip RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}_Setup.zip RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}_Setup/*
91+
md5sum RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}.AppImage > RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}.AppImage.md5sum
92+
MD5SUM=`cat RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}.AppImage.md5sum|awk '{print $1}'`
93+
echo "MD5SUM RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}.AppImage: ${MD5SUM}"
94+
echo "Generate update configure file ......"
95+
./RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}.AppImage \
96+
-f "${{github.workspace}}/update_appimage_${{matrix.os}}_qt${{matrix.qt_version}}.json" \
97+
--foc 1 \
98+
--file-name RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}.AppImage \
99+
-u "https://github.com/KangLin/RabbitRemoteControl/releases/download/v${{env.RabbitRemoteControl_VERSION}}/RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}.AppImage;https://master.dl.sourceforge.net/project/rabbitremotecontrol/v${{env.RabbitRemoteControl_VERSION}}/RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}.AppImage?viasf=1" \
100+
--md5 "${MD5SUM}"
101+
59102
- name: Update artifact
60-
if: ${{matrix.variant.PACKAGE == 'rpm'}}
103+
#if: ${{matrix.PACKAGE != 'deb'}}
61104
uses: actions/upload-artifact@v4
62105
with:
63-
name: ${{ env.artifact_name }}_${{matrix.variant.PACKAGE}}_${{matrix.variant.image}}_${{matrix.variant.os}}
106+
name: ${{ env.artifact_name }}_${{matrix.PACKAGE}}_${{matrix.image}}_${{matrix.os}}
64107
path: |
65108
${{github.workspace}}/build_linux/rabbitremotecontrol*.rpm
109+
${{github.workspace}}/build_linux/rabbitremotecontrol_*.deb
110+
${{github.workspace}}/RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_Linux_${ARCH}.AppImage

Package/Flatpak/io.github.KangLin.RabbitRemoteControl.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ id: "io.github.KangLin.RabbitRemoteControl"
33
# See: [available runtimes](https://docs.flatpak.org/en/latest/available-runtimes.html)
44
# See: [flatpak kde runtime](https://invent.kde.org/packaging/flatpak-kde-runtime)
55
runtime: "org.kde.Platform"
6-
runtime-version: "6.8"
6+
runtime-version: "6.9"
77
sdk: "org.kde.Sdk"
88
command: RabbitRemoteControlApp
99

1010
base: io.qt.qtwebengine.BaseApp
11-
base-version: '6.8'
11+
base-version: '6.9'
1212
cleanup-commands:
1313
- /app/cleanup-BaseApp.sh
1414

Script/build_appimage.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ fi
161161
popd
162162

163163
echo "Compile RabbitRemoteControl ......"
164-
if [ "${BUILD_VERBOSE}" = "ON" ]; then
164+
if [ "${BUILD_VERBOSE}" = "ON" -a -n "$QMAKE" ]; then
165165
echo "QT_ROOT: $QT_ROOT"
166166
echo "Qt6_DIR: $Qt6_DIR"
167167
echo "QMAKE: $QMAKE"
@@ -207,7 +207,7 @@ export DEPLOY_PLATFORM_THEMES=true
207207
export EXTRA_QT_MODULES="svg"
208208
export PATH=$PATH:${TOOLS_DIR}
209209

210-
if [ "${BUILD_VERBOSE}" = "ON" ]; then
210+
if [ "${BUILD_VERBOSE}" = "ON" -a -n "$QMAKE" ]; then
211211
echo "QT_ROOT: $QT_ROOT"
212212
echo "Qt6_DIR: $Qt6_DIR"
213213
echo "QMAKE: $QMAKE"

Script/build_depend.sh

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ if [ $BASE_LIBS -eq 1 ]; then
319319
apt install -y -q libgl1-mesa-dev libglx-dev libglu1-mesa-dev libvulkan-dev mesa-common-dev
320320
# Virtual desktop (virtual framebuffer X server for X Version 11). Needed by CI
321321
if [ -z "$RabbitRemoteControl_VERSION" ]; then
322-
apt install -y -q xvfb xpra
322+
apt install -y -q xvfb #xpra
323323
fi
324324
# X11 and xcb
325325
apt install -y -q xorg-dev x11-xkb-utils libxkbcommon-dev libxkbcommon-x11-dev libx11-xcb-dev \
@@ -382,13 +382,22 @@ fi
382382
if [ $DEFAULT_LIBS -eq 1 ]; then
383383
echo "Install default dependency libraries ......"
384384
if [ "$PACKAGE_TOOL" = "apt" ]; then
385+
case "`lsb_release -s -r`" in
386+
"25.04"|"25.10")
387+
DEFAULT_LIBRARIES=
388+
;;
389+
"24.04"|"24.10"|*)
390+
DEFAULT_LIBRARIES=
391+
;;
392+
393+
esac
385394
# Qt6
386395
apt-get install -y -q qmake6 qt6-tools-dev qt6-tools-dev-tools \
387396
qt6-base-dev qt6-base-dev-tools qt6-qpa-plugins \
388397
libqt6svg6-dev qt6-l10n-tools qt6-translations-l10n \
389-
qt6-scxml-dev qt6-multimedia-dev libqt6serialport6-dev qt6-websockets-dev \
398+
qt6-scxml-dev qt6-multimedia-dev qt6-websockets-dev qt6-serialport-dev \
390399
qt6-webengine-dev qt6-webengine-dev-tools qt6-positioning-dev qt6-webchannel-dev
391-
apt-get install -y -q freerdp2-dev qtkeychain-qt6-dev
400+
apt-get install -y -q freerdp2-dev qtkeychain-qt6-dev $DEFAULT_LIBRARIES
392401
fi
393402

394403
if [ "$PACKAGE_TOOL" = "dnf" ]; then

Script/build_linux.sh

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,8 @@ if [ $DOCKER -eq 1 ]; then
214214
docker run --volume ${BUILD_LINUX_DIR}:/home/build --privileged --interactive --rm ${DOCKERT_IMAGE} \
215215
bash -e -x -c "
216216
tar -C ~ -xf /home/build/RabbitRemoteControl.tar.gz
217+
apt-get update -y
218+
apt-get install lsb-release
217219
~/RabbitRemoteControl/Script/build_linux.sh --appimage --verbose ${BUILD_VERBOSE}
218220
cp ~/RabbitRemoteControl/RabbitRemoteControl_`uname -m`.AppImage /home/build/
219221
"
@@ -260,22 +262,32 @@ fi
260262

261263
if [ $APPIMAGE -eq 1 ]; then
262264
echo "build AppImage(qt${QT_VERSION}) ......"
265+
case "`lsb_release -s -r`" in
266+
"25.04"|"25.10")
267+
depend_para="--default"
268+
export PKG_CONFIG_PATH=${INSTALL_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
269+
export LD_LIBRARY_PATH=${INSTALL_DIR}/lib:$LD_LIBRARY_PATH
270+
export CMAKE_PREFIX_PATH=${INSTALL_DIR}:${CMAKE_PREFIX_PATH}
271+
;;
272+
"24.04"|"24.10")
273+
depend_para="--qt=${QT_VERSION}"
274+
export QT_ROOT=${TOOLS_DIR}/qt_`uname -m`
275+
export Qt6_DIR=$QT_ROOT
276+
export QMAKE=$QT_ROOT/bin/qmake
277+
export QT_PLUGIN_PATH=$QT_ROOT/plugins
278+
export PATH=$QT_ROOT/libexec:$PATH
279+
export PKG_CONFIG_PATH=$QT_ROOT/lib/pkgconfig:${INSTALL_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
280+
export LD_LIBRARY_PATH=$QT_ROOT/lib:${INSTALL_DIR}/lib:$LD_LIBRARY_PATH
281+
export CMAKE_PREFIX_PATH=$QT_ROOT:${INSTALL_DIR}:${CMAKE_PREFIX_PATH}
282+
;;
283+
esac
263284
./build_depend.sh --system_update --base --rabbitcommon \
264285
--tigervnc --freerdp --pcapplusplus --libssh \
265286
--install=${INSTALL_DIR} \
266287
--source=${SOURCE_DIR} \
267288
--tools=${TOOLS_DIR} \
268-
--verbose=${BUILD_VERBOSE} \
269-
--qt=${QT_VERSION}
289+
--verbose=${BUILD_VERBOSE} ${depend_para}
270290

271-
export QT_ROOT=${TOOLS_DIR}/qt_`uname -m`
272-
export Qt6_DIR=$QT_ROOT
273-
export QMAKE=$QT_ROOT/bin/qmake
274-
export PATH=$QT_ROOT/libexec:$PATH
275-
export PKG_CONFIG_PATH=$QT_ROOT/lib/pkgconfig:${INSTALL_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
276-
export LD_LIBRARY_PATH=$QT_ROOT/lib:${INSTALL_DIR}/lib:$LD_LIBRARY_PATH
277-
export QT_PLUGIN_PATH=$QT_ROOT/plugins
278-
export CMAKE_PREFIX_PATH=$QT_ROOT:${INSTALL_DIR}:${CMAKE_PREFIX_PATH}
279291
export RabbitCommon_ROOT=${SOURCE_DIR}/RabbitCommon
280292
export BUILD_FREERDP=ON
281293

0 commit comments

Comments
 (0)