Skip to content

Installation test plan #632

@dfabulich

Description

@dfabulich

I'm not 100% sure where to put this, but I feel like Skip would benefit a lot from some kind of standard installation test. Here's what I've been doing on my 64GB M1 Max MacBook Pro, but it's not good enough.

  1. Download the latest IPSW (you can skip this step, but it makes running the test a lot faster)
    1. Install mist https://github.com/ninxsoft/mist-cli (I do it with brew install mist-cli)
    2. mist download firmware 26 … that will download the ipsw in /Users/Shared/Mist
  2. Install UTM.app https://mac.getutm.app/
  3. Create a new macOS VM.
    1. Use the ipsw you downloaded with mist (or let UTM do it, but if you do that, it will download an 18GB ipsw and then throw it away when it's done)
    2. On my 64GB M1 Max MacBook Pro, I create a VM with 32GB RAM, 100GB disk
  4. Follow the instructions in https://skip.dev/docs/gettingstarted/
    1. "Install Xcode"
      1. In a VM, you can't download apps from the App Store, so go to https://developer.apple.com/download/all/?q=Xcode and download the latest release version of Xcode there.
      2. It's in a .xip; double click it, and drag the .app into /Applications.
      3. Launch Xcode, accept the license, check the latest iOS platform support, uncheck Predictive Code Completion (just to save time) and let it start downloading. (You can continue the next step in parallel.)
    2. "Install Android Studio"
      1. Go to https://developer.android.com/studio click the Download button, select Apple Silicon, and download it.
      2. You'll get a .dmg file; open it, drag the .app into /Applications
      3. Run Android Studio, and click Next Next Next to install the stock components (SDK platform, SDK tools, and emulator) and accept licenses (TODO: Install command-line tools as well?)
    3. "Install Homebrew"
      1. Go to https://brew.sh/ and run the script on the home page
      2. That will install Xcode Commandline Tools and xcode-select them. skip doctor should suggest using xcode-select if the command-line tools are selected #609 You have to manually sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer.
    4. brew install skiptools/skip/skip
    5. When Xcode/Android Studio are done installing SDKs, run skip checkup

This isn't enough, because, from here, we have to set up an emulator and launch it. But there are a ton of bugs around that. See https://github.com/orgs/skiptools/discussions/629 for more detail.

But the biggest flaw in this test plan is that you can't run the Android emulator at all on a macOS VM on Apple Silicon! It crashes on startup with this error: HVF error: HV_UNSUPPORTED (The "HV" is for "hardware virtualization.") I know of no workaround. 😭 Even Github Actions are impacted. ReactiveCircus/android-emulator-runner#350

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions