Add build definition to test TypeScript compatibility of office-ui-fabric-react #8961
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR adds a build definition that tests the compilation of
office-ui-fabric-react
against a range of TypeScript versions contained in a repository I will make public once this is merged.Initially, the build trigger is pinned to a specific branch for testing end-to-end and to avoid resource contention.
I will follow-up with an iteration that modifies the triggers to contain
office-ui-fabric-react
tagged releases.Why?
The goal is to be notified when an incompatible typing is introduced so that we can:
Build Overview
This build definition consists of two jobs with their runtime cost (tested on free DevOps agents) described below:
Job 1 - Build & Pack OUFR (~8 mins)
office-ui-fabric-react
directly.npm pack
to produce theoffice-ui-fabric-react
tarball and publishes it as an artifact for the second job to consume.Note: The need for this job can likely be eliminated entirely in a subsequent iteration.
Job 2 - Compile OUFR in Sample App (~1 min per)
office-ui-fabric-react
tarball.office-ui-fabric-react
office-ui-fabric-react
tarball is installed to the project. This is done to ensure we are not consuming a different release via NPM.tsc
in the root of the sample application and reports success or failure as build status.Note: 30 seconds of the above runtime is the compliance step 😄.
Example Build Output
Related Issues: #8458 #8051 #7054
cc: @aftab-hassan @Vitalius1 @natalieethell @patmill
Microsoft Reviewers: Open in CodeFlow