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

VS Code 1.54 for ARM64 #98725

Merged
merged 14 commits into from
Mar 5, 2021
Merged

VS Code 1.54 for ARM64 #98725

merged 14 commits into from
Mar 5, 2021

Conversation

ItalyPaleAle
Copy link
Contributor

@ItalyPaleAle ItalyPaleAle commented Jan 26, 2021

VS Code 1.54 is coming out soon and will include support for Apple Silicon. There will be 3 bundles published:

While the Universal build will be the default on the website when users download that, it is significantly larger than the arch-specific builds because of Electron (they'll also use much more disk space after installation). With a tool like Homebrew that is capable of automatically detecting the architecture, our recommendation would be to pick the architecture-specific build here when possible.


After making all changes to a cask, verify:

Additionally, if adding a new cask:

  • Named the cask according to the token reference.
  • Checked the cask was not already refused.
  • Checked the cask is submitted to the correct repo.
  • brew audit --new-cask {{cask_file}} worked successfully.
  • brew install --cask {{cask_file}} worked successfully.
  • brew uninstall --cask {{cask_file}} worked successfully.

@ItalyPaleAle
Copy link
Contributor Author

Update: because of issues with Node.js and Big Sur 11.2 on ARM, VS Code will not ship a stable for ARM64 in 1.53 and will be happening on the next release instead. I'll update this PR in early March.

Copy link

@brainsik brainsik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAICT, the livecheck block also needs to get updated to use the arch specific URL.

@ItalyPaleAle
Copy link
Contributor Author

@brainsik is that a requirement of Homebrew?

From the point of view of VS Code, we won't update an arch-specific build without updating the other ones too. Or, at least without updating the universal one. So, maybe I could switch the livecheck to use the universal build?

@miccal miccal changed the title Preparing for VS Code 1.53 for ARM64 VS Code 1.53 for ARM64 Feb 9, 2021
@ItalyPaleAle
Copy link
Contributor Author

Hey @miccal please don't merge this yet. Even though the binaries might be available, we're not making VS Code for ARM64 available in the Stable channel until the next release because of an issue with Big Sur 11.2 and Node.js.

Would appreciate if you could wait till the 1.54 release so we are best equipped to support Apple Silicon.

CC: @deepak1556

@vitorgalvao
Copy link
Contributor

@ItalyPaleAle Please ping either me or @miccal when ready.

@ItalyPaleAle ItalyPaleAle marked this pull request as ready for review March 3, 2021 17:01
@ItalyPaleAle
Copy link
Contributor Author

@vitorgalvao @miccal the release (now 1.54) should be coming out in the next few hours. I have updated this PR with what we believe will be the hashes of the new build. I'll ping you once the release is officially out, but for now marking this ready for review :)

@ItalyPaleAle ItalyPaleAle changed the title VS Code 1.53 for ARM64 VS Code 1.54 for ARM64 Mar 3, 2021
@ItalyPaleAle
Copy link
Contributor Author

Build is out, so triggered the CI again. SHould work this time.

CC: @miccal @vitorgalvao

@cesarcoatl
Copy link
Contributor

Hello, @ItalyPaleAle.

Since there are three types of installers:

Would it be advisable to use the Universal installer for M1 and Intel or continue checking Hardware::CPU.intel?

I have installed the Universal kind on my Intel Mac, and it works just like the 64bit, but I don't have any M1 for testing.

Thanks!

@ItalyPaleAle
Copy link
Contributor Author

(Note that 1.54.0 got pulled shortly after the release for a regression - 1.54.1 should be released very shortly - I'll update this PR after)

@thecesrom The Universal installer is 2x the size because of the way Universal Electron apps are packaged today. This will continue to be the case for the foreseeable future. My recommendation would be that, for a tool like brew that has the ability to automatically detect the arch, it should install arch-specific builds, to save bandwidth and disk space. But I'm happy to cancel this PR and switch to Universal for everyone if that's the maintainers' preference.

@ItalyPaleAle ItalyPaleAle marked this pull request as draft March 4, 2021 23:36
@cesarcoatl
Copy link
Contributor

The Universal installer is 2x the size

I did notice that.

VSCode-darwin.zip = 99,570 KB
VSCode-darwin-arm64.zip = 99,058 KB
VSCode-darwin-universal.zip = 166,947 KB

I have manually bumped visual-studio-code-insiders since they started offering Intel and M1 installers (no Universal yet), and in my experience brew bum-cask-pr does not update both sha256. See discussion here Homebrew/discussions#561.

Taking that into account I consider that going with the Universal installer will make it easier to maintain, since users will still be able to bump this Cask via brew bump-cask-pr, something that is not possible when having an installer per Chip (as far as I know).

@ItalyPaleAle
Copy link
Contributor Author

Shouldn't this be something that needs to be fixed in bump-cask-pr though? I don't think this is an issue with VS Code only. Many Universal apps are 2x the size and I wanted to be mindful of people around the world who don't have fast internet (or who have ridiculous data caps like my lovely new ISP)

In any case, happy to close this PR and just open one to update visual-studio-code to use the universal build rather than the arch-specific one if you prefer.

Also, sorry again this release has been so complicated :(

@cesarcoatl
Copy link
Contributor

Shouldn't this be something that needs to be fixed in bump-cask-pr though?

I would think that the Homebrew team should consider that, yes. It would make it easier to bump Casks with one simple command.

I wanted to be mindful of people around the world who don't have fast internet (or who have ridiculous data caps like my lovely new ISP)

Definitely a fair point.

Stable versions are not updated as often as "nightlies' or "insiders", so maybe sticking with both darwin and darwin-arm64 might be better. So manually bumping wouldn't be as painful as downloading ~2x ZIP installers.

@ItalyPaleAle ItalyPaleAle marked this pull request as ready for review March 5, 2021 00:40
@ItalyPaleAle
Copy link
Contributor Author

Ok finally 1.54.1 is out, and CI is green!

@miccal
Copy link
Contributor

miccal commented Mar 5, 2021

Thank you @ItalyPaleAle.

@miccal miccal merged commit ea71c09 into Homebrew:master Mar 5, 2021
@ItalyPaleAle ItalyPaleAle deleted the vscode-applesi branch March 5, 2021 02:33
@Homebrew Homebrew locked as resolved and limited conversation to collaborators Apr 5, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants