Skip to content

Add php workload based on the WinUI workload model - #162

Merged
AmirMS (AmelBawa-msft) merged 2 commits into
mainfrom
crutkas-add-php-workload
Oct 8, 2026
Merged

AmirMS (AmelBawa-msft) merged 2 commits into
mainfrom
crutkas-add-php-workload

Conversation

@crutkas

Copy link
Copy Markdown
Member

Summary

Adds an engine-based php workload to the PowerShell-native dev-config engine, modeled exactly on winui, and retires the legacy winget-configure (DSC) flow for php.

Changes

  • New engine workload src/windows-dev-config/workloads/php.ps1: Developer Mode + PowerShell + the Php package, using the same phase shape as winui.ps1 (trimmed — no Visual Studio/templates phases needed for PHP).
  • Shared package catalog: added a Php entry (PHP.PHP.8.5, UninstallOrder = 18) to steps/packages.ps1, inserted right after OhMyPosh and before winappCli.
  • Signed entry point src/Workloads/php/setup.ps1: copy of Workloads/winui/setup.ps1 with -Workload php (same signature-verification logic, unmodified).
  • README: added a php row to the "Single workloads" table in windows-dev-config/README.md.
  • Retired the legacy DSC flow for php:
    • Deleted Workloads/php/configuration.winget and Workloads/php/install.ps1.
    • manifest.yml: install now points at setup.ps1, the configuration key is removed, and manual_test: true is set — the engine entry point needs a signed release cycle and elevation, which the automated CI matrix can't provide (same reasoning as winui/dotnet).
    • Removed the 'php\configuration.winget' entry from Workloads/_common/content-hashes.ps1.
    • Updated docs/development.md (repo-layout listing, the flows status table, and a stale static-check example referencing the deleted configuration.winget).

Validation

  • Get-DevConfigWorkload schema-validated php.ps1 (phases/functions/parameters all pass, same mechanism used for winui/winforms).
  • Assert-DevConfigWorkloadContent -WorkloadsRoot (Resolve-Path .\Workloads) reports no [missing]/[not declared] content-hash errors.
  • Parsed manifest.yml and confirmed the php flow entry now has the same shape as dotnet/winui (no configuration key, install → setup.ps1, manual_test: true).

Note: sibling PRs are adding go/rust workloads in parallel, touching the same packages.ps1/manifest.yml files — some merge conflicts across the 3 PRs are expected and left for the repo owner to resolve.

Co-authored-by: Copilot App 223556219+Copilot@users.noreply.github.com

Clint Rutkas (crutkas) and others added 2 commits October 7, 2026 22:04
- Add src/windows-dev-config/workloads/php.ps1: engine-based workload
  (Developer Mode + PowerShell + Php package), modeled on winui.ps1.
- Add Php entry (PHP.PHP.8.5) to the shared package catalog in
  steps/packages.ps1, after OhMyPosh and before winappCli.
- Add src/Workloads/php/setup.ps1, the signed one-line entry point
  (copy of winui/setup.ps1 with -Workload php).
- Add a php row to the Single workloads table in
  windows-dev-config/README.md.
- Retire the legacy winget-configure flow for php: delete
  configuration.winget and install.ps1, update manifest.yml (install
  points at setup.ps1, configuration key removed, manual_test: true
  because the engine entry point needs a signed release cycle and
  elevation), drop the content hash entry, and update docs/development.md.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
PHP has no app-packaging/sideloading story, so AllowDevelopmentWithoutDevLicense
isn't needed (unlike winui, which sideloads MSIX/WinAppSDK packages).

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@AmelBawa-msft
AmirMS (AmelBawa-msft) merged commit 35a0126 into main Oct 8, 2026
12 of 13 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.

2 participants