Skip to content

Optimize CI workflows: combine lint/prettier, add path filters#552

Draft
bracyw wants to merge 4 commits intodevelopfrom
229-optimize-workflows
Draft

Optimize CI workflows: combine lint/prettier, add path filters#552
bracyw wants to merge 4 commits intodevelopfrom
229-optimize-workflows

Conversation

@bracyw
Copy link
Copy Markdown
Collaborator

@bracyw bracyw commented Mar 29, 2026

Changes

Combined the separate lint-check and prettier-check workflows into a single client-ci.yml that shares one checkout/setup/install step. Added path filters to all workflows so they only trigger when relevant source directories change. Switched from Docker Compose v1 to v2 (pre-installed on GH Actions runners), swapped npm install for npm ci, and fixed the --max-warnings=0 flag passthrough to ng lint by adding a -- separator. Also bumped Node from 18.17.1 to 20.17.0 in the client workflow.

Test Cases

  • Push a change touching only angular-client — only client-ci.yml and build-check.yml should run, not scylla-ci.yml
  • Push a change touching only scylla-server — only scylla-ci.yml and build-check.yml should run, not client-ci.yml
  • Push a change touching only docs or non-source files — no CI workflows should trigger
  • Edit a workflow file itself — that workflow should trigger via its self-path filter
  • Verify lint --max-warnings=0 flag correctly fails CI when warnings are present

Checklist

  • All commits are tagged with the ticket number
  • No linting errors / newline at end of file warnings
  • All code follows repository-configured prettier formatting
  • No merge conflicts
  • All checks passing
  • Assign the PR to yourself
  • No package-lock.json changes (unless dependencies have changed)
  • Request reviewers & ping on Slack
  • PR is linked to the ticket

Closes #229

bracyw and others added 4 commits March 12, 2026 05:46
- Combine lint-check.yml and prettier-check.yml into a single client-ci.yml
  that runs both checks in one job (single npm install), with path filter
  on angular-client/ so it only triggers on client changes
- Add scylla-server/ path filter to scylla-ci.yml so it skips on
  unrelated changes
- Add path filters to build-check.yml (angular-client/, scylla-server/,
  compose/) to skip Docker Compose builds on unrelated changes
- Standardize Node.js version to 20.17.0 (was 18.17.1 for prettier)
- Use npm ci instead of npm install for faster, deterministic installs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bracyw bracyw self-assigned this Mar 29, 2026
@bracyw bracyw marked this pull request as draft March 29, 2026 18:34
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.

Optimize workflows

1 participant