Skip to content

[main] Update dependencies from dotnet/arcade#1

Closed
dotnet-maestro[bot] wants to merge 1 commit into
mainfrom
darc-main-a15f990d-e70f-482a-bbbb-d07f93ea7ede
Closed

[main] Update dependencies from dotnet/arcade#1
dotnet-maestro[bot] wants to merge 1 commit into
mainfrom
darc-main-a15f990d-e70f-482a-bbbb-d07f93ea7ede

Conversation

@dotnet-maestro

Copy link
Copy Markdown
Contributor

This pull request updates the following dependencies

From https://github.com/dotnet/arcade

  • Subscription: 99b8b1c1-ded8-4084-554e-08dbbf92ebfa
  • Build: 20230913.1
  • Date Produced: September 13, 2023 10:39:19 PM UTC
  • Commit: 1d451c32dda2314c721adbf8829e1c0cd4e681ff
  • Branch: refs/heads/main

…913.1

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23451.1 -> To Version 8.0.0-beta.23463.1
@joperezr joperezr closed this Sep 29, 2023
@dotnet-maestro
dotnet-maestro Bot deleted the darc-main-a15f990d-e70f-482a-bbbb-d07f93ea7ede branch September 29, 2023 22:46
@danmoseley danmoseley added the area-codeflow for labeling automated codeflow. intentionally a different color! label Nov 16, 2023
eerhardt added a commit that referenced this pull request Dec 16, 2023
…1423)

* Update the rest of the components to use the ConfigSchemaGenerator.

Also fixing a couple bugs in the generator:

- Allow for just a LoggingCategories attribute
- Fix a bug in the exclusion paths, which needs the node to be hooked to the parent to get the full path
- Skip unsupported collections
- Add some more int types

