2121 CONAN_VERSION : 2.11.0
2222
2323jobs :
24- build-ubuntu-docker :
25- # Our Ubuntu builds are built using Docker images that have been pre-published.
26- # This speeds up builds for us since we do some pre-building of packages that takes a long time
27- # However, this means if you need to add a dependency to the build, you'll need to do that
28- # in the https://github.com/Chatterino/docker repository first.
29- name : " Build Ubuntu in Docker"
30- runs-on : ubuntu-latest
31- container : ${{ matrix.container }}
32- strategy :
33- matrix :
34- include :
35- - os : ubuntu-20.04
36- container : ghcr.io/chatterino/chatterino2-build-ubuntu-20.04:latest
37- qt-version : 6.7.2
38- force-lto : false
39- skip-artifact : false
40- skip-crashpad : false
41- build-deb : true
42- - os : ubuntu-22.04
43- container : ghcr.io/chatterino/chatterino2-build-ubuntu-22.04:latest
44- qt-version : 6.7.2
45- force-lto : false
46- skip-artifact : false
47- skip-crashpad : false
48- build-deb : true
49- - os : ubuntu-24.04
50- container : ghcr.io/chatterino/chatterino2-build-ubuntu-24.04:latest
51- qt-version : 6.7.2
52- force-lto : false
53- skip-artifact : false
54- skip-crashpad : false
55- build-deb : true
56- env :
57- C2_ENABLE_LTO : ${{ matrix.force-lto }}
58- C2_ENABLE_CRASHPAD : ${{ matrix.skip-crashpad == false }}
59-
60- steps :
61- - uses : actions/checkout@v5
62- with :
63- submodules : recursive
64- fetch-depth : 0 # allows for tags access
65-
66- - name : Fix git permission error
67- run : |
68- git config --global --add safe.directory '*'
69-
70- - name : Install Python and libclang (24.04)
71- if : matrix.os == 'ubuntu-24.04'
72- run : |
73- sudo apt update
74- sudo DEBIAN_FRONTEND=noninteractive apt -y --no-install-recommends install \
75- python3 python3-venv clang-18 clang-format-18 libclang-18-dev
76- echo "LIBCLANG_LIBRARY_FILE=/usr/lib/x86_64-linux-gnu/libclang-18.so" >> "$GITHUB_ENV"
77- sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-18 42
78- sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-18 42
79-
80- - name : Build
81- run : |
82- mkdir build
83- cd build
84- CXXFLAGS=-fno-sized-deallocation cmake \
85- -DCMAKE_INSTALL_PREFIX=appdir/usr/ \
86- -DCMAKE_BUILD_TYPE=Release \
87- -DPAJLADA_SETTINGS_USE_BOOST_FILESYSTEM=On \
88- -DUSE_PRECOMPILED_HEADERS=OFF \
89- -DCMAKE_EXPORT_COMPILE_COMMANDS=On \
90- -DCHATTERINO_LTO="$C2_ENABLE_LTO" \
91- -DCMAKE_PREFIX_PATH="$Qt6_DIR/lib/cmake" \
92- -DCHATTERINO_STATIC_QT_BUILD=On \
93- -DFORCE_JSON_GENERATION=${{matrix.os == 'ubuntu-24.04' && 'On' || 'Off'}} \
94- ..
95- make -j"$(nproc)"
96-
97- - name : Check generated sources
98- if : matrix.os == 'ubuntu-24.04'
99- run : |
100- git add -N lib/twitch-eventsub-ws/include lib/twitch-eventsub-ws/src
101- git --no-pager diff --exit-code lib/twitch-eventsub-ws/include lib/twitch-eventsub-ws/src
102-
103- - name : Package - .deb (Ubuntu)
104- if : matrix.build-deb
105- run : |
106- cd build
107- sh ./../.CI/CreateUbuntuDeb.sh
108-
109- - name : Upload artifact - .deb (Ubuntu)
110- if : matrix.build-deb
111- uses : actions/upload-artifact@v4
112- with :
113- name : Chatterino-${{ matrix.os }}-Qt-${{ matrix.qt-version }}.deb
114- path : build/Chatterino-${{ matrix.os }}-x86_64.deb
24+ # build-ubuntu-docker:
25+ # # Our Ubuntu builds are built using Docker images that have been pre-published.
26+ # # This speeds up builds for us since we do some pre-building of packages that takes a long time
27+ # # However, this means if you need to add a dependency to the build, you'll need to do that
28+ # # in the https://github.com/Chatterino/docker repository first.
29+ # name: "Build Ubuntu in Docker"
30+ # runs-on: ubuntu-latest
31+ # container: ${{ matrix.container }}
32+ # strategy:
33+ # matrix:
34+ # include:
35+ # - os: ubuntu-20.04
36+ # container: ghcr.io/chatterino/chatterino2-build-ubuntu-20.04:latest
37+ # qt-version: 6.7.2
38+ # force-lto: false
39+ # skip-artifact: false
40+ # skip-crashpad: false
41+ # build-deb: true
42+ # - os: ubuntu-22.04
43+ # container: ghcr.io/chatterino/chatterino2-build-ubuntu-22.04:latest
44+ # qt-version: 6.7.2
45+ # force-lto: false
46+ # skip-artifact: false
47+ # skip-crashpad: false
48+ # build-deb: true
49+ # - os: ubuntu-24.04
50+ # container: ghcr.io/chatterino/chatterino2-build-ubuntu-24.04:latest
51+ # qt-version: 6.7.2
52+ # force-lto: false
53+ # skip-artifact: false
54+ # skip-crashpad: false
55+ # build-deb: true
56+ # env:
57+ # C2_ENABLE_LTO: ${{ matrix.force-lto }}
58+ # C2_ENABLE_CRASHPAD: ${{ matrix.skip-crashpad == false }}
59+
60+ # steps:
61+ # - uses: actions/checkout@v5
62+ # with:
63+ # submodules: recursive
64+ # fetch-depth: 0 # allows for tags access
65+
66+ # - name: Fix git permission error
67+ # run: |
68+ # git config --global --add safe.directory '*'
69+
70+ # - name: Install Python and libclang (24.04)
71+ # if: matrix.os == 'ubuntu-24.04'
72+ # run: |
73+ # sudo apt update
74+ # sudo DEBIAN_FRONTEND=noninteractive apt -y --no-install-recommends install \
75+ # python3 python3-venv clang-18 clang-format-18 libclang-18-dev
76+ # echo "LIBCLANG_LIBRARY_FILE=/usr/lib/x86_64-linux-gnu/libclang-18.so" >> "$GITHUB_ENV"
77+ # sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-18 42
78+ # sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-18 42
79+
80+ # - name: Build
81+ # run: |
82+ # mkdir build
83+ # cd build
84+ # CXXFLAGS=-fno-sized-deallocation cmake \
85+ # -DCMAKE_INSTALL_PREFIX=appdir/usr/ \
86+ # -DCMAKE_BUILD_TYPE=Release \
87+ # -DPAJLADA_SETTINGS_USE_BOOST_FILESYSTEM=On \
88+ # -DUSE_PRECOMPILED_HEADERS=OFF \
89+ # -DCMAKE_EXPORT_COMPILE_COMMANDS=On \
90+ # -DCHATTERINO_LTO="$C2_ENABLE_LTO" \
91+ # -DCMAKE_PREFIX_PATH="$Qt6_DIR/lib/cmake" \
92+ # -DCHATTERINO_STATIC_QT_BUILD=On \
93+ # -DFORCE_JSON_GENERATION=${{matrix.os == 'ubuntu-24.04' && 'On' || 'Off'}} \
94+ # ..
95+ # make -j"$(nproc)"
96+
97+ # - name: Check generated sources
98+ # if: matrix.os == 'ubuntu-24.04'
99+ # run: |
100+ # git add -N lib/twitch-eventsub-ws/include lib/twitch-eventsub-ws/src
101+ # git --no-pager diff --exit-code lib/twitch-eventsub-ws/include lib/twitch-eventsub-ws/src
102+
103+ # - name: Package - .deb (Ubuntu)
104+ # if: matrix.build-deb
105+ # run: |
106+ # cd build
107+ # sh ./../.CI/CreateUbuntuDeb.sh
108+
109+ # - name: Upload artifact - .deb (Ubuntu)
110+ # if: matrix.build-deb
111+ # uses: actions/upload-artifact@v4
112+ # with:
113+ # name: Chatterino-${{ matrix.os }}-Qt-${{ matrix.qt-version }}.deb
114+ # path: build/Chatterino-${{ matrix.os }}-x86_64.deb
115115
116116 build :
117117 name : " Build ${{ matrix.os }}, Qt ${{ matrix.qt-version }} (LTO:${{ matrix.force-lto }}, crashpad:${{ matrix.skip-crashpad && 'off' || 'on' }})"
@@ -259,52 +259,53 @@ jobs:
259259 run : conan cache clean --source --build --download "*"
260260 shell : bash
261261
262- # MACOS
263- - name : Install dependencies (MacOS)
264- if : startsWith(matrix.os, 'macos')
265- run : |
266- # brew install openssl rapidjson p7zip create-dmg cmake tree boost
267- brew install openssl rapidjson p7zip create-dmg tree boost
268- shell : bash
269-
270- - name : Build (MacOS)
271- if : startsWith(matrix.os, 'macos')
272- run : |
273- mkdir build
274- cd build
275- cmake \
276- -DCMAKE_BUILD_TYPE=Release \
277- -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 \
278- -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl \
279- -DUSE_PRECOMPILED_HEADERS=OFF \
280- -DCHATTERINO_LTO="$C2_ENABLE_LTO" \
281- -DFORCE_JSON_GENERATION=Off \
282- ..
283- make -j"$(sysctl -n hw.logicalcpu)"
284- shell : bash
285-
286- - name : Package (MacOS)
287- if : startsWith(matrix.os, 'macos')
288- env :
289- OUTPUT_DMG_PATH : chatterino-macos-Qt-${{ matrix.qt-version}}.dmg
290- run : |
291- ls -la
292- pwd
293- ls -la build || true
294- cd build
295- ./../.CI/MacDeploy.sh
296- ./../.CI/CreateDMG.sh
297- shell : bash
298-
299- - name : Upload artifact (MacOS)
300- if : startsWith(matrix.os, 'macos')
301- uses : actions/upload-artifact@v4
302- with :
303- name : chatterino-macos-Qt-${{ matrix.qt-version }}.dmg
304- path : build/chatterino-macos-Qt-${{ matrix.qt-version }}.dmg
305-
262+ # # MACOS
263+ # - name: Install dependencies (MacOS)
264+ # if: startsWith(matrix.os, 'macos')
265+ # run: |
266+ # # brew install openssl rapidjson p7zip create-dmg cmake tree boost
267+ # brew install openssl rapidjson p7zip create-dmg tree boost
268+ # shell: bash
269+
270+ # - name: Build (MacOS)
271+ # if: startsWith(matrix.os, 'macos')
272+ # run: |
273+ # mkdir build
274+ # cd build
275+ # cmake \
276+ # -DCMAKE_BUILD_TYPE=Release \
277+ # -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 \
278+ # -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl \
279+ # -DUSE_PRECOMPILED_HEADERS=OFF \
280+ # -DCHATTERINO_LTO="$C2_ENABLE_LTO" \
281+ # -DFORCE_JSON_GENERATION=Off \
282+ # ..
283+ # make -j"$(sysctl -n hw.logicalcpu)"
284+ # shell: bash
285+
286+ # - name: Package (MacOS)
287+ # if: startsWith(matrix.os, 'macos')
288+ # env:
289+ # OUTPUT_DMG_PATH: chatterino-macos-Qt-${{ matrix.qt-version}}.dmg
290+ # run: |
291+ # ls -la
292+ # pwd
293+ # ls -la build || true
294+ # cd build
295+ # ./../.CI/MacDeploy.sh
296+ # ./../.CI/CreateDMG.sh
297+ # shell: bash
298+
299+ # - name: Upload artifact (MacOS)
300+ # if: startsWith(matrix.os, 'macos')
301+ # uses: actions/upload-artifact@v4
302+ # with:
303+ # name: chatterino-macos-Qt-${{ matrix.qt-version }}.dmg
304+ # path: build/chatterino-macos-Qt-${{ matrix.qt-version }}.dmg
305+
306+ # Remome 'build-ubuntu-docker' from the 'needs' list, only build Windows Versions
306307 create-release :
307- needs : [build-ubuntu-docker, build ]
308+ needs : [build]
308309 runs-on : ubuntu-latest
309310 if : (github.event_name == 'push' && github.ref == 'refs/heads/master')
310311
@@ -326,29 +327,29 @@ jobs:
326327 name : chatterino-windows-old-x86-64-Qt-6.7.3-symbols.pdb.7z
327328 path : release-artifacts/
328329
329- # Linux
330- - uses : actions/download-artifact@v5
331- name : Ubuntu 20.04 deb
332- with :
333- name : Chatterino-ubuntu-20.04-Qt-6.7.2.deb
334- path : release-artifacts/
335-
336- - uses : actions/download-artifact@v5
337- name : Ubuntu 22.04 deb
338- with :
339- name : Chatterino-ubuntu-22.04-Qt-6.7.2.deb
340- path : release-artifacts/
341-
342- - uses : actions/download-artifact@v5
343- name : Ubuntu 24.04 deb
344- with :
345- name : Chatterino-ubuntu-24.04-Qt-6.7.2.deb
346- path : release-artifacts/
347-
348- - name : Copy flatpakref
349- run : |
350- cp .CI/chatterino-nightly.flatpakref release-artifacts/
351- shell : bash
330+ # # Linux
331+ # - uses: actions/download-artifact@v5
332+ # name: Ubuntu 20.04 deb
333+ # with:
334+ # name: Chatterino-ubuntu-20.04-Qt-6.7.2.deb
335+ # path: release-artifacts/
336+
337+ # - uses: actions/download-artifact@v5
338+ # name: Ubuntu 22.04 deb
339+ # with:
340+ # name: Chatterino-ubuntu-22.04-Qt-6.7.2.deb
341+ # path: release-artifacts/
342+
343+ # - uses: actions/download-artifact@v5
344+ # name: Ubuntu 24.04 deb
345+ # with:
346+ # name: Chatterino-ubuntu-24.04-Qt-6.7.2.deb
347+ # path: release-artifacts/
348+
349+ # - name: Copy flatpakref
350+ # run: |
351+ # cp .CI/chatterino-nightly.flatpakref release-artifacts/
352+ # shell: bash
352353
353354 - name : Setup Python
354355 uses : actions/setup-python@v6
0 commit comments