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

add github actions android builds and linux export template #538

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

magbulogtong81
Copy link

this PR adds a build for android, including export templates and android editor for all architectures. it also adds linux exports templates for i686 and x86_64 architectures.
please note that I have added concurrency on all yml files. this will cancel already running github actions if there's a new commit, which prioritizes the new commit

SCONS_CACHE: ${{github.workspace}}/.scons_cache/
run: |
PATH=${GITHUB_WORKSPACE}/x86_64-godot-linux-gnu_sdk-buildroot/bin:$PATH
scons -j2 verbose=yes warnings=extra platform=android target=${{matrix.target}} arch=${{matrix.arch}}
Copy link
Sponsor Contributor

@aaronfranke aaronfranke Aug 2, 2023

Choose a reason for hiding this comment

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

The arch names used in Godot's build system are "x86_32", "x86_64", "arm32", "arm64" with some aliases to help users pick the correct name. You are currently using "x86", "x86_64", "armv7", "arm64v8" in this pull request. Ideally, the names the CI uses should be the same as what Godot uses, since these are the names the final executables will have ("armv7" becomes ex: godot.linux.editor.arm32). So please change this.

Comment on lines 11 to +14
SCONS_CACHE_LIMIT: 4096


concurrency:
Copy link
Sponsor Contributor

Choose a reason for hiding this comment

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

Inconsistent empty line amount.

@Zylann
Copy link
Owner

Zylann commented Aug 2, 2023

android_builds.yml could be just named android.yml, so far each file is named that way.

With artifacts for all these targets, this is going to increase space usage significantly, but we'll see if it causes problems. If it does I'll probably remove builds that are less used.

Why did you separate linux_exports.yml from linux.yml? It should be possible to have them in the same file by adding a matrix entry (although only 4.1, since that file also does 4.2 dev and 4.0 for compatibility checks).

The concurrency option is a nice addition :)

@magbulogtong81
Copy link
Author

Why did you separate linux_exports.yml from linux.yml? It should be possible to have them in the same file by adding a matrix entry (although only 4.1, since that file also does 4.2 dev and 4.0 for compatibility checks).

@Zylann I've noticed that you have made different matrix for single and double precision builds for linux. so I've seperated it since I'm not sure if it's needed for linux export templates as well

rename android_builds.yml to android.yml to be consistent with other files
set the name of jobs to be more readable
rename linux exports artifact
set job names to be more readable
rename the linux_exports artifacts
@magbulogtong81
Copy link
Author

I don't know what happened, git doesn't seem to display the changes I've made on android.yml correctly

@Zylann
Copy link
Owner

Zylann commented Aug 3, 2023

I've noticed that you have made different matrix for single and double precision builds for linux. so I've seperated it since I'm not sure if it's needed for linux export templates as well

Double-precision builds are in the same matrix. They aren't in separate files. They are also needed in export templates, for example if you want to export a game with large environments. However they are less often used so for now I'm not building for all platforms with it (again to limit space usage).

I don't know what happened, git doesn't seem to display the changes I've made on android.yml correctly

Usually when making PRs I amend the last commit and use git push origin mybranch --force to replace the commit in the Github repo. That usually updates the PR.
But if you have made several commits over it since, I don't know if it works. Maybe you could try squashing your commits: https://docs.godotengine.org/en/stable/contributing/workflow/pr_workflow.html#the-interactive-rebase

strategy:
matrix:
include:
####TEPMPLATES####

Choose a reason for hiding this comment

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

Suggested change
####TEPMPLATES####
####TEMPLATES####

@Zylann Zylann force-pushed the master branch 3 times, most recently from c86f994 to 208695b Compare November 3, 2023 00:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants