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 crosscompile github workflow to automatically build games #140

Open
ollej opened this issue Sep 5, 2022 · 8 comments
Open

Add crosscompile github workflow to automatically build games #140

ollej opened this issue Sep 5, 2022 · 8 comments

Comments

@ollej
Copy link
Contributor

ollej commented Sep 5, 2022

I'm using a couple of github workflows to automatically compile my games on multiple platforms. Maybe this could be useful for this project as well. There's one that builds on windows/mac/linux for every commit, and one that builds release versions and creates release packages for window/mac/linux on every new release tag.

https://github.com/ollej/rust-bunner-macroquad/tree/main/.github/workflows

@64kramsystem
Copy link
Collaborator

Thanks! I think the best would be to perform this for all the games (if applied only to, say, one game, as the number of games increases, it will make less sense).

If you want to give a shot at it, let me know, otherwise, I'll tackle it at some point.

The complexity is probably in integrating matrixes with different properties (mac/win/linux, wasm...) with the dynamically generated one; I haven't checked it though - it could also be straightforward.

Something that will definitely need to be considered is caching (although this is simple); for one games there is not need, but for 5/6, it will definitely be significant. This should be very simple, as it's a few lines (I don't know what exactly to cache for Windows, though).

@ollej
Copy link
Contributor Author

ollej commented Sep 13, 2022

I don't have time to look at it right now, but I might be able to take a look at it later.

@64kramsystem
Copy link
Collaborator

I'm leaving this open for the grabs - I don't exclude that I may pick and solve it. Thanks for the reference code 😄

@ollej
Copy link
Contributor Author

ollej commented Sep 22, 2022

I've given this a shot and I have a version working here: https://github.com/ollej/rust-game-ports/actions/runs/3108972659/jobs/5038742414

I haven't checked the caching, and I needed a windows version with libsdl which supposedly windows-2016 should have. But there seems to be quite a wait for those runners. Maybe it's possible to build just the catacomb game with that runner. Possible it's just easier to download the sdl though.

I also wonder when it should be triggered, as it explodes into quite a few jobs. It already is up to 21.

@64kramsystem
Copy link
Collaborator

64kramsystem commented Sep 26, 2022

I've given this a shot and I have a version working here: https://github.com/ollej/rust-game-ports/actions/runs/3108972659/jobs/5038742414

I haven't checked the caching, and I needed a windows version with libsdl which supposedly windows-2016 should have. But there seems to be quite a wait for those runners. Maybe it's possible to build just the catacomb game with that runner. Possible it's just easier to download the sdl though.

I also wonder when it should be triggered, as it explodes into quite a few jobs. It already is up to 21.

Great! So, I'm going to split this issue in two:

I also wonder when it should be triggered, as it explodes into quite a few jobs. It already is up to 21.

This is definitely a problem. It has, fortunately, a simple solution - the projects generation matrix script can inspect which projects have been changed, and return only those. I'm going to open a separate issue - I'll take care of that.

EDIT: opened issue #146.

@64kramsystem
Copy link
Collaborator

64kramsystem commented Sep 26, 2022

I've given this a shot and I have a version working here: https://github.com/ollej/rust-game-ports/actions/runs/3108972659/jobs/5038742414

I haven't checked the caching, and I needed a windows version with libsdl which supposedly windows-2016 should have. But there seems to be quite a wait for those runners. Maybe it's possible to build just the catacomb game with that runner. Possible it's just easier to download the sdl though.

I also wonder when it should be triggered, as it explodes into quite a few jobs. It already is up to 21.

Regarding the rest - if the Windows build is problematic, we can also split the issue. Although having Windows builds is very desirable, having Linux+Mac builds is better than no builds at all 😄

I can't see what's happening in the actions because the only message I see in the failing Actions jobs is "This check failed". D'oh!

@64kramsystem
Copy link
Collaborator

This is definitely a problem. It has, fortunately, a simple solution - the projects generation matrix script can inspect which projects have been changed, and return only those. I'm going to open a separate issue - I'll take care of that.

This is implemented, now.

@ollej
Copy link
Contributor Author

ollej commented Sep 27, 2022

Great, I can try it out and see if I can get it working. Maybe I can skip the Windows build for the catacomb game until I figure out how to get the SDL libs installed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants