@@ -16,190 +16,190 @@ env:
1616 BUILD_TYPE : release
1717
1818jobs :
19- build-linux :
20- runs-on : ubuntu-22.04
21- environment : build
22- strategy :
23- matrix :
24- demo : [false, true]
25- steps :
26- - name : Checkout repository
27- uses : actions/checkout@v4
28- with :
29- fetch-depth : 0
30-
31- - name : Get latest tag version
32- run : echo "PACKAGE_VERSION=$(git describe --tags --abbrev=0 || echo 0.0.0)" >> "$GITHUB_ENV"
33-
34- - name : Apply patch
35- if : matrix.demo == true
36- run : |
37- git diff origin/main..origin/demo > demo.patch
38- git apply demo.patch
39-
40- - name : Install dependencies
41- run : |
42- sudo apt update
43- sudo apt install -y \
44- build-essential cmake \
45- patchelf dpkg fakeroot \
46- squashfs-tools xz-utils \
47- libfuse2 \
48- file \
49- desktop-file-utils \
50- libgl1-mesa-dev \
51- libx11-6 \
52- libx11-xcb1 \
53- libxcb1 \
54- libxcb-util1 \
55- libxcb-image0 \
56- libxcb-shm0 \
57- libxcb-icccm4 \
58- libxcb-keysyms1 \
59- libxcb-render0 \
60- libxcb-render-util0 \
61- libxcb-xinerama0 \
62- libxcb-xkb1 \
63- libxcb-cursor0 \
64- libxcb-shape0 \
65- libxkbcommon0 \
66- libxkbcommon-x11-0 \
67- libxcb-dpms0-dev \
68- libxcb1-dev \
69- libxcb-screensaver0-dev \
70- libxrender1 \
71- libglib2.0-0 \
72- zlib1g \
73- libssl3 \
74- libpng16-16 \
75- wget curl python3-pip imagemagick
76-
77- - name : Install Qt using aqtinstall
78- run : |
79- python3 -m pip install --upgrade pip
80- python3 -m pip install "aqtinstall<4"
81- python3 -m aqt install-qt --outputdir "$HOME/Qt" linux desktop "${QT_VERSION}" linux_gcc_64 -m qtwebsockets
82- echo "$HOME/Qt/${QT_VERSION}/gcc_64/bin" >> "$GITHUB_PATH"
83-
84- - name : Download linuxdeployqt
85- run : |
86- wget https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage
87- chmod +x linuxdeployqt-continuous-x86_64.AppImage
88- sudo mv linuxdeployqt-continuous-x86_64.AppImage /usr/local/bin/linuxdeployqt
89-
90- - name : Configure and build
91- run : |
92- which qmake6
93- qmake6 --version
94- qmake6 -query QT_INSTALL_LIBS
95- mkdir -p build && cd build
96- qmake6 "../src/${APP_NAME}.pro" CONFIG+="$BUILD_TYPE" CONFIG+=static
97- make "-j$(nproc)"
98-
99- - name : Prepare AppDir for AppImage
100- run : |
101- APPDIR=AppDir
102- mkdir -p "$APPDIR/usr/bin"
103- mkdir -p "$APPDIR/usr/share/applications"
104- mkdir -p "$APPDIR/usr/share/icons/hicolor/256x256/apps"
105-
106- # Copy binary
107- cp "build/${APP_NAME}" "$APPDIR/usr/bin/"
108-
109- # Convert .ico to .png and copy it
110- cp resources/subtivals.png $APPDIR/subtivals.png
111- convert "resources/${APP_NAME}.ico" -resize 256x256 "$APPDIR/usr/share/icons/hicolor/256x256/apps/${APP_NAME}.png"
112-
113- # Create .desktop file
114- cat <<EOF > "$APPDIR/usr/share/applications/${APP_NAME}.desktop"
115- [Desktop Entry]
116- Name=${APP_NAME}
117- Exec=${APP_NAME}
118- Icon=${APP_NAME}
119- Type=Application
120- Categories=Utility;
121- EOF
122-
123- - name : Check dynamic dependencies
124- run : |
125- ldd "$APPDIR/usr/bin/${APP_NAME}" || true
126-
127- - name : Run linuxdeployqt
128- run : |
129- linuxdeployqt "AppDir/usr/share/applications/${APP_NAME}.desktop" -appimage -bundle-non-qt-libs
130- mv ./*.AppImage "${APP_NAME}-${PACKAGE_VERSION}${{ matrix.demo && '-demo' || '' }}.AppImage"
131- chmod +x "${APP_NAME}-${PACKAGE_VERSION}${{ matrix.demo && '-demo' || '' }}.AppImage"
132-
133- - name : Check AppImage
134- run : |
135- "./${APP_NAME}-${PACKAGE_VERSION}${{ matrix.demo && '-demo' || '' }}.AppImage" --appimage-extract
136- ldd "squashfs-root/usr/bin/${APP_NAME}"
137-
138- - name : Zip builds
139- if : matrix.demo == false
140- run : |
141- zip -P "${{ secrets.ZIP_PASSWORD }}" "${APP_NAME}-${PACKAGE_VERSION}.zip" "${APP_NAME}-${PACKAGE_VERSION}.AppImage"
142-
143- - name : Upload artifacts
144- uses : actions/upload-artifact@v4
145- with :
146- name : " ${{ env.APP_NAME }}-artifacts-linux${{ matrix.demo && '-demo' || '' }}"
147- path : |
148- *.AppImage
149- *.zip
150- if-no-files-found : error
151-
152- build-mac :
153- runs-on : macos-latest
154- environment : build
155- strategy :
156- matrix :
157- demo : [false, true]
158- steps :
159- - name : Checkout repository
160- uses : actions/checkout@v4
161- with :
162- fetch-depth : 0
163-
164- - name : Get latest tag version
165- run : echo "PACKAGE_VERSION=$(git describe --tags --abbrev=0 || echo 0.0.0)" >> "$GITHUB_ENV"
166-
167- - name : Apply patch
168- if : matrix.demo == true
169- run : |
170- git diff origin/main..origin/demo > demo.patch
171- git apply demo.patch
172-
173- - name : Install Qt
174- uses : jurplel/install-qt-action@v4
175- with :
176- version : ${{ env.QT_VERSION }}
177- modules : ' qtwebsockets'
178-
179- - name : Compile
180- run : |
181- mkdir -p build && cd build/
182- qmake "../src/${{ env.APP_NAME }}.pro" CONFIG+="${{ env.BUILD_TYPE }}"
183- make "-j$(sysctl -n hw.ncpu)"
184-
185- - name : Deploy
186- run : |
187- macdeployqt "build/${{ env.APP_NAME }}.app" -dmg -verbose=2
188- mv "build/${{ env.APP_NAME }}.dmg" "${{ env.APP_NAME }}-${{ env.PACKAGE_VERSION }}${{ matrix.demo && '-demo' || '' }}.dmg"
189-
190- - name : Zip builds
191- if : matrix.demo == false
192- run : |
193- zip -P "${{ secrets.ZIP_PASSWORD }}" "${{ env.APP_NAME }}-${{ env.PACKAGE_VERSION }}.zip" "${{ env.APP_NAME }}-${{ env.PACKAGE_VERSION }}.dmg"
194-
195- - name : Upload artifacts
196- uses : actions/upload-artifact@v4
197- with :
198- name : " ${{ env.APP_NAME }}-artifacts-mac${{ matrix.demo && '-demo' || '' }}"
199- path : |
200- *.dmg
201- *.zip
202- if-no-files-found : error
19+ # build-linux:
20+ # runs-on: ubuntu-22.04
21+ # environment: build
22+ # strategy:
23+ # matrix:
24+ # demo: [false, true]
25+ # steps:
26+ # - name: Checkout repository
27+ # uses: actions/checkout@v4
28+ # with:
29+ # fetch-depth: 0
30+
31+ # - name: Get latest tag version
32+ # run: echo "PACKAGE_VERSION=$(git describe --tags --abbrev=0 || echo 0.0.0)" >> "$GITHUB_ENV"
33+
34+ # - name: Apply patch
35+ # if: matrix.demo == true
36+ # run: |
37+ # git diff origin/main..origin/demo > demo.patch
38+ # git apply demo.patch
39+
40+ # - name: Install dependencies
41+ # run: |
42+ # sudo apt update
43+ # sudo apt install -y \
44+ # build-essential cmake \
45+ # patchelf dpkg fakeroot \
46+ # squashfs-tools xz-utils \
47+ # libfuse2 \
48+ # file \
49+ # desktop-file-utils \
50+ # libgl1-mesa-dev \
51+ # libx11-6 \
52+ # libx11-xcb1 \
53+ # libxcb1 \
54+ # libxcb-util1 \
55+ # libxcb-image0 \
56+ # libxcb-shm0 \
57+ # libxcb-icccm4 \
58+ # libxcb-keysyms1 \
59+ # libxcb-render0 \
60+ # libxcb-render-util0 \
61+ # libxcb-xinerama0 \
62+ # libxcb-xkb1 \
63+ # libxcb-cursor0 \
64+ # libxcb-shape0 \
65+ # libxkbcommon0 \
66+ # libxkbcommon-x11-0 \
67+ # libxcb-dpms0-dev \
68+ # libxcb1-dev \
69+ # libxcb-screensaver0-dev \
70+ # libxrender1 \
71+ # libglib2.0-0 \
72+ # zlib1g \
73+ # libssl3 \
74+ # libpng16-16 \
75+ # wget curl python3-pip imagemagick
76+
77+ # - name: Install Qt using aqtinstall
78+ # run: |
79+ # python3 -m pip install --upgrade pip
80+ # python3 -m pip install "aqtinstall<4"
81+ # python3 -m aqt install-qt --outputdir "$HOME/Qt" linux desktop "${QT_VERSION}" linux_gcc_64 -m qtwebsockets
82+ # echo "$HOME/Qt/${QT_VERSION}/gcc_64/bin" >> "$GITHUB_PATH"
83+
84+ # - name: Download linuxdeployqt
85+ # run: |
86+ # wget https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage
87+ # chmod +x linuxdeployqt-continuous-x86_64.AppImage
88+ # sudo mv linuxdeployqt-continuous-x86_64.AppImage /usr/local/bin/linuxdeployqt
89+
90+ # - name: Configure and build
91+ # run: |
92+ # which qmake6
93+ # qmake6 --version
94+ # qmake6 -query QT_INSTALL_LIBS
95+ # mkdir -p build && cd build
96+ # qmake6 "../src/${APP_NAME}.pro" CONFIG+="$BUILD_TYPE" CONFIG+=static
97+ # make "-j$(nproc)"
98+
99+ # - name: Prepare AppDir for AppImage
100+ # run: |
101+ # APPDIR=AppDir
102+ # mkdir -p "$APPDIR/usr/bin"
103+ # mkdir -p "$APPDIR/usr/share/applications"
104+ # mkdir -p "$APPDIR/usr/share/icons/hicolor/256x256/apps"
105+
106+ # # Copy binary
107+ # cp "build/${APP_NAME}" "$APPDIR/usr/bin/"
108+
109+ # # Convert .ico to .png and copy it
110+ # cp resources/subtivals.png $APPDIR/subtivals.png
111+ # convert "resources/${APP_NAME}.ico" -resize 256x256 "$APPDIR/usr/share/icons/hicolor/256x256/apps/${APP_NAME}.png"
112+
113+ # # Create .desktop file
114+ # cat <<EOF > "$APPDIR/usr/share/applications/${APP_NAME}.desktop"
115+ # [Desktop Entry]
116+ # Name=${APP_NAME}
117+ # Exec=${APP_NAME}
118+ # Icon=${APP_NAME}
119+ # Type=Application
120+ # Categories=Utility;
121+ # EOF
122+
123+ # - name: Check dynamic dependencies
124+ # run: |
125+ # ldd "$APPDIR/usr/bin/${APP_NAME}" || true
126+
127+ # - name: Run linuxdeployqt
128+ # run: |
129+ # linuxdeployqt "AppDir/usr/share/applications/${APP_NAME}.desktop" -appimage -bundle-non-qt-libs
130+ # mv ./*.AppImage "${APP_NAME}-${PACKAGE_VERSION}${{ matrix.demo && '-demo' || '' }}.AppImage"
131+ # chmod +x "${APP_NAME}-${PACKAGE_VERSION}${{ matrix.demo && '-demo' || '' }}.AppImage"
132+
133+ # - name: Check AppImage
134+ # run: |
135+ # "./${APP_NAME}-${PACKAGE_VERSION}${{ matrix.demo && '-demo' || '' }}.AppImage" --appimage-extract
136+ # ldd "squashfs-root/usr/bin/${APP_NAME}"
137+
138+ # - name: Zip builds
139+ # if: matrix.demo == false
140+ # run: |
141+ # zip -P "${{ secrets.ZIP_PASSWORD }}" "${APP_NAME}-${PACKAGE_VERSION}.zip" "${APP_NAME}-${PACKAGE_VERSION}.AppImage"
142+
143+ # - name: Upload artifacts
144+ # uses: actions/upload-artifact@v4
145+ # with:
146+ # name: "${{ env.APP_NAME }}-artifacts-linux${{ matrix.demo && '-demo' || '' }}"
147+ # path: |
148+ # *.AppImage
149+ # *.zip
150+ # if-no-files-found: error
151+
152+ # build-mac:
153+ # runs-on: macos-latest
154+ # environment: build
155+ # strategy:
156+ # matrix:
157+ # demo: [false, true]
158+ # steps:
159+ # - name: Checkout repository
160+ # uses: actions/checkout@v4
161+ # with:
162+ # fetch-depth: 0
163+
164+ # - name: Get latest tag version
165+ # run: echo "PACKAGE_VERSION=$(git describe --tags --abbrev=0 || echo 0.0.0)" >> "$GITHUB_ENV"
166+
167+ # - name: Apply patch
168+ # if: matrix.demo == true
169+ # run: |
170+ # git diff origin/main..origin/demo > demo.patch
171+ # git apply demo.patch
172+
173+ # - name: Install Qt
174+ # uses: jurplel/install-qt-action@v4
175+ # with:
176+ # version: ${{ env.QT_VERSION }}
177+ # modules: 'qtwebsockets'
178+
179+ # - name: Compile
180+ # run: |
181+ # mkdir -p build && cd build/
182+ # qmake "../src/${{ env.APP_NAME }}.pro" CONFIG+="${{ env.BUILD_TYPE }}"
183+ # make "-j$(sysctl -n hw.ncpu)"
184+
185+ # - name: Deploy
186+ # run: |
187+ # macdeployqt "build/${{ env.APP_NAME }}.app" -dmg -verbose=2
188+ # mv "build/${{ env.APP_NAME }}.dmg" "${{ env.APP_NAME }}-${{ env.PACKAGE_VERSION }}${{ matrix.demo && '-demo' || '' }}.dmg"
189+
190+ # - name: Zip builds
191+ # if: matrix.demo == false
192+ # run: |
193+ # zip -P "${{ secrets.ZIP_PASSWORD }}" "${{ env.APP_NAME }}-${{ env.PACKAGE_VERSION }}.zip" "${{ env.APP_NAME }}-${{ env.PACKAGE_VERSION }}.dmg"
194+
195+ # - name: Upload artifacts
196+ # uses: actions/upload-artifact@v4
197+ # with:
198+ # name: "${{ env.APP_NAME }}-artifacts-mac${{ matrix.demo && '-demo' || '' }}"
199+ # path: |
200+ # *.dmg
201+ # *.zip
202+ # if-no-files-found: error
203203
204204 build-windows :
205205 runs-on : windows-latest
@@ -279,6 +279,8 @@ jobs:
279279 run : |
280280 7z a -p"${{ secrets.ZIP_PASSWORD }}" -tzip "${{ env.APP_NAME }}-${{ env.PACKAGE_VERSION }}.zip" "${{ env.APP_NAME }}-${{ env.PACKAGE_VERSION }}.exe"
281281
282+ - run : Get-ChildItem -Recurse | Select-Object FullName, Length, LastWriteTime
283+
282284 - name : Upload artifacts
283285 uses : actions/upload-artifact@v4
284286 with :
@@ -290,8 +292,8 @@ jobs:
290292
291293 release :
292294 needs :
293- - build-linux
294- - build-mac
295+ # - build-linux
296+ # - build-mac
295297 - build-windows
296298 if : startsWith(github.ref, 'refs/tags/')
297299 runs-on : ubuntu-latest
0 commit comments