* Improve json formatting (#1)

---------

Co-authored-by: Sébastien Ros <sebastienros@gmail.com>
@github-actions github-actions Bot locked and limited conversation to collaborators May 1, 2024
jfversluis added a commit that referenced this pull request Mar 4, 2026
Fix #1: Drain stdout/stderr tasks in a finally block so they are
always awaited, even when WaitForExitAsync throws on cancellation.
PipeOutputAsync now catches OperationCanceledException internally.

Fix #2: Resolve build configuration from the AppHost's
AssemblyConfigurationAttribute (same as DcpExecutor) and pass it to
MauiBuildInfoAnnotation, so the pre-build and DCP's Run target use
the same configuration and MSBuild's incremental build is effective.

Fix #3: Add 10-minute build timeout via CancellationTokenSource so
a hung dotnet build process cannot block the semaphore forever.
BuildTimeout is an internal settable property for testability.

Fix #4: Add tests for MauiBuildInfoAnnotation (properties, nullable),
missing MauiBuildQueueAnnotation (skip), resource restart (build same
resource twice), and unexpected exception types (semaphore release).

Total: 90 tests passing (18 build queue + 72 existing).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
jfversluis added a commit that referenced this pull request Mar 4, 2026
Fix #1: Move _buildCompletions.TryRemove into finally block in
TestableBuildQueueSubscriber so cancelled/failed builds clean up
their TCS entries, preventing stale entries on resource restart.

Fix #3: Add MissingBuildInfoAnnotation_SkipsBuildAndReleasesQueue
test that uses the real MauiBuildQueueEventSubscriber to verify the
RunBuildAsync warning-and-skip path when MauiBuildInfoAnnotation is
absent, and confirms the semaphore is properly released.

Fix #5: Remove IDisposable from MauiBuildQueueAnnotation — no other
annotation in Aspire implements IDisposable and the semaphore is
garbage-collected on app shutdown. Remove the Dispose test.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
joperezr pushed a commit that referenced this pull request May 27, 2026
…ion gauntlet (#17405)

* feat(homebrew): switch cask to GitHub release URL for upstream autobump

Make the Aspire Homebrew cask install from a GitHub release asset URL
(`https://github.com/microsoft/aspire/releases/download/v#{version}/...`)
parameterized on a single `#{version}` value, so `brew bump-cask-pr
--version=<v>` can rewrite it in one substitution. Switch the cask's
livecheck from `:skip` to `strategy :github_latest` so
Homebrew/homebrew-cask's autobump workflow (`brew bump --auto`, 3-hour
schedule) can detect new versions automatically. Declare `depends_on
:macos` and an empty `zap trash: []` stanza to satisfy upstream's
tap-syntax check and triage workflow.

Rewrite `eng/homebrew/validate-cask-artifact.sh` so its audit pass
mirrors the per-cask matrix in `Homebrew/homebrew-cask`'s `ci.yml` for a
bump PR — a clean local run implies the upstream autobump PR will audit
cleanly too. Two modes pick the audit-arg combination by whether the
cask URL resolves yet:

- `LiveRelease`: `brew audit --cask --online --signing` plus a real
  `brew install`/`brew uninstall` cycle, for use after the GitHub
  release upload has populated the cask URL. Used by the release
  pipeline's `HomebrewValidateJob` against the live release.
- `LiveArchives`: `brew audit --cask --no-signing` (no `--online`), for
  source-build prep where the release for `v#{version}` does not exist
  yet. Used by `eng/pipelines/azure-pipelines.yml` and
  `.github/workflows/prepare-installer-artifacts.yml`. `--online` is
  dropped wholesale rather than excluded per-method with `--except`, so
  any new `--online`-gated audit method touching the archive in a
  future brew release does not silently start failing.

Add `brew test-bot --tap <local> --only-tap-syntax` — the upstream CI
step that catches `Invalid cask (Linux on …)` and matches the
`depends_on :macos` requirement.

`dogfood.sh` rewrites the GitHub release URL to a `file://` URL and
drops the `verified:` line for local install — `file://` URLs are
exempt from `audit_missing_verified` via brew's `file_url?`
short-circuit, and `dogfood.sh` only runs `brew install`, never `brew
audit`.

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

* refactor(release): drop bot cask publish; add live-release validation

Drop the custom `publish-homebrew.yml` template (537 lines) and the
`HomebrewJob` it ran in `release-publish-nuget.yml`. That job forked
`Homebrew/homebrew-cask` as `aspire-homebrew-bot`, branched,
force-pushed, and opened cask-bump PRs against upstream. Bumps are now
picked up by upstream
[`Homebrew/homebrew-cask`'s `autobump.yml`](https://github.com/Homebrew/homebrew-cask/blob/master/.github/workflows/autobump.yml)
(runs `brew bump --auto` on a 3-hour schedule, detects new versions via
the cask's `livecheck :github_latest` block). Removes the
`SkipHomebrewPublish` parameter, the `aspire-homebrew-bot-pat` secret
dependency, and the homebrew-cask-stable artifact republish in
`PrepareArtifactsJob`.

Add `HomebrewValidateJob` to the `GitHubTasks` stage. It runs
`validate-cask-artifact.sh --validation-mode LiveRelease` against the
cask emitted by the source build, after `PublishReleaseAssetsJob`
uploads the `aspire-cli-osx-*` archives to the GitHub release — the
first moment the cask URL actually resolves. Catches problems that
would otherwise only surface to end users running `brew install
aspire`, or block Homebrew/homebrew-cask's autobump PR a few hours
later. Gated by a new `SkipHomebrewValidation` parameter for
partial-failure re-runs. Runs on `macOS-latest-internal` because it
does a real `brew install`/`brew uninstall`.

The initial cask submission to `Homebrew/homebrew-cask` remains a
one-time human-driven PR (autobump only handles version bumps for an
already-merged cask).

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

* docs(homebrew): document upstream autobump flow + validation modes

Update `eng/homebrew/README.md` and `docs/release-process.md` to
describe the new flow: the cask installs from
`github.com/microsoft/aspire/releases/...`, Homebrew/homebrew-cask
autobump submits version bumps via livecheck-detected releases, and the
release pipeline's `HomebrewValidateJob` runs the same audit gauntlet
upstream homebrew-cask CI runs on a bump PR. Document the two
validation modes (`LiveRelease`, `LiveArchives`), the `--archive-root`
SHA256 source-of-truth, the `SkipHomebrewValidation` re-run knob, and
that the initial cask submission is a one-time human-driven step.

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

* fix(homebrew): post-review cleanup — align SHA URL, drop dead --artifact-version, default prepare to LiveArchives

Three related cleanups falling out of PR review:

1. generate-cask.sh's BASE_URL still pointed at ci.dot.net even
   though the cask template now embeds a github.com release URL.
   The two were only consistent because every CI caller passes
   --archive-root (which short-circuits the URL fetch). Any local
   invocation without --archive-root would have written a cask
   whose SHA was computed from ci.dot.net bytes while the cask URL
   pointed at github.com.

2. --artifact-version is now dead. The template no longer references
   ${ARTIFACT_VERSION} (the URL is parameterized solely on
   #{version}), and after fix #1 above BASE_URL no longer uses it
   either. Drop the parameter from generate-cask.sh,
   prepare-cask-artifact.sh, prepare-homebrew-cask.yml, and the two
   AzDO pipeline callers. The aspireArtifactVersion pipeline variable
   stays because WinGet still uses it.

3. Flip prepare-cask-artifact.sh's default from LiveRelease to
   LiveArchives. Every prod CI caller already passed
   skipUrlValidation=true → LiveArchives. Prepare time means "the
   cask URL points at a v#{version} release that hasn't been
   published yet" by construction, so LiveArchives is the only
   correct semantics. Drop the now-redundant skipUrlValidation
   parameter from prepare-homebrew-cask.yml and the explicit
   --validation-mode LiveArchives from the GH Actions caller.
   LiveRelease is preserved as an opt-in for local dev and for the
   Bash_PrepareHomebrewCask_FailedVerification_UninstallsCask test
   (which depends on brew install/uninstall behavior); the test now
   requests LiveRelease explicitly. LiveRelease validation in CI
   still runs unchanged via HomebrewValidateJob, which calls
   validate-cask-artifact.sh directly.

Also:

 * Replace fragile cross-file line-number references with the
   stable `audit_args` block name.
 * Add a `Homebrew Val:` row to the RELEASE SUMMARY box in
   release-publish-nuget.yml so a release manager can see at a
   glance whether SkipHomebrewValidation is set.

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

* chore(homebrew): tighten cask comments, normalize validation-mode, link installer docs

Cleanups from review of the cask template and surrounding scripts/docs.

eng/homebrew/aspire.rb.template:
  * livecheck comment was misplaced — it described the url substitution
    above it, not the livecheck block it sat above. Replaced with a
    short note that livecheck drives upstream autobump detection.
  * postflight sidecar comment was narrating the next line of code.
    Replaced with the actual reason — channel attribution for self-
    update routing.

eng/homebrew/{validate,prepare}-cask-artifact.sh:
  * --validation-mode accepted four spellings per mode (PascalCase,
    lower, hyphenated lower, hyphenated mixed). The hyphenated forms
    weren't documented anywhere and not used by callers. Dropped them
    and switched to `shopt -s nocasematch` so any case of the canonical
    spellings (LiveRelease / LiveArchives) is accepted.

eng/pipelines/release-publish-nuget.yml:
  * Removed the 6-line "Homebrew bumps are NOT submitted here" block.
    The enumerated steps above already don't list a cask-bump step,
    and the line immediately below points at docs/release-process.md
    which covers it in the new Installer channels section.

docs/release-process.md:
  * New `Installer channels` section with a table covering NuGet,
    WinGet, Homebrew cask, dotnet-tool, and the install script —
    who submits the bump for each, with links to the per-channel docs
    (eng/winget/README.md, eng/homebrew/README.md, install-routes.md).
  * Trimmed the Overview's Homebrew bullet now that the section covers
    the autobump detail.
  * Related Documentation extended with the per-channel READMEs.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
adamint added a commit to ellahathaway/aspire that referenced this pull request May 30, 2026
Fix microsoft#1: Rename command IDs in package.json menus and walkthrough so
they target the new aspire-vscode.runAppHostCommand and
aspire-vscode.debugAppHostCommand registrations introduced in this PR.
Without this the editor title bar, explorer context menu, and Get
Started walkthrough Run/Debug buttons silently no-op.

Fix microsoft#2: Wrap vscode.debug.startDebugging in try/catch in
AppHostLaunchService.launch so a 'false' return value (debug adapter
rejected) or thrown error clears the launching state. Otherwise the
tree item is stuck showing the 'Starting...' spinner forever and the
user cannot retry.

Fix microsoft#3: Make AspireAppHostTreeProvider.runAppHost async and await
launch so launch failures surface via showErrorMessage instead of
being dropped as unhandled promise rejections.

Fix microsoft#4: In workspace mode with multiple candidate AppHost paths, match
running AppHosts to candidates by directory equivalence
(isMatchingAppHostPath) rather than exact path. This is the same
matching used elsewhere in AppHostDataRepository when correlating
'aspire ps' output to candidate paths, so canonicalization
differences (case, separators, trailing slashes) no longer cause a
running AppHost to display as idle.

Fix microsoft#5: Introduce aspire.noRunningAppHosts context key so the Open
Dashboard palette command is only enabled when at least one AppHost
is actually running. Previously the palette appeared when only idle
candidates were known and then silently no-oped.

Fix microsoft#6: Widen the workspaceResources contextValue regex in
package.json so the read-only 'Open AppHost Source' and 'Copy AppHost
Path' actions appear on bare 'workspaceResources' items, not only on
'workspaceResources:hasAppHost'. The destructive 'Stop AppHost' menu
remains gated on :hasAppHost.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
adamint added a commit that referenced this pull request May 30, 2026
* Show idle AppHosts in Aspire pane with Run/Debug context menu

* Rename view ID from runningAppHosts to appHosts

* Rename context key from noRunningAppHosts to noAppHosts

* Keep panel visible when stopped AppHost has workspace candidates

When an AppHost stops, the noAppHosts context key now considers
workspace candidates. This ensures the panel shows idle AppHosts
instead of the empty welcome view after a running AppHost is stopped.

* Fix noAppHosts assertions: workspace candidates keep panel visible

The _updateWorkspaceContext change (0e312f9) added !hasWorkspaceCandidates
to the noAppHosts condition, meaning the panel stays visible when idle
AppHosts are discovered. Two tests asserted noAppHosts=true after describe
exit, but the legacy format candidate is treated as buildable (toAppHostCandidate
defaults null status to 'buildable'), so workspace candidates persist and
noAppHosts is correctly false.

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

* Make workspace AppHosts expandable with launch actions

* Address review feedback for PR #17506

Fix #1: Rename command IDs in package.json menus and walkthrough so
they target the new aspire-vscode.runAppHostCommand and
aspire-vscode.debugAppHostCommand registrations introduced in this PR.
Without this the editor title bar, explorer context menu, and Get
Started walkthrough Run/Debug buttons silently no-op.

Fix #2: Wrap vscode.debug.startDebugging in try/catch in
AppHostLaunchService.launch so a 'false' return value (debug adapter
rejected) or thrown error clears the launching state. Otherwise the
tree item is stuck showing the 'Starting...' spinner forever and the
user cannot retry.

Fix #3: Make AspireAppHostTreeProvider.runAppHost async and await
launch so launch failures surface via showErrorMessage instead of
being dropped as unhandled promise rejections.

Fix #4: In workspace mode with multiple candidate AppHost paths, match
running AppHosts to candidates by directory equivalence
(isMatchingAppHostPath) rather than exact path. This is the same
matching used elsewhere in AppHostDataRepository when correlating
'aspire ps' output to candidate paths, so canonicalization
differences (case, separators, trailing slashes) no longer cause a
running AppHost to display as idle.

Fix #5: Introduce aspire.noRunningAppHosts context key so the Open
Dashboard palette command is only enabled when at least one AppHost
is actually running. Previously the palette appeared when only idle
candidates were known and then silently no-oped.

Fix #6: Widen the workspaceResources contextValue regex in
package.json so the read-only 'Open AppHost Source' and 'Copy AppHost
Path' actions appear on bare 'workspaceResources' items, not only on
'workspaceResources:hasAppHost'. The destructive 'Stop AppHost' menu
remains gated on :hasAppHost.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Adam Ratzman <adam@adamratzman.com>
radical added a commit that referenced this pull request Jun 11, 2026
…rash

The "Select relevant tests" step ran the selector but it threw every time:

    Unhandled exception: System.InvalidOperationException:
    Provide either --changed-files or --from (with optional --to).

Two defects:

1. SelectTests crash. Selection.Run resolved the changed-file set before
   the --force-all short-circuit, so --force-all (whose job is to run the
   full matrix *regardless* of the diff) still demanded a --from or
   --changed-files input and threw. The workflow reaches --force-all on
   the [full ci] kill switch or when no diff base is available — i.e. the
   exact case where there are deliberately no diff inputs. Skip
   ResolveChangedFiles (and Layer 1) when ForceAll; the selector already
   returns the full matrix in that mode.

2. The crash was invisible. The step wrapped the tool in
   `if ! ...; then <fallback>; fi`, which swallowed *any* non-zero exit,
   emitted the full matrix + run-all, and exited 0 — so the job went
   green and the broken selector went unnoticed. The tool already fails
   OPEN by design when it *decides* to (force-all / unavailable base ->
   full matrix + run-all), so a non-zero exit means an actual crash. Let
   it fail the step (and the run); surfacing it is the point of the audit
   phase.

Regression test drives Selection.Run with --force-all and no diff inputs
and asserts exit 0 + the full matrix passes through. Reverting fix #1
reproduces the original throw at ResolveChangedFiles.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-codeflow for labeling automated codeflow. intentionally a different color!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants