Pink2Dev / Pink2

Pinkcoin 2 Qt wallet and daemon
https://getstarted.with.pink/
MIT License
29 stars 22 forks source link

Azure pipelines continuous integration and release build system #15

Closed aistrych closed 5 years ago

aistrych commented 5 years ago

It adds Azure Pipelines build system config files. Azure Pipelines is developed by Microsoft and is similar to CircleCI but has several advantages. It offers up to ten parallel jobs for Windows, Linux and MacOS, every job has available dual core processor and what is important it's for free for open source projects.

In current form build script compiles Pinkcoin binaries and its dependencies for all platform at once. First time it builds dependencies and publishes them as artifacts. Artifacts are downloaded in next build and republished once again. This way first build for all platform take around 36 minutes and subsequent around 16 minutes. Script is not fully parallelized, I'm sure it can be improved in the future.

First Azure Pipeline configuration is not very intuitive (I can help) but it's doable.

I am not sure MacOS build script for Pinkcoin Qt wallet is correct (I don't have OSX to test it). Especially I am not sure about lang support and packaging it into dmg file: https://github.com/Astrych/Pink2/blob/azure_pipelines/.azure/macos/build-pinkcoin.yml#L29

CircleCI build is faster for continuous integration but we can use Azure Pipelines for release builds. What do you think?

MiWCryptoCurrency commented 5 years ago

Awesome work. This is really cool. Looks good to me.

aistrych commented 5 years ago

Hm, I've discovered that Qt wallet from Windows build is crashing :/ It compiles but crashes at start (if there is no pink2 folder at start main window appears but crashes shortly after). @MiWCryptoCurrency Do you have any idea what may cause that? Personally I'm using Linux so I'm not sure how to test that ;D

MiWCryptoCurrency commented 5 years ago

Hmm not sure. Maybe with wine in linux? The runtime wine logs may reveal what causing it to fall over. Otherwise run it with a debugger (MS VS has a good one for windows) and find out why its crashing.

Is this just from the Azure binaries? The circleci produced ones are ok? (I believe this is the source of the official release)

aistrych commented 5 years ago

It crashes on my friend's PC (Windows 10) and it crashes with wine (Linux). Ok, will try to debug that. Haven't checked circleci build for Windows. Release versions Caligo produces aren't build using Circleci I think. The only one CircileCi config I know is in Caligo repo and most of the code in that Azure Pipeline is based on that code ;) Under Windows 10 I've got no info, it just crashes. Under wine I've got crash report but it's very cryptic at least for me (some memory addresses).