From 33a7f4f1ea94192fb1bdfff98f31d41584372184 Mon Sep 17 00:00:00 2001 From: jo-hannes Date: Sat, 26 Oct 2024 20:42:41 +0200 Subject: [PATCH] Add Linux builds --- .github/workflows/release.yml | 52 +++++++++++++++++++++++++++++++++++ pack/CMakeLists.txt | 2 +- 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1ca8663..1ac8c4f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -42,3 +42,55 @@ jobs: name: macOS_installer path: ${{ steps.strings.outputs.build-output-dir }}/Aqua-mixtura-*-Darwin.dmg retention-days: 5 + + build-linux: + name: Release builds for Linux + strategy: + fail-fast: false + matrix: + os: ["debian:12", "ubuntu:24.04", "opensuse/tumbleweed"] + include: + - os: debian:12 + install-deps: apt-get update && apt-get -y install git build-essential cmake qt6-base-dev qt6-tools-dev + pkg-file: Aqua-mixtura-*.deb + - os: ubuntu:24.04 + install-deps: apt-get update && apt-get -y install git build-essential cmake qt6-base-dev qt6-tools-dev + pkg-file: Aqua-mixtura-*.deb +# TODO fix dependence install on fedora +# - os: fedora:42 +# install-deps: dnf -y install lsb_release git cmake make automake gcc gcc-c++ qt6-qtbase-devel qt6-linguist qt6-qttools-devel rpm-build +# pkg-file: Aqua-mixtura-*.rpm + - os: opensuse/tumbleweed + install-deps: zypper install -y lsb-release git cmake make automake gcc gcc-c++ rpm-build qt6-base-devel qt6-tools-linguist qt6-linguist-devel + pkg-file: Aqua-mixtura-*.rpm + runs-on: ubuntu-latest + container: + image: ${{ matrix.os }} + + steps: + - name: Install dependencies + run: ${{ matrix.install-deps }} + + - name: Checkout sources + uses: actions/checkout@v4 + + - name: Set reusable strings + # Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file. + id: strings + shell: bash + run: echo "build-output-dir=${GITHUB_WORKSPACE}/build" >> "$GITHUB_OUTPUT" + + - name: Configure CMake + run: cmake -S ${GITHUB_WORKSPACE} -B ${{ steps.strings.outputs.build-output-dir }} + + - name: Build and package + run: cmake --build ${{ steps.strings.outputs.build-output-dir }} --target package + + - name: Upload package + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.os }}_package + path: ${{ steps.strings.outputs.build-output-dir }}/${{ matrix.pkg-file }} + retention-days: 5 + + diff --git a/pack/CMakeLists.txt b/pack/CMakeLists.txt index 6967db9..64e8e95 100644 --- a/pack/CMakeLists.txt +++ b/pack/CMakeLists.txt @@ -13,7 +13,7 @@ elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux") # special assets for linux # desktop file install(FILES - aqua-mixtura.desktop + ${PROJECT_SOURCE_DIR}/pack/aqua-mixtura.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications) # icon install(FILES