machawk1 / wail

:whale2: Web Archiving Integration Layer: One-Click User Instigated Preservation
https://matkelly.com/wail
MIT License
345 stars 32 forks source link

Integrate with GitHub Actions to generate screenshots of the interface on different versions of macOS #498

Closed machawk1 closed 3 years ago

machawk1 commented 3 years ago

This is largely complete in the gh-actions branch.

However, despite stating support for macOS 11.0, per https://github.com/actions/virtual-environments/issues/1814 , they have closed it off.

As an additional caveat, I had to disable the location check in WAIL.py in this branch, as the location was not correctly identified by the Action script and the screenshots were producing the alert window saying so instead of the main interface.

Lots more to do here, anyway, with regard to changing tabs/windows and including those screenshots in the artifacts.

machawk1 commented 3 years ago

I experimented with some AppleScript (it's been a couple decades) and WAIL will respond to:

activate application "WAIL"
tell application "System Events"
    key code 21 using command down
end tell

to change the UI, activating defined menu shortcuts. This will be useful for getting screenshots of the various GUI representations. https://eastmanreference.com/complete-list-of-applescript-key-codes has a visual depiction of keycodes.

machawk1 commented 3 years ago

Integrated a parameterized call to an AppleScript in e3dbb96, which generates a screenshot of each WAIL view as an artifact. This is done for both macos-10.15 and macos-latest, the latter of which is 10.15. macOS 11.0 is not yet available in GH Actions per the above link but when it is, adding the string should scale this approach to the newer OS.

machawk1 commented 3 years ago

we are targeting end of May / beginning of June to start opening pool for Enterprise and Teams customers, and later for all customers, but that is a pretty rough timeline and the actual dates can vary.

- Per https://github.com/actions/virtual-environments/issues/2486