name: Build Check on: push: branches: [master] pull_request: branches: [master] jobs: build-ubuntu: name: ${{ matrix.config.name }} runs-on: ${{ matrix.config.os }} strategy: fail-fast: false matrix: config: - { name: "Ubuntu 18.04", os: ubuntu-18.04, options: { ZEAL_PORTABLE_BUILD: "OFF" }, } - { name: "Ubuntu 18.04, Portable", os: ubuntu-18.04, options: { ZEAL_PORTABLE_BUILD: "ON" }, } steps: - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 0 - name: Install Dependencies run: | sudo apt-get -y -qq update sudo apt-get -y -qq --no-install-recommends install \ cmake \ extra-cmake-modules \ libarchive-dev \ libqt5x11extras5-dev \ libsqlite3-dev \ libxcb-keysyms1-dev \ ninja-build \ qt5-default \ qtwebengine5-dev - name: Configure & Build uses: lukka/run-cmake@v3 with: buildDirectory: ${{ runner.workspace }}/build/ cmakeAppendedArgs: >- -G Ninja -DZEAL_PORTABLE_BUILD=${{ matrix.config.options.ZEAL_PORTABLE_BUILD }} cmakeListsOrSettingsJson: CMakeListsTxtAdvanced build-windows: name: ${{ matrix.config.name }} runs-on: ${{ matrix.config.os }} strategy: fail-fast: false matrix: config: - { name: "Windows Server 2019", os: windows-2019, qt_version: '5.15.0', options: { ZEAL_PORTABLE_BUILD: "OFF" }, } - { name: "Windows Server 2019, Portable", os: windows-2019, qt_version: '5.15.0', options: { ZEAL_PORTABLE_BUILD: "ON" }, } steps: - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 0 - name: Prepare vcpkg uses: lukka/run-vcpkg@v6 id: runvcpkg with: vcpkgArguments: libarchive[core] openssl sqlite3 vcpkgDirectory: ${{ runner.workspace }}/vcpkg/ vcpkgGitCommitId: 0bf3923f9fab4001c00f0f429682a0853b5749e0 vcpkgTriplet: x64-windows - name: Cache Qt id: cache-qt uses: actions/cache@v2 with: path: ${{ runner.workspace }}/Qt/ key: ${{ runner.os }}-qt-${{ matrix.config.qt_version }} - name: Install Qt uses: jurplel/install-qt-action@v2 with: arch: win64_msvc2019_64 modules: qtwebengine cached: ${{ steps.cache-qt.outputs.cache-hit }} extra: --external 7z version: ${{ matrix.config.qt_version }} - name: Print Environment run: gci env:* | sort-object name - name: Configure & Build uses: lukka/run-cmake@v3 with: buildDirectory: ${{ runner.workspace }}/build/ cmakeAppendedArgs: >- -G Ninja -DZEAL_PORTABLE_BUILD=${{ matrix.config.options.ZEAL_PORTABLE_BUILD }} cmakeListsOrSettingsJson: CMakeListsTxtAdvanced useVcpkgToolchainFile: true build-appimage: name: AppImage runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 0 - name: Build AppImage uses: ./.github/workflows/appimage/ with: recipe: pkg/appimage/appimage-amd64.yml apt_dependencies: >- build-essential cmake extra-cmake-modules libappindicator-dev libarchive-dev libqt5x11extras5-dev libsqlite3-dev libxcb-keysyms1-dev ninja-build qtbase5-dev qtwebengine5-dev - name: Upload AppImage uses: actions/upload-artifact@v2 with: name: zeal-dev-x86_64.AppImage # TODO: Provide real version. path: zeal-*.AppImage # TODO: Enable for releases. - name: Upload AppImage.zsync uses: actions/upload-artifact@v2 if: github.event_name == 'create' && github.event.ref_type == 'tag' && startsWith(github.ref, 'v') with: name: zeal-dev-x86_64.AppImage.zsync path: zeal-*.AppImage.zsync