Skip to content

chore(workflows): audit — add path filters, drop dead workflows - #5280

Merged
leaanthony merged 1 commit into
masterfrom
chore/workflow-audit
Apr 29, 2026
Merged

leaanthony merged 1 commit into
masterfrom
chore/workflow-audit

Conversation

@leaanthony

@leaanthony leaanthony commented Apr 29, 2026 •

Copy link
Copy Markdown
Member

Summary

First-pass workflow audit after the v3-alpha → master merge. Now that v2 and v3 share master, every push or PR fires both v2 and v3 pipelines unless we narrow the triggers. Plus several workflows were dead, redundant, or broken.

Path filters added

Each of these now only fires when its scope actually changes (each list also includes the workflow's own .yml so edits to the workflow trigger a re-run):

Workflow Now scoped to
build-and-test.yml v2/**
build-and-test-v3.yml v3/**
cross-compile-test-v3.yml v3/**
publish-npm.yml v3/internal/runtime/desktop/@wailsio/runtime/**
upload-source-documents.yml website/docs/**

Workflows deleted

File Reason
runtime.yml Triggered on push to v2-alpha — a branch that never existed; dead since 2022
projects.yml Uses project_card event from deprecated GitHub Projects (classic); never fires
test-simple.yml Debug placeholder, only echoes "Hello World"
automated-releases.yml Fails on every push and is redundant with nightly-release-v3.yml
claude-code-review.yml Depends on ANTHROPIC_API_KEY secret that isn't configured; fails on every PR

Other fixes

  • semgrep.yml — drop - main from the branches list (this repo's default branch is master)

Known follow-up

unreleased-changelog-trigger.yml is failing on every push with zero job output — looks like a YAML/permissions issue at the run-attempt layer. Needs separate investigation. The intent (auto-trigger nightly-release-v3 when v3/UNRELEASED_CHANGELOG.md updates) is still wanted, just not fixed in this PR.

Test plan

  • Trivial PR touching v2/... triggers Build + Test v2 and not v3 jobs.
  • Trivial PR touching v3/... triggers Build + Test v3 and not v2 jobs.
  • Trivial PR touching website/docs/... triggers Upload Source Documents (after merge) and pr-master.yml checks.
  • Trivial PR touching neither triggers neither (e.g. a docs-only PR doesn't run Go tests).

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Optimized GitHub Actions workflows with targeted path filters to improve CI/CD efficiency—builds and tests now run only when relevant code changes are detected, reducing unnecessary workflow executions.
    • Removed obsolete automation workflows including deprecated code review and release management systems.

Now that v2 and v3 share master, every push fires both v2 and v3
test suites unless we narrow the triggers. This audit pass:

Path filters added so each workflow only runs when its scope changes:
- build-and-test.yml             -> v2/**
- build-and-test-v3.yml          -> v3/**
- cross-compile-test-v3.yml      -> v3/**
- publish-npm.yml                -> v3/internal/runtime/desktop/@wailsio/runtime/**
- upload-source-documents.yml    -> website/docs/**
(each also includes its own .yml so workflow edits still trigger.)

Workflows deleted (dead, redundant, or broken):
- runtime.yml             — triggered on push to v2-alpha, a branch
                            that never existed; dead since 2022.
- projects.yml            — uses project_card event (legacy GitHub
                            Projects classic); never fires.
- test-simple.yml         — debug placeholder, only echoes "Hello World".
- automated-releases.yml  — fails on every push and is redundant with
                            nightly-release-v3.yml (both publish v3
                            alpha releases). Keeping the simpler one.
- claude-code-review.yml  — depends on an ANTHROPIC_API_KEY secret
                            that isn't configured; fails on every PR.

Other fixes:
- semgrep.yml: drop `- main` from the branches list (this repo's
  default branch is master; `main` doesn't exist).

Known follow-up not in this PR:
- unreleased-changelog-trigger.yml is failing on every push but with
  zero job output — likely a YAML/permissions issue at the run-attempt
  layer. Needs separate investigation.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 29, 2026 13:28
@leaanthony
leaanthony merged commit effc39e into master Apr 29, 2026
16 of 17 checks passed
@leaanthony
leaanthony deleted the chore/workflow-audit branch April 29, 2026 13:29
pull Bot pushed a commit to oi2996814/wails that referenced this pull request Apr 29, 2026
…ws): audit — add path filters, drop dead workflows
@coderabbitai

coderabbitai Bot commented Apr 29, 2026 •

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: c9e8bd76-4551-431f-a7e8-6a9c495db55b

📥 Commits

Reviewing files that changed from the base of the PR and between 053019a and 90acd9d.

📒 Files selected for processing (11)
  • .github/workflows/automated-releases.yml
  • .github/workflows/build-and-test-v3.yml
  • .github/workflows/build-and-test.yml
  • .github/workflows/claude-code-review.yml
  • .github/workflows/cross-compile-test-v3.yml
  • .github/workflows/projects.yml
  • .github/workflows/publish-npm.yml
  • .github/workflows/runtime.yml
  • .github/workflows/semgrep.yml
  • .github/workflows/test-simple.yml
  • .github/workflows/upload-source-documents.yml

Walkthrough

This PR modifies GitHub Actions workflows by deleting 5 unused workflows and adding path-based trigger constraints to 6 others to limit execution to relevant file changes. One workflow also removes an obsolete branch from its trigger conditions.

Changes

Cohort / File(s) Summary
Deleted Workflows
.github/workflows/automated-releases.yml, .github/workflows/claude-code-review.yml, .github/workflows/projects.yml, .github/workflows/runtime.yml, .github/workflows/test-simple.yml
Removed 5 unused or legacy workflow files including nightly release automation, Claude code review integration, project card labeling, v2-alpha runtime building, and a test stub workflow.
Build & Test Trigger Constraints
.github/workflows/build-and-test.yml, .github/workflows/build-and-test-v3.yml, .github/workflows/cross-compile-test-v3.yml
Added paths filters to restrict workflow execution: v2 builds trigger only on v2/** changes, v3 builds on v3/** changes, and cross-compile tests on v3/** or workflow modifications.
Publishing Workflows (Path Filtering)
.github/workflows/publish-npm.yml, .github/workflows/upload-source-documents.yml
Added paths constraints to limit NPM package publishing to v3/internal/runtime/desktop/@wailsio/runtime/** changes and documentation uploads to website/docs/** changes.
CI Configuration Updates
.github/workflows/semgrep.yml
Removed main branch from push trigger, retaining master as the sole push branch for security scanning.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐰 Old workflows fade and paths align,
Each trigger knows its domain fine,
Lean pipelines run just where they're needed,
CI keeps the repo speedy! ✨

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/workflow-audit

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 7/8 reviews remaining, refill in 7 minutes and 30 seconds.

Comment @coderabbitai help to get the list of available commands and usage tips.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Audits GitHub Actions workflows after the v3-alpha → master merge to reduce unnecessary CI runs by scoping workflows to relevant paths and removing dead/redundant workflows.

Changes:

  • Added paths filters to several workflows so they only trigger when their corresponding areas change.
  • Removed multiple obsolete/broken workflows that no longer run or are redundant.
  • Updated semgrep.yml to stop targeting the non-default main branch.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
.github/workflows/upload-source-documents.yml Adds path scoping for the Crowdin source upload workflow.
.github/workflows/test-simple.yml Removes a placeholder “Hello World” workflow.
.github/workflows/semgrep.yml Removes main from push branches, leaving master.
.github/workflows/runtime.yml Removes a dead workflow targeting a non-existent branch.
.github/workflows/publish-npm.yml Adds path scoping for the v3 runtime npm publish workflow.
.github/workflows/projects.yml Removes a deprecated GitHub Projects (classic) workflow.
.github/workflows/cross-compile-test-v3.yml Adds path scoping for the v3 cross-compile workflow.
.github/workflows/claude-code-review.yml Removes a workflow dependent on unconfigured secrets.
.github/workflows/build-and-test.yml Adds path scoping for the v2 build/test workflow.
.github/workflows/build-and-test-v3.yml Adds path scoping for the v3 build/test workflow.
.github/workflows/automated-releases.yml Removes a redundant/broken automated release workflow.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 4 to +10
pull_request_review:
types: [submitted]
branches:
- master
paths:
- 'v3/**'
- '.github/workflows/cross-compile-test-v3.yml'
push:
branches: [master]
paths:
- 'website/docs/**'
push:
branches: ['master']
paths:
- 'v3/internal/runtime/desktop/@wailsio/runtime/**'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants