Skip to content

chore: merge develop to main#63

Merged
ferr3ira-gabriel merged 2 commits intomainfrom
develop
Dec 23, 2025
Merged

chore: merge develop to main#63
ferr3ira-gabriel merged 2 commits intomainfrom
develop

Conversation

@ferr3ira-gabriel
Copy link
Copy Markdown
Member

@ferr3ira-gabriel ferr3ira-gabriel commented Dec 23, 2025

Summary

Merges develop branch to main, including the new frontend-pr-analysis workflow.

Changes Included

Summary by CodeRabbit

  • New Features

    • Added Frontend PR Analysis workflow for automated frontend monorepo CI/CD, including change detection, per-app linting, type checking, security audits, testing with coverage, and build verification.
  • Documentation

    • Added comprehensive workflow documentation and updated README with feature overview.

✏️ Tip: You can customize this high-level summary in your review settings.

ferr3ira-gabriel and others added 2 commits December 23, 2025 12:32
Add comprehensive Frontend/Node.js PR analysis workflow equivalent to go-pr-analysis.yml.

Features:
- Change detection for monorepo and single-app repositories
- ESLint for code quality with configurable arguments
- TypeScript type checking (tsc --noEmit)
- npm audit for security vulnerabilities
- Jest/Vitest unit tests with coverage
- Coverage threshold enforcement with PR comments
- Build verification
- Slack notifications on failure
- Support for npm, yarn, and pnpm package managers
- Matrix-based parallel job execution per changed app

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
feat: add frontend-pr-analysis reusable workflow
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Dec 23, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

This pull request introduces a reusable GitHub Actions workflow for comprehensive frontend/Node.js CI on monorepos. The workflow includes change detection, per-app matrix execution, ESLint linting, TypeScript type checking, npm/yarn/pnpm security audits, unit tests with coverage collection, coverage threshold enforcement with PR comments, build verification, and Slack notifications. Documentation files describe workflow stages, configuration options, and usage patterns for both single-app and monorepo repositories. The workflow supports multiple package managers and generates dynamic per-app matrices based on detected changes.

Sequence Diagram

sequenceDiagram
    actor PR as PR Trigger
    participant WF as Frontend PR Analysis<br/>(Workflow)
    participant DC as Detect Changes<br/>(Job)
    participant Matrix as Per-App Matrix<br/>(Dynamic)
    participant Lint as Lint<br/>(Job)
    participant TypeCheck as Type Check<br/>(Job)
    participant Security as Security Audit<br/>(Job)
    participant Tests as Tests + Coverage<br/>(Job)
    participant Coverage as Coverage<br/>(Job)
    participant Build as Build<br/>(Job)
    participant Notify as Notify<br/>(Job)
    participant Slack as Slack<br/>(External)

    PR->>WF: Trigger on PR
    
    WF->>DC: Start: Detect changed files
    DC-->>Matrix: Output: has_changes flag +<br/>app matrix
    
    alt has_changes == true
        Matrix->>Lint: For each app in matrix
        Lint-->>Lint: Run ESLint per app
        
        Matrix->>TypeCheck: For each app in matrix
        TypeCheck-->>TypeCheck: Run TypeScript compiler
        
        Matrix->>Security: For each app in matrix
        Security-->>Security: Run npm/yarn audit
        
        Matrix->>Tests: For each app in matrix
        Tests-->>Tests: Run tests + collect coverage
        Tests->>Coverage: Upload coverage artifacts
        
        Coverage->>Coverage: Download artifacts +<br/>parse metrics
        Coverage->>PR: Post coverage table +<br/>summary comment
        Coverage-->>Coverage: Check threshold<br/>(optional fail)
        
        Matrix->>Build: For each app in matrix
        Build-->>Build: Build each app
    else has_changes == false
        WF->>WF: No Changes: skip processing
    end
    
    Lint-->>Notify: Collect status (passed/failed)
    TypeCheck-->>Notify: Collect status
    Security-->>Notify: Collect status
    Tests-->>Notify: Collect status
    Coverage-->>Notify: Collect status
    Build-->>Notify: Collect status
    
    Notify->>Slack: Post aggregated results
    Slack-->>Notify: Acknowledgment
Loading

Possibly related PRs

Suggested labels

30 min review

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch develop

📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 576ddb6 and e69186d.

📒 Files selected for processing (3)
  • .github/workflows/frontend-pr-analysis.yml
  • README.md
  • docs/frontend-pr-analysis-workflow.md

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

@ferr3ira-gabriel ferr3ira-gabriel merged commit 966d65c into main Dec 23, 2025
3 of 4 checks passed
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.

1 participant