Skip to content

Website: pipeline dev mode skips optimize/doctor#91

Merged
PrzemyslawKlys merged 1 commit intomasterfrom
codex/pipeline-dev-skip-heavy
Feb 8, 2026
Merged

Website: pipeline dev mode skips optimize/doctor#91
PrzemyslawKlys merged 1 commit intomasterfrom
codex/pipeline-dev-skip-heavy

Conversation

@PrzemyslawKlys
Copy link
Member

Moves dev iteration speed-ups into pipeline.json via skipModes=dev for optimize and doctor, and removes script-level default skip injection.

Copilot AI review requested due to automatic review settings February 8, 2026 10:04
@claude
Copy link

claude bot commented Feb 8, 2026

Claude finished @PrzemyslawKlys's task —— View job


PR Code Review

This PR moves dev iteration speed-ups from script-level defaults to pipeline configuration using skipModes=dev for optimize and doctor tasks.

Todo List:

  • Read and analyze changed files (Website/build.ps1 and Website/pipeline.json)
  • Understand the pipeline configuration structure
  • Evaluate code quality and best practices
  • Check for potential bugs or issues
  • Assess performance considerations
  • Review security implications
  • Evaluate test coverage impact
  • Provide comprehensive feedback

📋 Code Review Feedback

Positive Changes

  1. Better Separation of Concerns

    • Moves pipeline behavior configuration from script logic into the pipeline definition itself
    • Makes dev mode behavior explicit and declarative rather than imperative
    • Follows infrastructure-as-code principles by keeping configuration in the pipeline spec
  2. Improved Maintainability

    • Eliminates complex conditional logic in Website/build.ps1:137-140
    • Reduces script complexity by 9 lines of PowerShell code
    • Makes dev behavior consistent regardless of how the pipeline is invoked
  3. Enhanced Discoverability

    • skipModes configuration is visible in the pipeline definition
    • Easier for developers to understand which tasks are skipped in dev mode
    • No need to read PowerShell script to understand dev behavior

🔍 Observations

  1. Task Renaming: The diff shows the script previously skipped audit but the pipeline now skips doctor. Looking at the pipeline, I see the task is indeed named doctor (line 135-165), so this appears to be a correction.

  2. Configuration Pattern: The skipModes: ["dev"] pattern is clean and extensible for future modes.

⚠️ Potential Considerations

  1. Documentation Update Needed: The PowerShell help comment in build.ps1:7-8 was removed, which mentioned the dev mode skip behavior. Consider adding this information to the pipeline documentation or maintaining a comment about dev mode behavior.

  2. Backward Compatibility: Users who relied on the old script logic might experience behavioral changes if they use other pipeline tools directly, though this is likely intended.

🚀 Performance Impact

  • Positive: No performance impact on the build process itself
  • Dev Experience: Maintains fast local iteration by skipping heavy optimize and doctor tasks in dev mode
  • Pipeline Efficiency: Cleaner execution flow with fewer runtime conditionals

🔒 Security Assessment

  • No Security Concerns: Changes only affect build pipeline configuration
  • Safe Refactoring: No changes to input validation, file permissions, or external dependencies

🧪 Test Coverage

  • Low Risk: This is a refactoring that moves existing behavior to a different configuration layer
  • Recommendation: Test that --dev mode still skips optimize/doctor tasks as expected
  • Validation: Ensure --serve with dev mode (default) maintains fast iteration times

💡 Minor Suggestions

  1. Documentation: Consider adding a comment in pipeline.json explaining the dev mode skips:

    {
      "task": "optimize",
      "id": "optimize-site", 
      "dependsOn": "build-sitemap",
      "skipModes": ["dev"], // Skip in dev mode for faster iteration
  2. Consistency: Verify all heavy/slow tasks use the same skipModes pattern for consistency.


Overall Assessment

This is a well-executed refactoring that improves code organization and maintainability. The change follows good software engineering practices by:

  • Moving configuration closer to its point of use
  • Reducing script complexity
  • Making behavior more explicit and discoverable
  • Maintaining existing functionality while improving structure

Recommendation: ✅ Approve - This change enhances the codebase without introducing risks.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 8, 2026

Copy link

Copilot AI left a 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 moves “dev mode” iteration speed-ups from Website/build.ps1 into the PowerForge.Web pipeline configuration so that skipping heavyweight tasks is driven by pipeline.json rather than script-side argument injection.

Changes:

  • Add skipModes: ["dev"] to optimize and doctor tasks in Website/pipeline.json.
  • Remove the -Serve default skip injection logic from Website/build.ps1 (previously auto-skipped heavy steps during dev serve runs).
  • Update the build.ps1 help text by removing the now-obsolete note about script-level skipping behavior.

Reviewed changes

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

File Description
Website/pipeline.json Skips optimize and doctor when running in dev mode via pipeline config.
Website/build.ps1 Removes serve/dev default skip injection so pipeline config is the single source of truth.

@@ -5,8 +5,6 @@

.PARAMETER Serve
Build the full pipeline and start the development server.
Copy link

Copilot AI Feb 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The script help for -Serve no longer mentions that dev mode skips the heavier pipeline steps. Since that behavior still exists (now in pipeline.json via skipModes), consider adding a short note here pointing users to pipeline.json so they understand why optimize/doctor don’t run in dev mode and how to force a full run (e.g., via -NoDev).

Suggested change
Build the full pipeline and start the development server.
Build the site and start the development server.
By default this runs in dev mode (see `pipeline.json` `skipModes`), which skips heavier
pipeline steps such as optimize/doctor for faster iteration. Use `-NoDev` to force a
full pipeline run when serving.

Copilot uses AI. Check for mistakes.
@codecov
Copy link

codecov bot commented Feb 8, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 59.75%. Comparing base (2d6890b) to head (5996c7a).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master      #91   +/-   ##
=======================================
  Coverage   59.75%   59.75%           
=======================================
  Files         448      448           
  Lines       57814    57814           
  Branches    16563    16563           
=======================================
+ Hits        34544    34549    +5     
+ Misses      17565    17564    -1     
+ Partials     5705     5701    -4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@PrzemyslawKlys PrzemyslawKlys merged commit f9426d6 into master Feb 8, 2026
17 checks passed
@PrzemyslawKlys PrzemyslawKlys deleted the codex/pipeline-dev-skip-heavy branch February 8, 2026 10:15
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