Skip to content

Improve PR builder - #4181

Closed
ThaminduDilshan wants to merge 1 commit into
thunder-id:mainfrom
ThaminduDilshan:thamindu-build
Closed

Improve PR builder#4181
ThaminduDilshan wants to merge 1 commit into
thunder-id:mainfrom
ThaminduDilshan:thamindu-build

Conversation

@ThaminduDilshan

@ThaminduDilshan ThaminduDilshan commented Jul 20, 2026

Copy link
Copy Markdown
Member

Purpose

This pull request introduces several improvements to the CI workflows, focusing on caching and better separation of linting jobs. The main highlights are enhanced caching for dependencies and splitting frontend/backend linting for more granular feedback and performance.

Approach

CI Workflow Improvements:

  • Added caching for Go modules and Playwright browsers to speed up CI runs and reduce redundant downloads (.github/workflows/pr-builder.yml, .github/actions/setup-playwright/action.yml)
  • Split the lint job into lint-backend and lint-frontend for clearer separation and potentially faster feedback (.github/workflows/pr-builder.yml)

Frontend Build Consistency:

  • Standardized frontend build steps to use pnpm build:packages from the frontend directory for all relevant jobs, improving consistency and reliability (.github/workflows/pr-builder.yml)

Related Issues

  • N/A

Related PRs

  • N/A

Checklist

  • Followed the contribution guidelines.
  • Manual test round performed and verified.
  • Documentation provided. (Add links if there are any)
    • Ran Vale and fixed all errors and warnings
  • Tests provided. (Add links if there are any)
    • Unit Tests
    • Integration Tests
  • Breaking changes. (Fill if applicable)
    • Breaking changes section filled.
    • breaking change label added.

Security checks

  • Followed secure coding standards in WSO2 Secure Coding Guidelines
  • Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets.

Summary by CodeRabbit

  • Chores
    • Improved Playwright and Go dependency caching to speed up automated checks.
    • Standardized Node.js and pnpm setup across workflows.
    • Split linting into dedicated backend and frontend checks.
    • Updated frontend validation and end-to-end workflows to build shared packages more efficiently.
    • Added clearer frontend formatting, linting, and package build verification.

@ThaminduDilshan ThaminduDilshan added the skip-changelog Skip generating changelog for a particular PR label Jul 20, 2026
@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 529b70ee-35fe-4ce6-b081-91d4625229c1

📥 Commits

Reviewing files that changed from the base of the PR and between a7d9f82 and e95e11c.

📒 Files selected for processing (3)
  • .github/actions/setup-playwright/action.yml
  • .github/actions/setup-pnpm/action.yml
  • .github/workflows/pr-builder.yml
🚧 Files skipped from review as they are similar to previous changes (3)
  • .github/actions/setup-playwright/action.yml
  • .github/actions/setup-pnpm/action.yml
  • .github/workflows/pr-builder.yml

📝 Walkthrough

Walkthrough

CI setup now caches Playwright and Go artifacts, separates backend and frontend linting, builds frontend packages in affected jobs, and centralizes pnpm and Node.js setup.

Changes

CI maintenance

Layer / File(s) Summary
Playwright cache and installation flow
.github/actions/setup-playwright/action.yml
Playwright browser artifacts are cached, with installation commands selected based on cache status.
Shared package manager setup
.github/actions/setup-pnpm/action.yml, .github/workflows/pr-builder.yml
The shared pnpm action configures pnpm before the local Node.js setup action, and the E2E job adopts it.
Workflow validation and build updates
.github/workflows/pr-builder.yml
Go module caching is added, linting is split into backend and frontend jobs, and frontend checks build packages instead of applications.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers: copilot

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title is concise but too generic to clearly describe the main CI workflow changes. Use a more specific title that names the primary change, such as caching and lint job split in PR builder.
✅ Passed checks (4 passed)
Check name Status Explanation
Description check ✅ Passed The description matches the template well and includes purpose, approach, related items, checklist, and security checks.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

Review ran into problems

🔥 Problems

Git: Failed to clone repository. Please run the @coderabbitai full review command to re-trigger a full review. If the issue persists, set path_filters to include or exclude specific files.


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

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

@codecov

codecov Bot commented Jul 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copilot AI review requested due to automatic review settings July 21, 2026 07:50

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

This PR improves the PR-builder CI workflow by adding dependency caching, splitting linting into backend/frontend jobs for clearer feedback, and standardizing frontend build steps used across jobs.

Changes:

  • Added caching for Go modules (actions/cache) in relevant Go jobs and introduced Playwright browser caching in the composite setup action.
  • Split linting into separate lint-backend and lint-frontend jobs for more granular reporting and shorter timeouts.
  • Standardized various frontend CI jobs to build via pnpm build:packages from the frontend/ workspace.

Reviewed changes

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

File Description
build.sh Removes a stray blank/whitespace-only line in the integration test function.
build.ps1 Removes a stray blank/whitespace-only line in the integration test function.
.github/workflows/pr-builder.yml Adds Go module caching, splits lint jobs, and standardizes frontend build steps for CI jobs.
.github/actions/setup-playwright/action.yml Adds Playwright browser caching and adjusts install behavior based on cache hits.

Comment thread .github/workflows/pr-builder.yml Outdated
Comment on lines +81 to +82
- name: �️ Cache Go Modules
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
Comment thread .github/workflows/pr-builder.yml Outdated
Comment on lines 91 to 92
- name: �🔧 Install Mockery
run: make install-mockery
Comment on lines +34 to +39
run: |
if [ "${{ steps.playwright-cache.outputs.cache-hit }}" = "true" ]; then
pnpm exec playwright install-deps ${{ inputs.browsers }}
else
pnpm exec playwright install --with-deps ${{ inputs.browsers }}
fi
Copilot AI review requested due to automatic review settings July 21, 2026 12:13

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

Copilot reviewed 3 out of 5 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (2)

.github/workflows/pr-builder.yml:81

  • This step name contains a Unicode replacement character (�), which usually indicates a broken/incorrect file encoding. Replace it with the intended emoji (or plain text) so the workflow UI renders correctly.
      - name: �️ Cache Go Modules

.github/workflows/pr-builder.yml:91

  • This step name contains a Unicode replacement character (�), which usually indicates a broken/incorrect file encoding. Replace it with the intended emoji (or plain text) so the workflow UI renders correctly.
      - name: �🔧 Install Mockery

Copilot AI review requested due to automatic review settings July 21, 2026 13:16

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

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

Comment on lines +654 to +657
- name: ⚙️ Set up Node.js and pnpm
uses: ./.github/actions/setup-pnpm
with:
run_install: false
cache_dependency_path: pnpm-lock.yaml
version: ${{ env.PNPM_VERSION }}
node-version: ${{ env.NODE_VERSION }}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog Skip generating changelog for a particular PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants