Skip to main content

update-aspire

Update Aspire version across CI, NuGet constants, proto file, and all test/sample projects

Informações da origem

Repositório
JetBrains/aspire-plugin
Última atividade na origem
1 de outubro de 2026 às 10:51
Idioma detectado do SKILL.md
inglês
Estrelas
96
Forks
6

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
update-aspire
description
Update Aspire version across CI, NuGet constants, proto file, and all test/sample projects
user_invocable
true
# Update Aspire Version Performs a full Aspire version bump: CI templates, NuGet package constants, upstream proto file, and all test/sample projects. ## Input The user must provide the target Aspire version in full semver form (e.g. `13.3.0`). If not provided as an argument, ask for it. ## Steps 1. **Update CI template version.** Edit `.github/workflows/build.yml`. Find the line `dotnet new install Aspire.ProjectTemplates@...` and replace the version with the target version. 2. **Update NuGet package versions.** Edit `rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/NuGetPackages.kt`. For each package listed in the file, look up its latest version on nuget.org (use WebSearch or WebFetch to check `https://www.nuget.org/packages/{PACKAGE_NAME}`). Update the version constants accordingly. Note: some packages (e.g. `Aspire.Hosting.Maui`) may only have preview versions — use the latest available. 3. **Fetch upstream proto file.** The tag format is `v{VERSION}` using the full semver (e.g. `v13.3.0`, not `v13.3`). The checked-in destination is `core/src/main/protos/dashboard_service.proto`. On Windows, invoke `curl.exe` directly. Use `curl` to download the file directly — do not use WebFetch, as it will refuse to reproduce the raw file content verbatim: ``` curl.exe -fsSL "https://raw.githubusercontent.com/microsoft/aspire/refs/tags/v{VERSION}/src/Aspire.Hosting/Dashboard/proto/dashboard_service.proto" \ -o core/src/main/protos/dashboard_service.proto ``` 4. **Update the `aspire` CLI.** Do not assume Aspire is registered as a dotnet global tool or installed at `~/.dotnet/tools/aspire`. On Windows, locate it with `Get-Command aspire`; it may resolve to `C:\\Users\\<user>\\.aspire\\bin\\aspire.exe` even when `./dotnet.cmd tool list --global` does not list Aspire. Check the installed version with `aspire --version`, then update it without a channel-selection prompt: ``` aspire update --self --channel stable --non-interactive ``` The direct `aspire update --self` command can fail in a non-interactive terminal because it attempts to show that prompt. 5. **Run `aspire update` in test and sample projects.** List all immediate subdirectories in: - `testData/solutions/` - `sampleProjects/` For every subdirectory, change into it and run `aspire update --non-interactive --yes`. Note: `--non-interactive` requires `--yes` (`-y`) to be specified as well, otherwise the command fails. Run them sequentially (each command depends on shared NuGet state). Use a 10-minute total timeout. If the command runner has a shorter per-command limit, split the sequential sweep into smaller batches; do not run projects concurrently. Some directories (e.g. pure ASP.NET Core, Worker, MAUI, or Azure Functions solutions) contain no Aspire AppHost and will report "no AppHost project files were detected" — this is expected and should be listed as "Skipped (no AppHost)" in the report, not as a failure. CLI wording for no-AppHost projects varies by version, so do not depend on one exact message string when classifying a skipped result. 6. **Verify the Aspire update with integration tests.** This skill permits agents to run JVM integration tests relevant to the Aspire update without a separate user request. Install `Aspire.ProjectTemplates` at the target version in the .NET environment Rider uses (`./dotnet.cmd new install Aspire.ProjectTemplates@{VERSION}`). See `docs/agents/testing.md` for the MAUI template prerequisite. Start with the orchestration tests, which depend on the installed Aspire templates and package versions: ``` ./gradlew :test --tests "com.jetbrains.aspire.integration.AspireOrchestrationTests" ``` Run other affected integration test classes with explicit `--tests` filters when needed. Fix regressions and review generated output before updating gold files; rerun the affected tests after changes. Report test results and any environment blockers. This permission is limited to relevant integration tests; running the full suite or `check` still requires an explicit user request. 7. **Report results.** Show the user a summary table listing: - CI template version: old → new - Each NuGet package: old version → new version - Proto file: updated or not - Each project directory: aspire update succeeded, skipped (no AppHost), or failed - Integration tests: passed, failed, or blocked, with the affected test classes
Ver no GitHub