-
Notifications
You must be signed in to change notification settings - Fork 965
Enable cross-compilation from Linux to Mac #13537
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
Conversation
ee220ce
to
f647e8c
Compare
f647e8c
to
0f2b97d
Compare
What issue we currently have that will be solved by cross-compiling MacOS on Linux? Won't this arise another issues that we will have to deal with? Will Linux be able to compile |
With this change, sparkle will be built separatly from b-c? |
@simonhong yes. See brave/Sparkle#19. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM for sparkle related changes.
ab80c3b
to
a1bb2ad
Compare
5a4ea3b
to
1d6124b
Compare
can you pls build release builds on this branch (x64 and arm64) to make sure everything's working fine? |
1d6124b
to
0be98bf
Compare
@goodov no problem. Here are the builds without Goma: |
@bridiver could you also review or point me to someone else who can unlock this PR? |
0be98bf
to
c5e05e0
Compare
@brave/sec-team we are downloading two new Rust dependencies as part of Brave's build process. There are already several others which we are downloading. Do we need a security review for this? (This was raised by @bridiver.) |
Previous commits decoupled it from this repository, instead building its binaries in CI. However, this goes against our recent push to keep all necessary code in this repository. This commit therefore adds Sparkle back. The implementation still pulls pre-built binaries from CI by default. However, it now also supports building locally. This is then used by CI to generate the pre-built binaries.
This adds the necessary ninja dependencies for: npm run build Static -- \ --build_sparkle --target=brave/vendor/sparkle:tar_sparkle_binaries
It can be passed to `npm run build` via `--gn`.
8681617
to
3794fa2
Compare
Just a quick update that I would merge this but there have been CI problems with Windows and I want a green build before merging. I expect to get it and merge after my PTO next week. |
The following commands can be used to test the new implementation:
Resolves https://github.com/brave/devops/issues/7551. Depends on brave/Sparkle#19 and https://github.com/brave/devops/pull/7615.
Submitter Checklist:
QA/Yes
orQA/No
;release-notes/include
orrelease-notes/exclude
;OS/...
) to the associated issuenpm run test -- brave_browser_tests
,npm run test -- brave_unit_tests
,npm run lint
,npm run gn_check
,npm run tslint
git rebase master
(if needed)Reviewer Checklist:
gn
After-merge Checklist:
changes has landed on
Test Plan:
This change could affect Brave's auto-update functionality on macOS. Please test the scenarios 1.-4. specified under "Test Plan" in #12335. It should be enough to do this on one or two macOS versions, say the most recent one and the oldest one supported by Brave.