EngoEngine / engo

Engo is an open-source 2D game engine written in Go.
https://engoengine.github.io
MIT License
1.74k stars 136 forks source link

Improve CI #711

Closed ilyar closed 4 years ago

ilyar commented 4 years ago

New matrix and names

ENV_TYPE list values: desktop, wasm, android comand make qa = lint, test, build, betch, verify (demo, tutorial) platfoms: linux, windows, macos and go versions, at momret used 1.13

platfom lint test bench build tutorial demo
windows desktop :ok: :ok: :ok: :ok: :ok: :ok:
linux desktop :ok: :ok: :ok: :ok: :ok: :ok:
macos desktop :ok: :ok: :ok: :ok: :ok: :ok:
linux browser :ok: :ok: :ok: :ok: :ok: :ok:
macos browser :ok: :ok: :ok: :ok: :ok: :ok:

sckip

JFYI build linux mobile :ok:

docker run --rm -v $PWD:/app -it \
-e ENV_TYPE=mobile \
docker.pkg.github.com/dockerware/goapp/go-ndk:1.13.10-21.1.6352462 \
bash script/toolchain.sh -s && make verify

tasks for @Noofbiz

Noofbiz commented 4 years ago

This looks so great. So, you can do it all with github actions? Awesome. Should I get rid of Appveyor and Travis? Seems like they’re just getting in the way at this point. Looks good so far, let me know if you need anything from me and when you’re ready to review.

According to the checkboxes, it looks like it’s building the demos on windows but is unable to build, test, or Traffic Manager? Seems weird to me, is it just because the scripts aren’t fully written yet? Other than that I’m not sure what the issue there could be.

Android building is a huge pain, lol. I have a repo that has a certain build of the android tool chain pre-compiled. What I did was use github to clone that repo. If I didn’t have it pre-compiled TravisCI would time-out while installing it. I’m on my phone right now so can’t really look it up easily, I’ll edit this later if needed with the link.

ilyar commented 4 years ago

This looks so great. So, you can do it all with github actions? Awesome. Should I get rid of Appveyor and Travis?

Yes

Looks good so far, let me know if you need anything from me and when you’re ready to review.

Need set env var COVERALLS_TOKEN in https://github.com/EngoEngine/engo/settings/secrets

Any help with a gomobile will be useful, I tried to build an android according to your scripts and a special repository (Noofbiz/android-ndk), but it didn’t work, it’s really a pain.

I still want to finalize the scripts and all the same I will work with the android, but despite this it will be useful to want a review. It will be easier for me to make the necessary corrections in the place with the rest of the changes.

Noofbiz commented 4 years ago

By the way, if you can't get it to build on Android and windows browser that's okay we can merge this in and add them down the road.

Noofbiz commented 4 years ago

It looks like the issue with the Windows browser tests is the path is incorrect. It's looking for go_js_wasm_exec in '$GOPATH/misc/wasm' but it should be looking in '$GOROOT/misc/wasm'

Noofbiz commented 4 years ago

Looks like it's missing xorg and gl stuff. Try `sudo apt-get install libasound2-dev xorg-dev libgl1-mesa-dev'

Noofbiz commented 4 years ago

Sorry all the ci stuff is like this lol. It's so frustrating because you think the script it perfect then you run it and there's always some tiny thing that makes it all fail

Noofbiz commented 4 years ago

The latest one looks like it's failing on Android due to $GOROOT/bin (or is it $GOPATH/bin?) not being on the $PATH, so it can't find the gomobile command

ilyar commented 4 years ago

@Noofbiz ~it ready~ 8(

Noofbiz commented 4 years ago

And that last commit fixing it is exactly why I hate CI

ilyar commented 4 years ago

:+1: