-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Add arm64 Linux version of client #2342
base: master
Are you sure you want to change the base?
Conversation
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
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.
Thanks for the update! We're currently rewriting the routing on Linux (see issue #2312). This might conflict with your changes.
In future versions, we'll be removing AppImage
and some related components, includingOutlineProxyController
. Please make your updates to the .deb
target instead. And make sure to test it on a Ubuntu machine.
Also, it's important that we can build the Linux version from macOS, as that's what we use for development. Please make sure the cross-compilation also works.
@@ -65,6 +65,10 @@ tasks: | |||
desc: "Build the tun2socks binary and library for Linux" | |||
cmds: [{task: electron, vars: {TARGET_OS: "linux", TARGET_ARCH: "amd64"}}] | |||
|
|||
linux_arm64: |
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.
Have you tried to build it from macOS, will this work?
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.
I don't have any macOS hw, so I can't check this
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.
Thanks for the update, please see the comments. Please also fix the linting errors.
run: | | ||
sudo apt install ruby | ||
sudo gem install fpm | ||
export USE_SYSTEM_FPM=true && export GEM_HOME="$(ruby -e 'puts Gem.user_dir')" && export PATH="$PATH:$GEM_HOME/bin" |
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.
Similar as above, please remove these scripts from the CI job, and add instructions/build scripts to the actual action (e.g. ./client/electron/build.action.mjs
).
Please also illustrate why these steps are required.
@jyyi1 I can fix minor issues, but I'm not sure if it makes sense for now. There is critical problems that I can't solve:
There is options/workarounds:
It's my 1st attempt to build/improve electron app - so: |
I'm not sure that it's best solution, but it's working example.
It was based on my previous build instruction: #816 (comment)
But improved + added arm64 Linux CI with GitHub-hosted runner:
https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#standard-github-hosted-runners-for-public-repositories