-
Notifications
You must be signed in to change notification settings - Fork 662
ci: add comprehensive build workflow for packages, demos, and integrations #1404
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…tions - Add .github/workflows/build.yml with matrix strategy - Build packages, demos (next-app, vite-project, react-router-app, adonisjs), and integrations (directus) in parallel - Use fail-fast: false to see all build failures - Add build summary job to aggregate results - Enable manual workflow dispatch for testing Fixes lingodotdev#1355
There was a problem hiding this comment.
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 adds a comprehensive CI workflow to validate builds across all packages, demo applications, and integrations in the monorepo. The workflow runs on pushes to main, pull requests, and manual triggers to catch build failures early.
Key changes:
- Introduces parallel build validation with matrix strategies for demos and integrations
- Implements pnpm and Turbo caching for optimized build performance
- Adds aggregated build summary job that reports on all build results
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| - name: Build all packages | ||
| run: pnpm turbo build --force | ||
|
|
Copilot
AI
Nov 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This line contains trailing whitespace. Remove it for consistency with project formatting standards.
|
|
||
| - name: Build ${{ matrix.demo }} | ||
| run: pnpm turbo build --filter=@lingo.dev/demo-${{ matrix.demo }} --force | ||
|
|
Copilot
AI
Nov 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This line contains trailing whitespace. Remove it for consistency with project formatting standards.
| uses: dtinth/setup-github-actions-caching-for-turbo@v1 | ||
|
|
||
| - name: Build ${{ matrix.demo }} | ||
| run: pnpm turbo build --filter=@lingo.dev/demo-${{ matrix.demo }} --force |
Copilot
AI
Nov 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The filter pattern @lingo.dev/demo-${{ matrix.demo }} doesn't match the actual package names in the demo directories. The actual package names are:
next-app(not@lingo.dev/demo-next-app)vite-project(not@lingo.dev/demo-vite-project)react-router-app(not@lingo.dev/demo-react-router-app)adonis(not@lingo.dev/demo-adonisjs)
Change the filter to: --filter=${{ matrix.demo }}
Also note that the matrix value adonisjs doesn't match the package name adonis.
| uses: dtinth/setup-github-actions-caching-for-turbo@v1 | ||
|
|
||
| - name: Build ${{ matrix.integration }} | ||
| run: pnpm turbo build --filter=@lingo.dev/integration-${{ matrix.integration }} --force |
Copilot
AI
Nov 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The filter pattern @lingo.dev/integration-${{ matrix.integration }} doesn't match the actual package name. The directus integration package is named @replexica/integration-directus, not @lingo.dev/integration-directus.
Change the filter to: --filter=@replexica/integration-${{ matrix.integration }}
| run: pnpm turbo build --filter=@lingo.dev/integration-${{ matrix.integration }} --force | |
| run: pnpm turbo build --filter=@replexica/integration-${{ matrix.integration }} --force |
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: '20.12.2' |
Copilot
AI
Nov 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The existing workflows (pr-check.yml and release.yml) use actions/setup-node@v2 instead of actions/setup-node@v4. For consistency across the project, consider using the same version or updating all workflows to v4.
Additionally, the existing workflows use node-version: 20.12.2 (without quotes), while this uses '20.12.2' (with quotes). While both work, consistency would be preferable.
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20.12.2' | |
| uses: actions/setup-node@v2 | |
| with: | |
| node-version: 20.12.2 |
| - name: Setup pnpm cache | ||
| uses: actions/cache@v4 |
Copilot
AI
Nov 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The existing workflows (pr-check.yml and release.yml) use actions/cache@v3, while this workflow uses actions/cache@v4. For consistency across the project, consider using the same version across all workflows.
📋 Description
This PR adds a comprehensive build workflow to validate all packages, demo applications, and integrations in an isolated CI environment.
🔗 Related Issues
Fixes #1355
📝 Type of Change
🧪 How Has This Been Tested?
The workflow includes:
✨ Features
fail-fast: falseto see all failures📌 Additional Notes
This workflow ensures that: