
This avoids the previously applied paths-ignore exception workaround, and makes runs as strict as (reasonably) possible. Only directories known to affect builds will trigger builds, as well as any `.cpp` or `.h` files to account for any new folders created - though these should still be added to the workflow later Signed-off-by: Seth Flynn <getchoo@tuta.io>
95 lines
1.8 KiB
YAML
95 lines
1.8 KiB
YAML
name: Flatpak
|
|
|
|
on:
|
|
push:
|
|
# We don't do anything with these artifacts on releases. They go to Flathub
|
|
tags-ignore:
|
|
- "*"
|
|
paths:
|
|
# File types
|
|
- "**.cpp"
|
|
- "**.h"
|
|
- "**.java"
|
|
|
|
# Build files
|
|
- "flatpak/"
|
|
|
|
# Directories
|
|
- "buildconfig/"
|
|
- "cmake/"
|
|
- "launcher/"
|
|
- "libraries/"
|
|
- "program_info/"
|
|
- "tests/"
|
|
|
|
# Files
|
|
- "CMakeLists.txt"
|
|
- "COPYING.md"
|
|
|
|
# Workflows
|
|
- ".github/workflows/flatpak.yml"
|
|
pull_request:
|
|
paths:
|
|
# File types
|
|
- "**.cpp"
|
|
- "**.h"
|
|
|
|
# Build files
|
|
- "flatpak/"
|
|
|
|
# Directories
|
|
- "buildconfig/"
|
|
- "cmake/"
|
|
- "launcher/"
|
|
- "libraries/"
|
|
- "program_info/"
|
|
- "tests/"
|
|
|
|
# Files
|
|
- "CMakeLists.txt"
|
|
- "COPYING.md"
|
|
|
|
# Workflows
|
|
- ".github/workflows/flatpak.yml"
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
build:
|
|
name: Build (${{ matrix.arch }})
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-22.04
|
|
arch: x86_64
|
|
|
|
- os: ubuntu-22.04-arm
|
|
arch: aarch64
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
container:
|
|
image: ghcr.io/flathub-infra/flatpak-github-actions:kde-6.8
|
|
options: --privileged
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Set short version
|
|
shell: bash
|
|
run: |
|
|
echo "VERSION=${GITHUB_SHA::7}" >> "$GITHUB_ENV"
|
|
|
|
- name: Build Flatpak
|
|
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
|
with:
|
|
bundle: PrismLauncher-${{ runner.os }}-${{ env.VERSION }}-Flatpak.flatpak
|
|
manifest-path: flatpak/org.prismlauncher.PrismLauncher.yml
|
|
arch: ${{ matrix.arch }}
|