Skip to content

Add build.ps1 for multi-Roslyn build orchestration#214

Merged
atifaziz merged 9 commits intoroslyn-configs/mainfrom
copilot/implement-issue-208
Feb 15, 2026
Merged

Add build.ps1 for multi-Roslyn build orchestration#214
atifaziz merged 9 commits intoroslyn-configs/mainfrom
copilot/implement-issue-208

Conversation

Copy link

Copilot AI commented Feb 14, 2026

The project packages both Roslyn 3.10 and 4.4 analyzer variants in a single NuGet package. Running dotnet pack directly fails because the Roslyn 4.4 variant uses alternate output paths and must be built explicitly before packing.

Changes

New build.ps1

  • Three parameter sets: -Build (default), -Test, -Pack
  • Builds baseline (Roslyn 3.10) for all TFMs, then Roslyn 4.4 variant for netstandard2.0
  • Supports -VersionSuffix and -PackageReleaseNotesFile for pack operations
  • Strict error handling with fail-fast on non-zero exit codes

CI Workflow

  • Build step: dotnet pwsh ./build.ps1 -Build
  • Test step: dotnet test --no-build (uses direct command to avoid exit code masking)
  • Pack step: & ./build.ps1 -Pack (already in PowerShell shell context)

Integration Tests

  • Updated to use & ../../build.ps1 -Pack instead of dotnet pack

Documentation

  • Added "Building from Source" section to README.md

Usage

# Build both Roslyn variants
dotnet pwsh ./build.ps1

# Run tests (note: use dotnet test directly for CI)
dotnet test --no-build --configuration Release

# Create package
dotnet pwsh ./build.ps1 -Pack -VersionSuffix "beta1"

The script is directory-independent (Push/Pop-Location) and properly fails on any errors without masking test failures.

Original prompt

Implement what's described in issue #208.

Do not ask for a review until complete. Test your changes to make sure everything is working as expected.

The full plan, should you need to consult it can be found in plan.md in the root of the repo.


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 6 commits February 14, 2026 22:52
Co-authored-by: atifaziz <20511+atifaziz@users.noreply.github.com>
Co-authored-by: atifaziz <20511+atifaziz@users.noreply.github.com>
Co-authored-by: atifaziz <20511+atifaziz@users.noreply.github.com>
Co-authored-by: atifaziz <20511+atifaziz@users.noreply.github.com>
…ipt calls in PowerShell context

Co-authored-by: atifaziz <20511+atifaziz@users.noreply.github.com>
…shell context

Co-authored-by: atifaziz <20511+atifaziz@users.noreply.github.com>
Copilot AI changed the title [WIP] Implement changes outlined in issue #208 Add build.ps1 for multi-Roslyn build orchestration Feb 14, 2026
Copilot AI requested a review from atifaziz February 14, 2026 23:03
@atifaziz atifaziz marked this pull request as ready for review February 14, 2026 23:26
@atifaziz atifaziz linked an issue Feb 14, 2026 that may be closed by this pull request
20 tasks
Copilot AI and others added 2 commits February 14, 2026 23:39
Co-authored-by: atifaziz <20511+atifaziz@users.noreply.github.com>
Co-authored-by: atifaziz <20511+atifaziz@users.noreply.github.com>
@atifaziz atifaziz merged commit f577a1b into roslyn-configs/main Feb 15, 2026
4 checks passed
@atifaziz atifaziz deleted the copilot/implement-issue-208 branch February 15, 2026 00:04
@atifaziz atifaziz linked an issue Feb 15, 2026 that may be closed by this pull request
11 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants