UltraStar-Deluxe / Play

Free and open source singing game with song editor for desktop, mobile, and smart TV
https://ultrastar-play.com
MIT License
377 stars 69 forks source link

set up automatic builds #1

Closed basisbit closed 4 years ago

basisbit commented 6 years ago
Baklap4 commented 6 years ago

Another nice to have thing is to cache Unity-2018.1.4f1 unless a newer version is found remote. This will decrease the build time.

basisbit commented 6 years ago

ci builds currently fail because with unity 2018.1 it now is impossible to activate the unity install using a personal license. There exists a workaround: create and use a pre-activated docker image

basisbit commented 6 years ago

others already worked on figuring out how to use unity + docker in travis-ci with personal license: http://www.robinryf.com/blog/2017/09/30/running-unity-inside-docker.html

Baklap4 commented 6 years ago

Travis should also be updated to be spinned up by using webhooks or installed as an app. This is because services (as it's now configured) are getting deprecated on the first of october..

GitHub plans on shutting down GitHub Services so we can shift focus to other areas of the API, such as strengthening GitHub Apps and GraphQL, and improving webhooks. The intention of GitHub Services was to allow third-party developers to submit code for integrating with their services, but this functionality has been superseded by GitHub Apps and webhooks. GitHub Services has not supported new features since April 25, 2016, and we plan to officially deprecate it on October 1st, 2018.

image

Baklap4 commented 6 years ago

Upload travis artifacts (windows, osx, linux) to github upon tag creation would be enough to setup our first kind of continuous deployment. Shouldn't be that hard: https://docs.travis-ci.com/user/deployment/releases/

basisbit commented 4 years ago

@achimmihca for your information: TravisCI automated build-check and-testcase-execution is finally working again. I'll re-enable passing the TravisCI-build check integration as requirement before merging a pull-request, if you are ok with that?

achimmihca commented 4 years ago

Nice to hear that! Does the automatic build also create an executable? I mean, is the Unity build started for some target platform?

It would be nice to have a link to the UltraStar Play nightly version for windows / linux / mac. Note that this nightly should also include needed game resources such as I18N files.

basisbit commented 4 years ago

Build of each master branch commit now finally works! here is a build of 43c0d8b: http://ultrastar.public.basisbit.s3.amazonaws.com/UltraStar-Deluxe/Play/150/150.3/UltraStarPlay-build.tar.gz

Baklap4 commented 4 years ago

Heey i haven't been following closely, but i see there's loads going on here at UltraStar Play! Good to see! Does this also build pull requests, so the reviewer and or tester can test it with a 'working' latest copy?

basisbit commented 4 years ago

Hi, @Baklap4! Pull requests are automatically unit-tested and built, but build artifacts are only uploaded to AWS for master branch commits. Otherwise, anyone could create a malicious pull request to either get some of the credentials used for the build-bot or to host malware and so on. In the Travis-CI docs, there is a note about this at the beginning of the page: Note that the artifacts addon is not available for pull request builds.

Baklap4 commented 4 years ago

Check, i'm just gonna link the issue here just for reference: https://github.com/travis-ci/travis-ci/issues/5579

basisbit commented 4 years ago

The build-bot should be good enough for now. Any further improvements can be tracked in separate issues. Also, we should start creating unit tests and integration tests, so regressions are easier to spot.