PowerToys icon indicating copy to clipboard operation
PowerToys copied to clipboard

Add new pipeline using the latest webview2 from Edge Canary

Open shuaiyuanxx opened this issue 1 year ago • 8 comments

Summary of the Pull Request

Changes Introduced

This PR introduces a new parameter usingLatestWebView2 to control whether the latest WebView2 Canary version is used during testing and CI builds. The specific changes are as follows:

  1. job-test-project.yml
  • Added usingLatestWebView2 parameter of type boolean with a default value of false.
  • Included a PowerShell script to download and install the latest Microsoft Edge Canary version.
  • Added a registry modification script to enable the WebView2 Canary channel.
  1. pipeline-ci-build.yml
  • Added usingLatestWebView2 parameter of type boolean with a default value of false.
  • Passed the usingLatestWebView2 parameter in the stages section to use it during CI builds.

Purpose

The introduction of the usingLatestWebView2 parameter allows developers to opt-in to using the latest WebView2 Canary version during tests and CI builds. This helps in identifying and resolving issues related to the latest WebView2 version early, thereby improving the project's stability and compatibility.

PR Checklist

  • [ ] Closes: #xxx
  • [x] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
  • [ ] Tests: Added/updated and all pass
  • [ ] Localization: All end user facing strings can be localized
  • [ ] Dev docs: Added/updated
  • [ ] New binaries: Added on the required places
  • [ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed

pipeline runs successfully.

shuaiyuanxx avatar Dec 12 '24 09:12 shuaiyuanxx

@check-spelling-bot Report

:red_circle: Please review

See the :open_file_folder: files view, the :scroll:action log, or :memo: job summary for details.

Unrecognized words (1)

linkid

These words are not needed and should be removed accctrl aclapi appdata Appium appmodel atlbase atlcom atlfile atlstr bootstrapper caniuse ceq cguid Cmds cne codicon comdef commandline commctrl commdlg comutil consts cppwinrt CRSEL crx dcommon dcomp DCs desktopwindowxamlsource devpkey dxgidebug dxgiformat emmintrin Emoji endpointvolume evntrace exdisp Functiondiscoverykeys guiddef hinstance hstring Intelli junja Knownfolders lmcons LONGLONG lpt LTRB mfapi mfidl mfobjects mftransform Minimatch mmdeviceapi mmsystem msedge msiquery newdev nodoc notlike Objbase objidl pathcch Pnp Preinstalled processthreadsapi propkey propvarutil redistributable Renamer reparse restrictederrorinfo roadmap ruleset runtimes shellapi shellscalingapi shldisp shlobj stl strsafe strutil subquery SWC tailwindcss tapp thumbcache tlhelp Toolset touchpad Tsd uninstantiated uniquifier Unknwn unregistering urlmon USERDATA Uxtheme verrsrc wcautil wincodec Wincodecsdk windef windowsapp windowsx winerror winevt winsdkver winternl wsl wtsapi

To accept these unrecognized words as correct and remove the previously acknowledged and now absent words, you could run the following commands

... in a clone of the [email protected]:shuaiyuanxx/PowerToys.git repository on the dev/addPipelineForWV2 branch (:information_source: how do I use this?):

curl -s -S -L 'https://raw.githubusercontent.com/check-spelling/check-spelling/v0.0.24/apply.pl' |
perl - 'https://github.com/microsoft/PowerToys/actions/runs/12293180188/attempts/1'

If the flagged items are :exploding_head: false positives

If items relate to a ...

  • binary file (or some other file you wouldn't want to check at all).

    Please add a file path to the excludes.txt file matching the containing file.

    File paths are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your files.

    ^ refers to the file's path from the root of the repository, so ^README\.md$ would exclude README.md (on whichever branch you're using).

  • well-formed pattern.

    If you can write a pattern that would match it, try adding it to the patterns.txt file.

    Patterns are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your lines.

    Note that patterns can't match multiline strings.

github-actions[bot] avatar Dec 12 '24 09:12 github-actions[bot]

fixed spell check failure

crutkas avatar Dec 13 '24 00:12 crutkas

is there someway to validate we're getting the canary version and the pipeline would fail if canary is in a bad spot?

crutkas avatar Dec 13 '24 00:12 crutkas

is there someway to validate we're getting the canary version and the pipeline would fail if canary is in a bad spot? If there is no automation functional test related to Webview2 component, I think the answer is no. We can see what automation we can add in near future.

yeelam-gordon avatar Dec 13 '24 13:12 yeelam-gordon

Oh! PR #36282 uses the word use instead of using. For consistency, you should stick with one version of that word! 🙂

DHowett avatar Dec 13 '24 23:12 DHowett

Oh! PR #36282 uses the word use instead of using. For consistency, you should stick with one version of that word! 🙂

Done

shuaiyuanxx avatar Dec 16 '24 03:12 shuaiyuanxx

per @dhowett statement, @shuaiyuanxx saying he addressed the feedback, i'm going to dismiss Dustin's review.

crutkas avatar Dec 16 '24 22:12 crutkas

@yeelam-gordon my statement for failing was just to be sure we know everything works in the failure case for alerting

crutkas avatar Dec 17 '24 02:12 crutkas