Setup Travis CI for build DMG (*.dmg)
Setup Travis CI for build DMG (.dmg) for macOS and upload it to releases tag on Github
- https://github.com/Symbian9/azpainter/releases/tag/continuous
TODO
- [x] Build scripts
- https://github.com/abcang/azpainter-mac
- https://github.com/abcang/homebrew-azpainter
- DONE by @abcang !
- [ ] Add settings to
.travis.yml&upload.sh- https://github.com/Symbian9/azpainter/blob/master/.travis.yml
- https://github.com/Symbian9/azpainter/blob/master/upload.sh
- Cast @aferrero2707 - need your help, please!
- [ ] Upload resulted DMG
- [ ] https://github.com/Symbian9/azpainter/releases/download/continuous/AzPainter.app.dmg
RELATED
- https://github.com/Symbian9/azpainter/issues/2
- https://github.com/Symbian9/azpainter/issues/14
REFERENCE
- https://docs.travis-ci.com/user/reference/osx
- https://github.com/aferrero2707/PhotoFlow/blob/master/.travis.yml
- https://github.com/aferrero2707/gimp-appimage/issues/9#issuecomment-385188210
Notice that I am routinely building my PhotoFlow Win and OSX packages on Travis, and we have been testing the same for RT Win builds as well.
The Win packages are cross-compiled with ming-w64 using crossroad, which you should know very well ;-).
The OSX ones are based on homebrew, and shipped as a standard OSX application bundle.
I must confess that I am a big fan of such automated package creation, because it releases a lot of repetitive workload from the developers.
@Symbian9 I will elaborate more about the OSX building on Travis later, meanwhile here are few references:
- relevant section of the travis configuration: https://github.com/aferrero2707/PhotoFlow/blob/stable/.travis.yml#L208
- dependencies build script (based on homebrew): https://github.com/aferrero2707/pf-build-osx/blob/master/dep-install.sh
- OSX bundle packaging script: https://github.com/aferrero2707/pf-build-osx/blob/master/package-photoflow-hb.sh
The tricky part has been to incrementally install and cache the homebrew packages on Travis, because otherwise the whole build process exceeds the 40min limit imposed on Travis to free jobs.
For what it's worth--possibly not much, but one can be hopeful--it is a 50m timeout that includes the VM boot. That's for public packages, if you compile a private package, the timeout is 120m. Also, there was a mention here about requesting additional time. Everybody loves Gimp, chances are they'll be kind: https://github.com/travis-ci/travis-ci/issues/7027