SIGN IN SIGN UP

Allow release creation for projects containing only test apps (#2215)

### ❔What, Why & How

`DetermineArtifactsForRelease` resolved each project's build version by
looking up an `Apps-*` or `PowerPlatformSolution-*` artifact. Projects
that only produce a `TestApps-*` artifact never matched, so the release
workflow aborted with `No artifacts found for this project`.

-
**`Actions/DetermineArtifactsForRelease/DetermineArtifactsForRelease.ps1`**:
- When no `Apps`/`PowerPlatformSolution` artifact is found for a project
but a test artifact exists, log a warning and skip the project instead
of failing. Test artifacts are intentionally not added to the release.
If no artifacts of any kind are found for the project, the original
error is still raised.
- The test-artifact match uses `*TestApps-*` so build-mode prefixes
(e.g. `CleanTestApps`, `TranslatedTestApps`) are also recognized.
- After the project loop, throw a clear error if no release artifacts
were selected for any project (`$include.Count -eq 0` or empty `$sha`),
so downstream workflow steps don't fail with a confusing empty matrix /
empty commitish.
- **`Tests/DetermineArtifactsForRelease.Test.ps1`**: add Pester tests
that mock the GitHub artifacts/branches APIs and cover: (1) mixed
projects with apps + test artifacts produce a non-empty include list,
(2) a test-only project is skipped with a `::Warning::` (including
build-mode prefixes like `CleanTestApps`), (3) a clear error is thrown
when no project has releasable artifacts, and (4) the original `No
artifacts found for this project` error is still raised when a project
has no artifacts at all.
- **`RELEASENOTES.md`**: note the fix under Issues.
- Merged latest `main` into the branch and resolved the conflict in
`RELEASENOTES.md` (kept both Issue 2211 and Issue 2214 entries).

```powershell
if ($allArtifacts | Where-Object { $_.name -like "$project-$refname-*TestApps-*.*.*.*" }) {
    Write-Host "::Warning::No release artifacts found for project $project, only test artifacts are available. Skipping project for release."
    return
}
throw "No artifacts found for this project"
```

### ✅ Checklist

- [x] Add tests (E2E, unit tests)
- [x] Update RELEASENOTES.md
- [ ] Update documentation (e.g. for new settings or scenarios)
- [ ] Add telemetry

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: mazhelez <43066499+mazhelez@users.noreply.github.com>
Co-authored-by: Alexander Holstrup <117829001+aholstrup1@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
C
Copilot committed
730da166f092a5b269c127281fa69774a9cdb163
Parent: 6b7ca4d
Committed by GitHub <noreply@github.com> on 4/21/2026, 2:08:10 PM