a3dec1900d
#### Details This PR fixes a structural (but non-functional) bug associated with building mandatory prod updates. I also realized that this behavior wasn't documented anywhere, so I added an extra bit to the docs. The integration test that runs during the build now verifies that the generated value for production minimum version is correct based on the `IsMandatoryProdUpdate` environment variable. I ran 3 validation builds: 1. When `IsMandatoryProdUpdate` = "Dave", the build fails in the integration tests. Log output ([link](https://mseng.visualstudio.com/1ES/_build/results?buildId=24503522&view=logs&j=06f1c8b2-7bb0-5c49-9f03-01a8f16e24cf&t=acaf2a90-5d04-5dbb-0d6a-3dcb39127913&l=4438)): ``` Failed EmbeddedManifestMatchesRawManifest [172 ms] Error Message: Assert.IsTrue failed. The IsMandatoryProdUpdate environment variable must be 'true' or 'false' (case sensitive) if it is set. Stack Trace: at ManifestTests.IntegrationTests.EmbeddedManifestMatchesRawManifest() in D:\a\1\s\src\ManifestTests\IntegrationTests.cs:line 88 ``` 2. When `IsMandatoryProdUpdate` = "true", the build succeeds and uses current version as minimum prod version. Log output ([link](https://mseng.visualstudio.com/1ES/_build/results?buildId=24503524&view=logs&j=7c3ebc89-e7dd-5791-8c02-2ea1f3a27b50&t=9b81c1c0-976a-538f-a1e1-f4d170544876&l=3063)): ``` VERBOSE: Entering Get-MinimumProductionVersion VERBOSE: currentVersion = 1.1.2532.08 VERBOSE: octokitRelativePath = Octokit\9.0.0\lib\netstandard2.0\Octokit.dll VERBOSE: isMandatoryProdUpdate = true VERBOSE: Using currentVersion for minimumProductionVersion VERBOSE: Exiting Get-MinimumProductionVersion with value of 1.1.2532.08 ``` 3. When `IsMandatoryProdUpdate` = "false", the build succeeds and uses latest prod release as minimum prod version. Log output ([link](https://mseng.visualstudio.com/1ES/_build/results?buildId=24503525&view=logs&j=7c3ebc89-e7dd-5791-8c02-2ea1f3a27b50&t=9b81c1c0-976a-538f-a1e1-f4d170544876&l=3089)) ``` VERBOSE: Entering Get-MinimumProductionVersion VERBOSE: currentVersion = 1.1.2532.09 VERBOSE: octokitRelativePath = Octokit\9.0.0\lib\netstandard2.0\Octokit.dll VERBOSE: isMandatoryProdUpdate = false VERBOSE: Fetching version from 'https://github.com/microsoft/accessibility-insights-windows/releases/tag/latest' VERBOSE: Entering Get-Client VERBOSE: Relative path to OctoKit.dll = Octokit\9.0.0\lib\netstandard2.0\Octokit.dll VERBOSE: Full path to OctoKit.dll = C:\NuGetPackages\Octokit\9.0.0\lib\netstandard2.0\Octokit.dll VERBOSE: Exiting Get-Client VERBOSE: Exiting Get-MinimumProductionVersion with value of 1.1.2445.01 ``` ##### Motivation <!-- This can be as simple as "addresses issue #123" --> ##### Context <!-- Are there any parts that you've intentionally left out-of-scope for a later PR to handle? --> <!-- Were there any alternative approaches you considered? What tradeoffs did you consider? --> #### Pull request checklist <!-- If a checklist item is not applicable to this change, write "n/a" in the checkbox --> - [ ] Run through of all [test scenarios](https://github.com/Microsoft/accessibility-insights-windows/blob/main/docs/Scenarios.md) completed? - [n/a] Does this address an existing issue? If yes, Issue# - - [n/a] Includes UI changes? - [n/a] Run the production version of Accessibility Insights for Windows against a version with changes. - [n/a] Attach any screenshots / GIF's that are applicable. > Note: After the PR has been created, certain checks will be kicked off. All of these checks must pass before a merge. |
||
---|---|---|
.github | ||
brand | ||
build | ||
docs | ||
keys | ||
src | ||
tools | ||
.gitattributes | ||
.gitignore | ||
CODE_OF_CONDUCT.md | ||
Contributing.md | ||
README.md | ||
SECURITY.md | ||
eula.rtf | ||
license.txt | ||
thirdpartynotices.html |
README.md
Accessibility Insights for Windows
Accessibility Insights for Windows is the project for Accessibility tools on the Windows platform.
Installing Accessibility Insights for Windows
You can download and install the application from https://accessibilityinsights.io.
Building the code
You can find more information on how to set up your development environment here.
1. Clone the repository
- Clone the repository using one of the following commands
orgit clone https://github.com/Microsoft/accessibility-insights-windows.git
git clone git@github.com:Microsoft/accessibility-insights-windows.git
- Select the created directory
cd accessibility-insights-windows
2. Open the solution in visual studio
- Use the
src/AccessibilityInsights.sln
file to open the solution.
3. Build and run unit tests
4. Build the MSI project
The MSI project is used to package all the code into an installer that can be used to install Accessibility Insights for Windows. This is not a required step. By default the MSI project is not built in either configuration.
Note: The MSI can only be built in the Release
config.
- The MSI project requires WIX. WiX is a modern SDK that restore will automatically download from NuGet. Learn about the Wix toolset from http://wixtoolset.org/.
- To build the MSI locally, set build configuration to
Release
. - Find the MSI project in the solution explorer under the
packages
folder. - Right click on the MSI project and select
Build
. - Once the build is complete, the MSI can be found at
\src\MSI\bin\Release
.
More Information
Visit the Overview of Accessibility Insights for Windows page.
Testing
We use the unit test framework from Visual Studio. Find more information in our FAQ section.
Contributing
All contributions are welcome! Please read through our guidelines on contributions to this project.
FAQ
Please visit our FAQ section to get answers to common questions.
Data/Telemetry
By opting into telemetry, you help the community develop inclusive software. We collect anonymized data to identify the top accessibility issues found by users. This will help focus the accessibility tools and standards community to improve guidelines, rules engines, and features.
This project collects usage data and sends it to Microsoft to help improve our products and services. Read our privacy statement to learn more.
Reporting security vulnerabilities
If you believe you have found a security vulnerability in this project, please follow these steps to report it. For more information on how vulnerabilities are disclosed, see Coordinated Vulnerability Disclosure.