Rechercher

PythonReactSEOPDF
GitHub Skill

windows-image-updater

Automate Windows container image updates in OneBranch pipelines. Bumps ConfigurationGeneration.AdoPipelineGeneration NuGet package, resolves dependency conflicts, runs ConfigGen, and verifies old image references are removed. Use when updating LTSC container images across service repositories.

rjmurillo☆ 14 Étoiles du dépôt3 Forks du dépôt

Installation

Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.

Voir la source ↗Guides

Instructions

Windows Image Updater

Automates the end-to-end workflow for updating Windows container images in OneBranch pipelines. Handles NuGet package bumps, dependency resolution, ConfigGen execution, and image reference verification.

Triggers

Trigger Phrase Operation
update windows image Full 4-phase workflow
bump configgen package Phase 1: Package update only
resolve package dependencies Phase 2: Dependency resolution only
run configgen Phase 3: ConfigGen execution only
verify image references Phase 4: Image verification only

When to Use

Use this skill when:

  • A Windows LTSC container image reaches end-of-life (e.g., ltsc2019)
  • The ConfigurationGeneration.AdoPipelineGeneration NuGet package needs upgrading
  • Pipeline YAML files contain outdated image references
  • Service repositories need bulk container image migration

Process

Phase 1: Package Update
  1. Identify the current ConfigurationGeneration.AdoPipelineGeneration version in packages.config or .csproj files
  2. Determine the target version (latest stable or specified version)
  3. Update the package reference to the target version
  4. Stage the package reference change
Phase 2: Dependency Resolution
  1. Run nuget restore or dotnet restore to detect dependency conflicts
  2. For each conflict, identify the required version range
  3. Update transitive dependencies to compatible versions
  4. Re-run restore to confirm all conflicts are resolved
  5. Repeat until restore succeeds with zero warnings
Phase 3: ConfigGen Execution
  1. Locate the ConfigGen tool (typically tools/ConfigGen/ConfigGen.exe or via NuGet)
  2. Run ConfigGen to regenerate pipeline YAML files
  3. Capture stdout/stderr for diagnostics
  4. Verify ConfigGen exits with code 0
Phase 4: Image Verification
  1. Search all .yml and .yaml files for the old image reference (e.g., ltsc2019)
  2. Confirm zero matches remain
  3. Search for the new image reference to confirm replacement
  4. Report file-level diff summary

Output

After completing all phases, create a draft PR with this structure:

## Summary

- Bumped ConfigurationGeneration.AdoPipelineGeneration from {old} to {new}
- Resolved {N} dependency conflicts
- Regenerated pipeline YAML via ConfigGen
- Verified: 0 references to {old_image} remain

## Changes

| File | Change |
|------|--------|
| packages.config | Package version bump |
| {dependency files} | Dependency version updates |
| {pipeline files} | Regenerated by ConfigGen |

## Verification

- [ ] `nuget restore` completes without warnings
- [ ] ConfigGen exits with code 0
- [ ] `grep -r --include="*.yml" -- "ltsc2019" .` returns 0 results

Composability

After this skill creates a PR, invoke the pipeline-validator skill to trigger, monitor, and validate pipeline runs. The two skills are intentionally separate: this skill handles code changes, pipeline-validator handles CI validation.

Constraints

  • Do not modify pipeline YAML files manually. ConfigGen is the single source of truth.
  • Do not skip dependency resolution. Partial updates cause build failures downstream.
  • Always verify image references after ConfigGen. ConfigGen may not update all files.

See Also

Document Content
troubleshooting.md Phase-by-phase error guide
pipeline-validator skill Post-PR pipeline validation

Exemples

Consultez les exemples du dépôt source.

Voir la source ↗

Historique source

Date d’indexation
2026-03-11
Mise à jour de l’index
2026-03-11
Branch
main

Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!