Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggestion: Documentation Heatmap for OS Support of Commands #242

Closed
octavian-one opened this issue Aug 16, 2024 · 4 comments
Closed

Suggestion: Documentation Heatmap for OS Support of Commands #242

octavian-one opened this issue Aug 16, 2024 · 4 comments

Comments

@octavian-one
Copy link

octavian-one commented Aug 16, 2024

As a user, I want to have a list of supported commands on operating systems (in the GitHub documentation or as a help function of Dorothy directly).

Currently, some commands check if the operating system is Ubuntu or MacOS. This can be seen by searching for references to 'is-ubuntu'. The reference to such commands could be used to automatically build a list of support - however, that would be based on Dorothy's own design.

After attempting to run setup-dns, I realized that the command is not applicable to WSL. When reviewing the results of the link above, I became curious to see what would happen if I ran setup-util-plex in WSL.

The error received was 'The [Plex Media Server] required utility was not installed. ❌'

I attempted to use the brew command, and I received the following error:

Dorothy extends the brew command to:
- enforce the correct prefix on macOS and Linux via [HOMEBREW_PREFIX = /home/o/.linuxbrew]
    - this ensures brew invokes homebrew, even when PATH is incorrect and when default brew is not homebrew
- enforce the appropriate architecture on macOS via [HOMEBREW_ARCH = ]

Dorothy shell environments are configured to:
- ensure all homebrew environment variables are configured correctly
- disable auto updates on macOS, as Dorothy handles that better via [setup-mac-brew]
- disable brew environment hints, as Dorothy handles that better via [setup-environment-commands]

Homebrew is not installed.
Homebrew is not installed.

Other commands such as is-admin come back with no result. The first command I ran that worked was setup-docker. After many installation scripts were run (by Docker), it recommended to install Docker Windows:

WSL DETECTED: We recommend using Docker Desktop for Windows. Please get Docker Desktop from https://www.docker.com/products/docker-desktop/

For the Docker scenario, Dorothy behaved as expected for a power user.

The next command I ran was get-filesystem, which returned no results.

Due to the experience with Dorothy on WSL, the easiest solution might be to recommend that it is used on a standalone operating system.

I have not tested other OS distributions. I am of the opinion that if automated tests are not available for distros that state they have daily driver support, that may be a misnomer. This could potentially confuse new Dorothy users.

Dorothy's listed support for commands would ideally be based on its own design, as I don't believe it should be responsible for explicitly calling out in Docs or Help commands that running commands like installing OBS in WSL is a bad idea:

`The [Open Broadcaster Software] utility was not found. Installing automatically... ⏲
Failed in attempting to update the source: winget
Failed when searching source: winget
An unexpected error occurred while executing the command:
0x8a15000f : Data required by the source is missing

The following packages were found among the working sources.
Please specify one of them using the --source option to proceed.
Name Id Source

OBS Studio XPFFH613W8V6LV msstore
The [Open Broadcaster Software] required utility was not installed via [winget]
The [Open Broadcaster Software] required utility was not installed. ❌`

@balupton
Copy link
Member

Daily Driver is actually a denomination for known users who are using that operating system / setup.

setup-dns is currently in need of a major overhaul, and will be moved to beta commands.

For other commands, if there is a lack of support, it'll mostly be up to PRs on the platforms by users who need those commands.

If WSL tests are possible on GitHub CI that would be cool and welcome.

I'll respond to the rest next week.

@octavian-one
Copy link
Author

octavian-one commented Aug 16, 2024

@balupton ah, good to know. I am not too familiar with how GitHub CI works. Preliminary research indicates WSL in GitHub CI YAML may make it possible to test but it would be limited to a simulated WSL that doesn't actually run on Windows.

I will move to using Dorothy with Linux soon, and am not a regular user of WSL.

--

If anyone is reading this in the future, the YAML portion for setting up WSL cloud runners can be seen here https://github.com/ubuntu/wsl-actions-example/blob/main/.github/workflows/test_wsl.yaml and here https://github.com/ubuntu/wsl-actions-example/actions/runs/7728775574/workflow

@octavian-one
Copy link
Author

Closing this to keep the issues clean and not detract Ben from the more pressing items :)

@octavian-one octavian-one closed this as not planned Won't fix, can't repro, duplicate, stale Aug 16, 2024
@balupton
Copy link
Member

So for the commands that are failing to work, such as is-admin, get-filesystem, setup-docker, setup-util-obs

these are all needing PRs by people on that system, they’d all be good first issues.

We could do use this issue for tracking broken commands on WSL:
#162

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants