Accessibility Insights for Windows
Перейти к файлу
Dave Tryon a3dec1900d
Chore: Add fix & docs for mandatory prod update (#1740)
#### 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.
2023-12-12 10:46:03 -08:00
.github Chore: Fix Dependabot config (#1720) 2023-10-12 20:18:15 -07:00
brand
build chore(deps): Bump Microsoft.CodeAnalysis.NetAnalyzers from 7.0.4 to 8.0.0 (#1736) 2023-11-20 09:05:47 -08:00
docs Chore: Add fix & docs for mandatory prod update (#1740) 2023-12-12 10:46:03 -08:00
keys
src Chore: Add fix & docs for mandatory prod update (#1740) 2023-12-12 10:46:03 -08:00
tools Chore: Add fix & docs for mandatory prod update (#1740) 2023-12-12 10:46:03 -08:00
.gitattributes
.gitignore
CODE_OF_CONDUCT.md
Contributing.md
README.md
SECURITY.md
eula.rtf
license.txt
thirdpartynotices.html

README.md

Product Logo Accessibility Insights for Windows

Build Status Downloads Release

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
    git clone https://github.com/Microsoft/accessibility-insights-windows.git
    
    or
    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.