ci: only run on specific paths

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>
This commit is contained in:
Seth Flynn 2025-04-29 23:48:42 -04:00
parent f086233186
commit dc3a8dcfed
No known key found for this signature in database
GPG Key ID: D31BD0D494BBEE86
4 changed files with 152 additions and 93 deletions

View File

@ -2,37 +2,48 @@ name: "CodeQL Code Scanning"
on:
push:
# NOTE: `!` doesn't work with `paths-ignore` :(
# So we a catch-all glob instead
# https://github.com/orgs/community/discussions/25369#discussioncomment-3247674
paths:
- "**"
- "!.github/**"
- ".github/workflows/codeql.yml"
- "!flatpak/"
- "!nix/"
- "!scripts/"
# File types
- "**.cpp"
- "**.h"
- "**.java"
- "!.git*"
- "!.envrc"
- "!**.md"
# Directories
- "buildconfig/"
- "cmake/"
- "launcher/"
- "libraries/"
- "program_info/"
- "tests/"
# Files
- "CMakeLists.txt"
- "COPYING.md"
- "!renovate.json"
# Workflows
- ".github/codeql"
- ".github/workflows/codeql.yml"
pull_request:
# See above
paths:
- "**"
- "!.github/**"
- ".github/workflows/codeql.yml"
- "!flatpak/"
- "!nix/"
- "!scripts/"
# File types
- "**.cpp"
- "**.h"
- "!.git*"
- "!.envrc"
- "!**.md"
# Directories
- "buildconfig/"
- "cmake/"
- "launcher/"
- "libraries/"
- "program_info/"
- "tests/"
# Files
- "CMakeLists.txt"
- "COPYING.md"
- "!renovate.json"
# Workflows
- ".github/codeql"
- ".github/workflows/codeql.yml"
workflow_dispatch:
jobs:

View File

@ -5,35 +5,52 @@ on:
# We don't do anything with these artifacts on releases. They go to Flathub
tags-ignore:
- "*"
# NOTE: `!` doesn't work with `paths-ignore` :(
# So we a catch-all glob instead
# https://github.com/orgs/community/discussions/25369#discussioncomment-3247674
paths:
- "**"
- "!.github/**"
- ".github/workflows/flatpak.yml"
- "!nix/"
- "!scripts/"
# File types
- "**.cpp"
- "**.h"
- "**.java"
- "!.git*"
- "!.envrc"
- "!**.md"
# Build files
- "flatpak/"
# Directories
- "buildconfig/"
- "cmake/"
- "launcher/"
- "libraries/"
- "program_info/"
- "tests/"
# Files
- "CMakeLists.txt"
- "COPYING.md"
- "!renovate.json"
# Workflows
- ".github/workflows/flatpak.yml"
pull_request:
# See above
paths:
- "**"
- "!.github/**"
- ".github/workflows/flatpak.yml"
- "!nix/"
- "!scripts/"
# File types
- "**.cpp"
- "**.h"
- "!.git*"
- "!.envrc"
- "!**.md"
# Build files
- "flatpak/"
# Directories
- "buildconfig/"
- "cmake/"
- "launcher/"
- "libraries/"
- "program_info/"
- "tests/"
# Files
- "CMakeLists.txt"
- "COPYING.md"
- "!renovate.json"
# Workflows
- ".github/workflows/flatpak.yml"
workflow_dispatch:
permissions:

View File

@ -4,34 +4,56 @@ on:
push:
tags:
- "*"
# NOTE: `!` doesn't work with `paths-ignore` :(
# So we a catch-all glob instead
# https://github.com/orgs/community/discussions/25369#discussioncomment-3247674
paths:
- "**"
- "!.github/**"
- ".github/workflows/nix.yml"
- "!flatpak/"
- "!scripts/"
# File types
- "**.cpp"
- "**.h"
- "**.java"
- "!.git*"
- "!.envrc"
- "!**.md"
# Build files
- "**.nix"
- "nix/"
- "flake.lock"
# Directories
- "buildconfig/"
- "cmake/"
- "launcher/"
- "libraries/"
- "program_info/"
- "tests/"
# Files
- "CMakeLists.txt"
- "COPYING.md"
- "!renovate.json"
# Workflows
- ".github/workflows/nix.yml"
pull_request_target:
paths:
- "**"
- "!.github/**"
- ".github/workflows/nix.yml"
- "!flatpak/"
- "!scripts/"
# File types
- "**.cpp"
- "**.h"
- "!.git*"
- "!.envrc"
- "!**.md"
# Build files
- "**.nix"
- "nix/"
- "flake.lock"
# Directories
- "buildconfig/"
- "cmake/"
- "launcher/"
- "libraries/"
- "program_info/"
- "tests/"
# Files
- "CMakeLists.txt"
- "COPYING.md"
- "!renovate.json"
# Workflows
- ".github/workflows/nix.yml"
workflow_dispatch:
permissions:

View File

@ -4,39 +4,48 @@ on:
push:
branches-ignore:
- "renovate/**"
# NOTE: `!` doesn't work with `paths-ignore` :(
# So we a catch-all glob instead
# https://github.com/orgs/community/discussions/25369#discussioncomment-3247674
paths:
- "**"
- "!.github/**"
# File types
- "**.cpp"
- "**.h"
- "**.java"
# Directories
- "buildconfig/"
- "cmake/"
- "launcher/"
- "libraries/"
- "program_info/"
- "tests/"
# Files
- "CMakeLists.txt"
- "COPYING.md"
# Workflows
- ".github/workflows/build.yml"
- ".github/workflows/trigger_builds.yml"
- "!flatpak/"
- "!nix/"
- "!scripts/"
- "!.git*"
- "!.envrc"
- "!**.md"
- "COPYING.md"
- "!renovate.json"
pull_request:
# See above
paths:
- "**"
- "!.github/**"
# File types
- "**.cpp"
- "**.h"
# Directories
- "buildconfig/"
- "cmake/"
- "launcher/"
- "libraries/"
- "program_info/"
- "tests/"
# Files
- "CMakeLists.txt"
- "COPYING.md"
# Workflows
- ".github/workflows/build.yml"
- ".github/workflows/trigger_builds.yml"
- "!flatpak/"
- "!nix/"
- "!scripts/"
- "!.git*"
- "!.envrc"
- "!**.md"
- "COPYING.md"
- "!renovate.json"
workflow_dispatch:
jobs: