--- 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: - 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: ubuntu-latest-QtCache-${{ matrix.qt-version }}-20210109 # LINUX - name: Install p7zip (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) 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: matrix.build-system == 'qmake' run: | mkdir build cd build qmake PREFIX=/usr .. make -j8 shell: bash - name: Build with CMake (Ubuntu) if: 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) run: | cd build sh ./../.CI/CreateAppImage.sh shell: bash - name: Package - .deb (Ubuntu) run: | cd build sh ./../.CI/CreateUbuntuDeb.sh shell: bash - name: Upload artifact - AppImage (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) uses: actions/upload-artifact@v2.3.1 with: name: Chatterino-${{ matrix.qt-version }}-${{ matrix.build-system }}.deb path: build/Chatterino.deb