Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions .github/workflows/linux-packaging.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Linux packaging check

on:
pull_request:
paths:
Comment on lines +4 to +5

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Do not path-filter the required packaging check

If Compile Linux release is configured as a required check, as the commit's testing notes prescribe, this workflow is never created for ordinary UI-only PRs because none of these paths match. GitHub leaves checks from path-filtered workflows pending, so those PRs will be blocked from merging rather than merely avoiding the Linux build (GitHub documentation). Trigger the workflow for every PR and conditionally skip only the expensive build job while ensuring the required check reports success.

Useful? React with 👍 / 👎.

- '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
6 changes: 2 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
11 changes: 11 additions & 0 deletions tools/install_linux_build_dependencies.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/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 --print-errors --exists gtk+-3.0 webkit2gtk-4.1 libsecret-1
pkg-config --print-errors --atleast-version=0.18.4 libsecret-1
Loading