Skip to content

Conversation

@priley86
Copy link
Contributor

@priley86 priley86 commented Dec 12, 2025

Pull Request: Add CI Workflow and Fix Build/Lint Issues

Summary

This PR introduces a comprehensive CI/CD pipeline for the monorepo and fixes various build/lint issues discovered during CI implementation.


CI Workflow (ci.yml)

New GitHub Actions Workflow Features:

  • Smart Project Discovery: Automatically detects all projects in the monorepo by scanning for package.json (Node.js), poetry.lock (Poetry), uv.lock (uv), and requirements.txt (pip)
  • Changed File Filtering: Only runs CI on projects that have changes in the current PR/push, reducing unnecessary build time
  • npm Workspace Detection: Automatically excludes workspace member packages (sub-packages in monorepos) from individual builds since they're built by their parent workspace
  • CI Workflow Change Detection: Re-runs all projects if .github/workflows/ci.yml itself is modified
  • Matrix Strategy: Runs builds in parallel across all detected projects using fail-fast: false
  • Environment Setup: Automatically copies .env.example to .env for projects that require environment configuration
  • Graceful Script Handling: Checks if build and lint scripts exist before running them

Supported Project Types:

Type Detection Tool Versions
Node.js package.json (excluding node_modules) Node.js 20
Poetry poetry.lock Python 3.12, Poetry latest
uv uv.lock Python 3.12, uv latest
pip requirements.txt (no lock files) Python 3.12 (or .python-version)

Summary Job: A ci-success job runs after all builds complete to provide a single status check for branch protection rules.


Build/Lint Fixes

TypeScript Frontend Projects

  • Fixed Vite config to use ES module syntax: fileURLToPath(new URL("./src", import.meta.url)) instead of path.resolve(__dirname)
  • Added @types/node to devDependencies
  • Added "types": ["node"] to tsconfig.node.json
  • Removed unused loop variables (e.g., (m, i)(m))
  • Added explicit types to function parameters (e.g., fetchWithCredentials(url: string, options: RequestInit = {}))
  • Fixed malformed type imports (import { Message, type }import type { Message })
  • Relaxed ESLint rules to warnings: @typescript-eslint/no-explicit-any, react-refresh/only-export-components

Python Projects

  • Added poetry.toml, uv.toml, and pip.conf files to configure PyPI as the package index
  • Fixed unused exception variables: except Exception as e:except Exception:
  • Updated auth0-fastapi dependency from >=0.3.0 to >=1.0.0b1

MCP Server Projects

  • Added missing inputSchema to tool definitions in hono-mcp-js
  • Fixed tsconfig.json in nextjs-mcp-js (removed unnecessary outDir/rootDir)
  • Added placeholder values to .env.example files

Missing Dependencies

  • Added @auth0/ai and @auth0/ai-langchain to authorization-for-rag/langchain-next-js
  • Added @tsconfig/recommended to workspace member packages in langchain-react-spa-js

Files Changed

  • New: .github/workflows/ci.yml - CI workflow
  • New: Multiple poetry.toml, uv.toml, pip.conf files for Python package index configuration
  • Modified: ~20+ frontend projects with TypeScript/ESLint fixes
  • Modified: Several Python projects with lint fixes
  • Modified: Multiple .env.example files with placeholder values for CI build purposes

@priley86 priley86 force-pushed the ci-workflow-updates branch 2 times, most recently from 2fdd898 to 7de207b Compare December 12, 2025 18:44
@priley86 priley86 force-pushed the ci-workflow-updates branch from 7de207b to c1771d4 Compare December 12, 2025 18:49
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