pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/dotnet/fsharp/pull/20079

ithub.githubassets.com/assets/pull-requests-be6017ec12798e73.css" /> VS integration tests running on CI by abonie · Pull Request #20079 · dotnet/fsharp · GitHub
Skip to content

VS integration tests running on CI - #20079

Draft
abonie wants to merge 15 commits into
dotnet:mainfrom
abonie:apex-int-tests
Draft

VS integration tests running on CI#20079
abonie wants to merge 15 commits into
dotnet:mainfrom
abonie:apex-int-tests

Conversation

@abonie

@abonie abonie commented Jul 22, 2026

Copy link
Copy Markdown
Member

Existing integration tests ported to Apex for less flakiness, running on CI.

abonie and others added 12 commits July 23, 2026 16:31
…n step

The azure-pipelines-PR.yml 'Detect CI VS Roslyn version' step and the
FSHARP_APEX_ROSLYN_VERSION override in eng/Versions.props were committed, but the
script itself was left untracked, so on CI 'powershell: eng\SetApexRoslynVersion.ps1'
could not find the file and failed with 'The module ''eng'' could not be loaded'.

Co-authored-by: Copilot <[email protected]>
Copilot-Session: fe2b3239-4176-4f13-b6f6-486c8799765a
main (via darc) bumped the dotnet/runtime System.* packages to 10.0.8 (assembly
10.0.0.8). The F# VSIX then references System.Composition.AttributedModel 10.0.0.8,
which the CI scout VS (18.7, ships 8.0.0.0) cannot bind -- its binding-redirect
ceiling is below 10.0.0.8 -- so every FSharp.Editor MEF part fails to load,
IFSharpWorkspaceService is null, and all Apex tests fail with an NRE in
LanguageService.fs. This is the same forward-pinned-dependency vs older-CI-VS
problem already handled for Roslyn.

Extend the FSHARP_APEX_ROSLYN_VERSION-gated override in eng/Versions.props to also
roll System.Composition and System.Collections.Immutable back to 10.0.2 for the
Apex leg only. Verified: with a simulated 10.0.8 base the override forces 10.0.2,
and FSharp.Editor compiles and references System.Composition.AttributedModel
10.0.0.2. The committed pin and product/main builds are unaffected.

Co-authored-by: Copilot <[email protected]>
Copilot-Session: fe2b3239-4176-4f13-b6f6-486c8799765a
Scaffolds an internal DevDiv DartLab pipeline (modeled on dotnet/roslyn's
azure-pipelines-integration-dartlab.yml) that installs a matching Visual Studio via
the VS bootstrapper on a VS-Platform test machine, deploys the F# VSIX, and runs the
existing Apex tests. This is the robust fix for the version-skew that blocks running
the VSIX on the older pre-baked public scout VS (the VS-SDK floor, e.g. RpcContracts
requiring System.Composition >= 10.0.8, prevents downgrading to match it).

Files (all trigger:none / inert until registered):
- azure-pipelines-integration-dartlab.yml: entry, extends the VS real-sign template.
- eng/pipelines/apex-integration/{stage,integration-job}.yml: provision + install VS +
  deploy VSIX + run Apex via the existing -testApex path.
- eng/pipelines/apex-integration/README.md: external prerequisites + a concrete request
  to the DartLab/VS team.
- eng/setup-pr-validation.ps1: PR-branch setup on the test machine (adapted from Roslyn).

Every access-dependent value is marked '# TODO(P0):'. Requires DevDiv/DartLab access,
an internal dotnet-fsharp mirror, and a VS-Platform pool before it can be registered
and run; those are outside this repo.

Co-authored-by: Copilot <[email protected]>
Copilot-Session: fe2b3239-4176-4f13-b6f6-486c8799765a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

1 participant

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy