Page 1 of 3

Azure pipeline building, tasting and releasing

Posted: Mon Oct 15, 2018 3:39 pm
by Dade
GitHub has recently been acquired by Microsoft and they are now offering a free and unlimited (for open source) building, testing and releasing pipeline on Azure (the MS cloud service).
This is a big step forward compared Trevis-CI where there is a one hour limit on the process time so I'm not even able to get a full build (i.e. I have to upload some pre-built library).

This is can potentially lead some major improvement:

- automatic full compilation after any commit of OpenCL and not OpenCL version for Windows, Linux and MacOS;
- automatic running all unit tests for all versions mentioned above (this can easily take days);
- automatic release of executables for all versions mentioned above (aka daily builds);

I'm currently developing this solution at https://dev.azure.com/LuxCoreRender/LuxCoreRender and I have a working version of the automatic compilation/test/upload of No-OpenCL version for Linux.

For Developers: if you give me your Microsoft username, I can add you to the project.

Re: Azure pipeline building, tasting and releasing

Posted: Mon Oct 15, 2018 4:09 pm
by B.Y.O.B.
Dade wrote: Mon Oct 15, 2018 3:39 pm - automatic release of executables for all versions mentioned above (aka daily builds);
Who wants to add an "automatically update to latest daily build" feature to BlendLuxCore? :mrgreen:
For people who want the latest bugs and features.

Re: Azure pipeline building, tasting and releasing

Posted: Mon Oct 15, 2018 5:51 pm
by lacilaci
So can we have daily builds for blender??

Re: Azure pipeline building, tasting and releasing

Posted: Mon Oct 15, 2018 6:53 pm
by Dade
lacilaci wrote: Mon Oct 15, 2018 5:51 pm So can we have daily builds for blender??
That is the idea (in the long term).

P.S. Indeed, I discovered that claimed "unlimited run time" is limited to 60 minutes by default (!!!) however I should have found a setting to have a 360 minutes limit, testing right now.

Re: Azure pipeline building, tasting and releasing

Posted: Tue Oct 16, 2018 3:38 pm
by Dade
Dade wrote: Mon Oct 15, 2018 6:53 pm P.S. Indeed, I discovered that claimed "unlimited run time" is limited to 60 minutes by default (!!!) however I should have found a setting to have a 360 minutes limit, testing right now.
It works and 360 mins is something I can work with.

BTW, daily builds will be available here: https://github.com/LuxCoreRender/LuxCor ... tag/latest
It is a a release automatically created by Azure pipeline.

Re: Azure pipeline building, tasting and releasing

Posted: Fri Oct 19, 2018 8:07 pm
by Dade
Now https://github.com/LuxCoreRender/LuxCor ... tag/latest includes both the Linux OpenCL-less and OpenCL version of the daily build.

Re: Azure pipeline building, tasting and releasing

Posted: Tue Oct 23, 2018 9:43 am
by Dade
@Acasta69: I have moved OS specific scripts from scripts/azurepipeline to scripts/azurepipeline/linux and scripts/azurepipeline/windows directories.

Re: Azure pipeline building, tasting and releasing

Posted: Tue Oct 23, 2018 2:39 pm
by acasta69
The first automated Windows build (no openCL) seems to have succeeded.
However I am a bit unsure about how to get the resulting package here:
https://github.com/LuxCoreRender/LuxCor ... tag/latest

@Dade: when I am at this stage:
Untitled.png
I've never seen this before so I am unsure about how to proceed with authorizations.
Is it ok to use OAuth with my GitHub account? Or is this something better done by you using different authorizations?

Re: Azure pipeline building, tasting and releasing

Posted: Tue Oct 23, 2018 3:40 pm
by Dade
acasta69 wrote: Tue Oct 23, 2018 2:39 pm The first automated Windows build (no openCL) seems to have succeeded.
However I am a bit unsure about how to get the resulting package here:
https://github.com/LuxCoreRender/LuxCor ... tag/latest

@Dade: when I am at this stage:
Untitled.png
I've never seen this before so I am unsure about how to proceed with authorizations.
Is it ok to use OAuth with my GitHub account? Or is this something better done by you using different authorizations?
I upload the built files trough a specific Azure pipeline plugin, it is under "Releases => Edit Pipeline", click on "Release to GitHub/1 job, 3 tasks". I have added one more task to upload the windows build and queued a new build. Let's see if it works.

All this stuff is totally undocumented and we have to proceed blindly and with trial and errors :roll:

Re: Azure pipeline building, tasting and releasing

Posted: Tue Oct 23, 2018 6:18 pm
by Dade
Dade wrote: Tue Oct 23, 2018 3:40 pm I upload the built files trough a specific Azure pipeline plugin, it is under "Releases => Edit Pipeline", click on "Release to GitHub/1 job, 3 tasks". I have added one more task to upload the windows build and queued a new build. Let's see if it works.
It looks like it worked. The .zip is no on https://github.com/LuxCoreRender/LuxCor ... tag/latest

The only thing missing seems the pyluxcoretools.exe created by the create-standalone.bat with PyInstaller :?: