diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 865811912..5ac470718 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [windows-latest, ubuntu-latest, macos-latest] + os: [windows-latest, macos-latest] qt-version: [5.15.2, 5.12.10] build-system: [qmake, cmake] pch: [true] @@ -57,11 +57,6 @@ jobs: path: ../Qt key: ${{ runner.os }}-QtCache-${{ matrix.qt-version }}-20210109 - # LINUX - - name: Install p7zip (Ubuntu) - if: startsWith(matrix.os, 'ubuntu') - run: sudo apt-get update && sudo apt-get -y install p7zip-full - - name: Install Qt uses: jurplel/install-qt-action@v2 with: @@ -126,82 +121,6 @@ jobs: name: chatterino-windows-x86-64-${{ matrix.qt-version }}-${{ matrix.build-system }}.zip path: build/chatterino-windows-x86-64.zip - # LINUX - - name: Install dependencies (Ubuntu) - if: startsWith(matrix.os, 'ubuntu') - run: | - sudo apt-get update - sudo apt-get -y install \ - cmake \ - virtualenv \ - rapidjson-dev \ - libssl-dev \ - libboost-dev \ - libxcb-randr0-dev \ - libboost-system-dev \ - libboost-filesystem-dev \ - libpulse-dev \ - libxkbcommon-x11-0 \ - libgstreamer-plugins-base1.0-0 \ - build-essential \ - libgl1-mesa-dev \ - libxcb-icccm4 \ - libxcb-image0 \ - libxcb-keysyms1 \ - libxcb-render-util0 \ - libxcb-xinerama0 - - - name: Build (Ubuntu) - if: startsWith(matrix.os, 'ubuntu') && matrix.build-system == 'qmake' - run: | - mkdir build - cd build - qmake PREFIX=/usr .. - make -j8 - shell: bash - - - name: Build with CMake (Ubuntu) - if: startsWith(matrix.os, 'ubuntu') && matrix.build-system == 'cmake' - run: | - mkdir build - cd build - cmake \ - -DCMAKE_INSTALL_PREFIX=appdir/usr/ \ - -DCMAKE_BUILD_TYPE=Release \ - -DPAJLADA_SETTINGS_USE_BOOST_FILESYSTEM=On \ - -DUSE_PRECOMPILED_HEADERS=${{ matrix.pch }} \ - .. - make -j8 - shell: bash - - - name: Package - AppImage (Ubuntu) - if: startsWith(matrix.os, 'ubuntu') - run: | - cd build - sh ./../.CI/CreateAppImage.sh - shell: bash - - - name: Package - .deb (Ubuntu) - if: startsWith(matrix.os, 'ubuntu') - run: | - cd build - sh ./../.CI/CreateUbuntuDeb.sh - shell: bash - - - name: Upload artifact - AppImage (Ubuntu) - if: startsWith(matrix.os, 'ubuntu') - uses: actions/upload-artifact@v2.3.1 - with: - name: Chatterino-x86_64-${{ matrix.qt-version }}-${{ matrix.build-system }}.AppImage - path: build/Chatterino-x86_64.AppImage - - - name: Upload artifact - .deb (Ubuntu) - if: startsWith(matrix.os, 'ubuntu') - uses: actions/upload-artifact@v2.3.1 - with: - name: Chatterino-${{ matrix.qt-version }}-${{ matrix.build-system }}.deb - path: build/Chatterino.deb - # MACOS - name: Install dependencies (MacOS) if: startsWith(matrix.os, 'macos') diff --git a/.github/workflows/build_on_linux.yml b/.github/workflows/build_on_linux.yml new file mode 100644 index 000000000..6b1cb194e --- /dev/null +++ b/.github/workflows/build_on_linux.yml @@ -0,0 +1,124 @@ +--- +name: Build on Linux + +on: + push: + branches: + - master + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + qt-version: [5.15.2, 5.12.10] + build-system: [qmake, cmake] + pch: [true] + include: + - os: ubuntu-latest + qt-version: 5.15.2 + build-system: cmake + pch: false + + steps: + - uses: actions/checkout@v2.4.0 + with: + submodules: true + fetch-depth: 0 # allows for tags access + + - name: Cache Qt + id: cache-qt + uses: actions/cache@v2.1.7 + with: + path: ../Qt + key: ${{ runner.os }}-QtCache-${{ matrix.qt-version }}-20210109 + + # LINUX + - name: Install p7zip (Ubuntu) + if: startsWith(matrix.os, 'ubuntu') + run: sudo apt-get update && sudo apt-get -y install p7zip-full + + - name: Install Qt + uses: jurplel/install-qt-action@v2 + with: + aqtversion: '==1.1.1' + cached: ${{ steps.cache-qt.outputs.cache-hit }} + extra: --external 7z + version: ${{ matrix.qt-version }} + + - name: Install dependencies (Ubuntu) + if: startsWith(matrix.os, 'ubuntu') + run: | + sudo apt-get update + sudo apt-get -y install \ + cmake \ + virtualenv \ + rapidjson-dev \ + libssl-dev \ + libboost-dev \ + libxcb-randr0-dev \ + libboost-system-dev \ + libboost-filesystem-dev \ + libpulse-dev \ + libxkbcommon-x11-0 \ + libgstreamer-plugins-base1.0-0 \ + build-essential \ + libgl1-mesa-dev \ + libxcb-icccm4 \ + libxcb-image0 \ + libxcb-keysyms1 \ + libxcb-render-util0 \ + libxcb-xinerama0 + + - name: Build (Ubuntu) + if: startsWith(matrix.os, 'ubuntu') && matrix.build-system == 'qmake' + run: | + mkdir build + cd build + qmake PREFIX=/usr .. + make -j8 + shell: bash + + - name: Build with CMake (Ubuntu) + if: startsWith(matrix.os, 'ubuntu') && matrix.build-system == 'cmake' + run: | + mkdir build + cd build + cmake \ + -DCMAKE_INSTALL_PREFIX=appdir/usr/ \ + -DCMAKE_BUILD_TYPE=Release \ + -DPAJLADA_SETTINGS_USE_BOOST_FILESYSTEM=On \ + -DUSE_PRECOMPILED_HEADERS=${{ matrix.pch }} \ + .. + make -j8 + shell: bash + + - name: Package - AppImage (Ubuntu) + if: startsWith(matrix.os, 'ubuntu') + run: | + cd build + sh ./../.CI/CreateAppImage.sh + shell: bash + + - name: Package - .deb (Ubuntu) + if: startsWith(matrix.os, 'ubuntu') + run: | + cd build + sh ./../.CI/CreateUbuntuDeb.sh + shell: bash + + - name: Upload artifact - AppImage (Ubuntu) + if: startsWith(matrix.os, 'ubuntu') + uses: actions/upload-artifact@v2.3.1 + with: + name: Chatterino-x86_64-${{ matrix.qt-version }}-${{ matrix.build-system }}.AppImage + path: build/Chatterino-x86_64.AppImage + + - name: Upload artifact - .deb (Ubuntu) + if: startsWith(matrix.os, 'ubuntu') + uses: actions/upload-artifact@v2.3.1 + with: + name: Chatterino-${{ matrix.qt-version }}-${{ matrix.build-system }}.deb + path: build/Chatterino.deb +