-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Labels
deferredenhancementNew feature or requestNew feature or requestvs2026Visual Studio 2026 extension developmentVisual Studio 2026 extension development
Description
Summary
Create independent CI/CD pipelines for the Visual Studio 2026 extension. The VS 2026 extension (C#/.NET/VSIX) must have completely separate build and publish workflows from the VS Code extension (TypeScript/.vsix).
Motivation
- Different languages and build systems (dotnet build vs npm)
- Different package formats (VSIX for VS Marketplace vs .vsix for VS Code Marketplace)
- Different marketplaces and publish tooling
- Independent release cadences — one extension shipping shouldn't block the other
- Per user directive from Jeffrey T. Fritz
Acceptance Criteria
- GitHub Actions workflow for building the VS 2026 extension on PR and push
- Runs
dotnet build/dotnet testfor thevs2026/project - Only triggers on changes to
vs2026/**paths - Matrix: Windows (required), optionally Linux for service-layer unit tests
- Runs
- GitHub Actions workflow for publishing the VS 2026 extension
- Triggers on tag push (e.g.,
vs2026-v*) or manual dispatch - Builds release VSIX package
- Publishes to Visual Studio Marketplace
- Creates GitHub release with VSIX artifact attached
- Triggers on tag push (e.g.,
- Existing VS Code CI workflows remain untouched
- Path filters ensure VS Code changes don't trigger VS 2026 builds and vice versa
- Build status badges in README for both extensions
Implementation Details
Build Workflow (.github/workflows/vs2026-build.yml)
- Trigger:
pushandpull_requestonvs2026/**paths - Steps: checkout → setup-dotnet → restore → build → test → upload VSIX artifact
- Matrix:
os: [windows-latest](VS extensions require Windows for full VSIX packaging)
Publish Workflow (.github/workflows/vs2026-publish.yml)
- Trigger: tag
vs2026-v*orworkflow_dispatch - Steps: checkout → setup-dotnet → build Release → package VSIX → publish to VS Marketplace → create GitHub release
- Secrets needed:
VS_MARKETPLACE_PAT(separate from any VS Code marketplace token)
Path Isolation
# vs2026-build.yml
on:
push:
paths: ['vs2026/**']
pull_request:
paths: ['vs2026/**']
# Existing VS Code workflows should add path exclusions if not already filteredDependencies
- VS 2026: Project scaffold and VSIX configuration #43 (VS 2026 project scaffold must exist before CI can build it)
Size: M
Routing
Assigned to squad:livingston (DevOps/CI)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
deferredenhancementNew feature or requestNew feature or requestvs2026Visual Studio 2026 extension developmentVisual Studio 2026 extension development