From 4859eb181783179e550fd3845e313b2149ef430a Mon Sep 17 00:00:00 2001 From: Karolis Strazdas Date: Tue, 6 Oct 2026 01:12:16 +0300 Subject: [PATCH 1/2] fix: validate all Linux packaging dependencies before release --- .github/workflows/linux-packaging.yml | 38 +++++++++++++++++++++++ .github/workflows/release.yml | 6 ++-- tools/install_linux_build_dependencies.sh | 10 ++++++ 3 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/linux-packaging.yml create mode 100644 tools/install_linux_build_dependencies.sh diff --git a/.github/workflows/linux-packaging.yml b/.github/workflows/linux-packaging.yml new file mode 100644 index 00000000..0cafbecf --- /dev/null +++ b/.github/workflows/linux-packaging.yml @@ -0,0 +1,38 @@ +name: Linux packaging check + +on: + pull_request: + paths: + - 'app/linux/**' + - 'app/pubspec.yaml' + - 'app/pubspec.lock' + - 'tools/install_linux_build_dependencies.sh' + - '.github/workflows/release.yml' + - '.github/workflows/linux-packaging.yml' + +permissions: + contents: read + +concurrency: + group: linux-packaging-${{ github.ref }} + cancel-in-progress: true + +jobs: + linux: + name: Compile Linux release + runs-on: ubuntu-24.04 + defaults: + run: + working-directory: app + steps: + - uses: actions/checkout@v4 + - name: Install Linux dependencies + run: bash ../tools/install_linux_build_dependencies.sh + - uses: subosito/flutter-action@v2 + with: + flutter-version: '3.41.2' + cache: true + - name: Install locked dependencies + run: flutter pub get --enforce-lockfile + - name: Compile Linux release + run: flutter build linux --release diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f5aa5e1e..859acd4e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -159,7 +159,7 @@ jobs: env: PAPYRUS_API_BASE_URL: ${{ vars.PAPYRUS_API_BASE_URL }} POWERSYNC_SERVICE_URL: ${{ vars.POWERSYNC_SERVICE_URL }} - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 defaults: run: working-directory: app @@ -168,9 +168,7 @@ jobs: uses: actions/checkout@v4 - name: Install Linux dependencies - run: | - sudo apt-get update - sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev libwebkit2gtk-4.1-dev liblzma-dev libstdc++-12-dev + run: bash ../tools/install_linux_build_dependencies.sh - name: Setup Flutter uses: subosito/flutter-action@v2 diff --git a/tools/install_linux_build_dependencies.sh b/tools/install_linux_build_dependencies.sh new file mode 100644 index 00000000..6c61064b --- /dev/null +++ b/tools/install_linux_build_dependencies.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -euo pipefail + +sudo apt-get update +sudo apt-get install -y \ + clang cmake ninja-build pkg-config \ + libgtk-3-dev libwebkit2gtk-4.1-dev libsecret-1-dev \ + liblzma-dev libstdc++-12-dev + +pkg-config --exists gtk+-3.0 webkit2gtk-4.1 'libsecret-1>=0.18.4' From 9cfff75b344baea53fe617a8f16268c8517b01b9 Mon Sep 17 00:00:00 2001 From: Karolis Strazdas Date: Tue, 6 Oct 2026 01:14:11 +0300 Subject: [PATCH 2/2] fix: check the libsecret version with explicit pkg-config flags --- tools/install_linux_build_dependencies.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/install_linux_build_dependencies.sh b/tools/install_linux_build_dependencies.sh index 6c61064b..01282345 100644 --- a/tools/install_linux_build_dependencies.sh +++ b/tools/install_linux_build_dependencies.sh @@ -7,4 +7,5 @@ sudo apt-get install -y \ libgtk-3-dev libwebkit2gtk-4.1-dev libsecret-1-dev \ liblzma-dev libstdc++-12-dev -pkg-config --exists gtk+-3.0 webkit2gtk-4.1 'libsecret-1>=0.18.4' +pkg-config --print-errors --exists gtk+-3.0 webkit2gtk-4.1 libsecret-1 +pkg-config --print-errors --atleast-version=0.18.4 libsecret-1