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

Should we set up some CI tool for the repository? #99

Open
den-kozlov opened this issue Dec 14, 2018 · 8 comments
Open

Should we set up some CI tool for the repository? #99

den-kozlov opened this issue Dec 14, 2018 · 8 comments
Labels
enhancement New feature or request

Comments

@den-kozlov
Copy link
Collaborator

@javisar, do you think it is worth to setup some CI tool to automate releases?
It allows us to get rid of binaries on VCS, which causes conflicts on every merge.
Build can be triggered on every accepted pull request so binaries will alway be up-to-date.

I can invest some of my time into this.

@den-kozlov den-kozlov changed the title Should we set up some CI tool in a repo? Should we set up some CI tool for the repository? Dec 14, 2018
@javisar
Copy link
Owner

javisar commented Dec 15, 2018

It could be worth. I would be great in fact, that annoying dlls... Tbh, I haven't used CI with git. Go ahead if you want.

@javisar javisar added the enhancement New feature or request label Dec 18, 2018
@Flow86
Copy link

Flow86 commented Dec 28, 2018

you could use appveyor for that, you could provide a (private) nuget package with the oni assembly dll file (I think that file is needed for compilation?) inside appveyor, let it automatically compile and publish the mod files via the github release api (much better place than a git repository to place binaries btw)

( see https://www.appveyor.com/docs/deployment/github/ )

@den-kozlov
Copy link
Collaborator Author

I've managed to set up the travis-ci build in my repo (https://github.com/Blindfold-Games/ONI-Blind-MODS). Binaries are provided via releases. I pull ONI dll's from my google drive, but private nuget package is a much better solution. I have no idea why I didn't tried that, but I definitely will. Thank you for the hint @Flow86.
I've tried Appveyor at first, but couldn't find the way to turn off Post-Build events in the settings. I guess one should provide a custom build script to do that. And that's where they lost me :)
@javisar I can share my Travis-CI config (or you can get .travis.yml from my repo) so you can deploy it. The most complex step in my build pipeline is refreshing ONI libs on my google drive. If that could be simplified by means of nuget packages it would be great.

@Flow86
Copy link

Flow86 commented Dec 29, 2018

ah if you can build oni mods with mono too, then travis is much better than appveyor.

@den-kozlov
Copy link
Collaborator Author

ah if you can build oni mods with mono too, then travis is much better than appveyor.

Well yeah, I guess so. The entire Unity framework is based on Mono after all.

@javisar
Copy link
Owner

javisar commented Jan 6, 2019

@blindfold I'll try your yml. Thanks for the help. This sould work nicely with ONIModloader repo, but I'm not sure how to make it work for this mods repo. I mean, if I understand correctly, every time I make a simple change to a mod, travis will generate a new release for all the mods, and this seems to me an overkill. From the top of my mind, a simple solution could be, include the Mods (with the dlls) folder into gitignore, and use travis to generate them when changed. Idk if this is possible.

@den-kozlov
Copy link
Collaborator Author

@javisar Yes Travis does automatic build on each commit and accepted pull-request of each branch, but it won't do release automatically (at least in my config). Github requires that each release should be tagged. You have to do this manually by tagging specific commit when you are ready to release your mod-pack into the wild. So Travis will only archive and release mods when it builds a tagged branch. So you still have full control on what and when your are releasing.
Just tag, push and wait for confirmation release from Travis. Simple. =)

@jerviscui
Copy link

sure

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants