Skip to content
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

feat(ci): support parallel execution #891

Merged
merged 38 commits into from
Dec 16, 2024
Merged

feat(ci): support parallel execution #891

merged 38 commits into from
Dec 16, 2024

Conversation

matejchalk
Copy link
Collaborator

Closes #887

  • Added parallel option (disabled by default), which is forward to each monorepo tool's "run many" CLI command.
  • For known monorepo tools, reports are collected in bulk instead of individually per project.
    • Because this all-in-one execution doesn't allow setting different output directories per project via CLI arguments, each project's output directory is resolved using print-config command.
      • This makes the output option obsolete, so it's been removed.
      • It is now responsibility of the user to ensure projects' outputs don't clash.
  • Added E2E tests for monorepo mode - runs on real Nx monorepo in parallel mode, as well as on npm workspaces workspaces (other tools would require additional dependencies and environment setup).
  • Added integration tests for all the main variations of monorepo mode - runs on real file system, but code-pushup commands are mocked.
  • Added unit tests for individual tool handlers.

Copy link

Code PushUp

🤨 Code PushUp report has both improvements and regressions – compared target commit 48c594e with source commit 9099514.

🕵️ See full comparison in Code PushUp portal 🔍

🏷️ Categories

🏷️ Category ⭐ Previous score ⭐ Current score 🔄 Score change
Performance 🟡 54 🔴 48 ↓ −5.7
Code coverage 🟢 90 🟢 91 ↑ +0.5
Security 🟡 82 🟡 81 ↓ −0.3
Updates 🟡 74 🟡 74
Accessibility 🟢 91 🟢 91
Best Practices 🟢 100 🟢 100
SEO 🟡 61 🟡 61
Bug prevention 🟢 100 🟢 100
Code style 🟢 100 🟢 100
👍 1 group improved, 👎 2 groups regressed, 👍 3 audits improved, 👎 6 audits regressed, 12 audits changed without impacting score

🗃️ Groups

🔌 Plugin 🗃️ Group ⭐ Previous score ⭐ Current score 🔄 Score change
Lighthouse Performance 🟡 54 🔴 48 ↓ −5.7
Code coverage Code coverage metrics 🟢 90 🟢 91 ↑ +0.5
JS Packages NPM audit 🟡 82 🟡 81 ↓ −0.3

14 other groups are unchanged.

🛡️ Audits

🔌 Plugin 🛡️ Audit 📏 Previous value 📏 Current value 🔄 Value change
Lighthouse Largest Contentful Paint 🟨 3.2 s 🟨 3.8 s ↑ +19.3 %
Lighthouse Time to Interactive 🟥 13.3 s 🟥 19.1 s ↑ +43.2 %
Lighthouse Speed Index 🟨 5.7 s 🟥 6.1 s ↑ +7.8 %
Lighthouse First Contentful Paint 🟨 2.9 s 🟥 3.1 s ↑ +4.9 %
JS Packages Vulnerabilities for NPM dev dependencies. 🟥 12 vulnerabilities (6 high, 4 moderate, 2 low) 🟥 13 vulnerabilities (6 high, 4 moderate, 3 low) ↑ +8.3 %
Lighthouse Total Blocking Time 🟥 3,530 ms 🟥 9,210 ms ↑ +160.5 %
Code coverage Line coverage 🟩 90.6 % 🟩 91.1 % ↑ +0.5 %
Code coverage Branch coverage 🟨 85.2 % 🟨 85.7 % ↑ +0.6 %
Code coverage Function coverage 🟩 92.9 % 🟩 93.4 % ↑ +0.5 %
Lighthouse Minimizes main-thread work 🟥 13.4 s 🟥 22.8 s ↑ +70.2 %
Lighthouse Avoids enormous network payloads 🟩 Total size was 1,820 KiB 🟩 Total size was 1,813 KiB ↓ −0.4 %
Lighthouse JavaScript execution time 🟥 6.3 s 🟥 12.6 s ↑ +98.5 %
Lighthouse Metrics 🟩 100% 🟩 100% ↑ +43.2 %
Lighthouse Max Potential First Input Delay 🟥 1,600 ms 🟥 3,690 ms ↑ +130.7 %
Lighthouse Uses efficient cache policy on static assets 🟨 28 resources found 🟨 28 resources found ↓ −0.1 %
Lighthouse Server Backend Latencies 🟩 330 ms 🟩 140 ms ↓ −57.3 %
Lighthouse Initial server response time was short 🟩 Root document took 520 ms 🟩 Root document took 340 ms ↓ −35.2 %
Lighthouse Eliminate render-blocking resources 🟥 Potential savings of 1,120 ms 🟥 Potential savings of 1,240 ms ↑ +10.8 %
Lighthouse Network Round Trip Times 🟩 80 ms 🟩 20 ms ↓ −81.8 %
Lighthouse Reduce unused CSS 🟥 Potential savings of 96 KiB 🟥 Potential savings of 67 KiB ↑ +3.3 %
JS Packages Outdated NPM prod dependencies. 🟨 9 outdated package versions (5 major, 2 minor, 2 patch) 🟨 10 outdated package versions (5 major, 4 minor, 1 patch) ↑ +11.1 %

487 other audits are unchanged.

@matejchalk matejchalk marked this pull request as ready for review December 13, 2024 13:51
@matejchalk matejchalk merged commit cec4a73 into main Dec 16, 2024
16 checks passed
@matejchalk matejchalk deleted the ci-parallel branch December 16, 2024 14:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Parallel CI execution
2 participants