Skip to content

Support GitHub branch-ignore and path trigger filters #116

Description

@gjkim42

Context

GitHub Actions supports branches-ignore, paths, and paths-ignore filters for applicable push and pull_request events, with documented glob ordering, filter-combination rules, and changed-file diff behavior.

Open Actions rejects these keys as unsupported event filters, so otherwise valid workflows fail discovery. Push tag filters are tracked separately in #21.

Goal

Select workflow runs with the same branch and changed-path filtering behavior as GitHub Actions.

Acceptance criteria

  • Parse and validate branches-ignore, paths, and paths-ignore only on the events where GitHub supports them.
  • Enforce documented mutual-exclusion and combination rules for positive and ignore filters.
  • Implement GitHub-compatible ordered glob and negative-pattern behavior.
  • Combine branch or tag filters with path filters using GitHub-compatible AND semantics.
  • Compute changed files using the documented two-dot, three-dot, and new-branch comparisons for each event type.
  • Match documented behavior for deletions, renames, empty diffs, diff timeouts, commit-count thresholds, and changed-file limits.
  • Preserve the documented observable check state when a required workflow is skipped by a filter.
  • Add webhook and matching tests for push and pull request events, including negative patterns and the documented diff limits.
  • Document supported syntax and link to Support push tag filters #21 for tag filter completion.

References:

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions