Closed stephendade closed 5 years ago
That's really great Stephen !
A way to "store" the build could be to push the binaries as Github releases as explained here : https://www.appveyor.com/docs/deployment/github/ ?
That's great! Well done!
I see that currently, you are not running any test, though, except morse check
. You have commented out some test that do not run due to configuration issues, but if some do run, it would be useful to run them.
One of the reason why the test may fail, though, is because Blender requires an OpenGL context. On travis, we had to create a fake, headless, X server to run the test:
xvfb-run --auto-servernum --server-args="-screen 0 160x120x16" python3.4 ../testing/$1
I do not know the equivalent for Windows/appveyor.
Before merging, can you:
Also, I see you are using both InnoSetup and pyinstaller. Do they not achieve the same goal? In any case, I'd rename morse.spec
into morse-windows.spec
as even though pyinstaller is cross-platform, this spec file is clearly Windows-specific.
A way to "store" the build could be to push the binaries as Github releases as explained here : https://www.appveyor.com/docs/deployment/github/ ?
Yep, that would work nicely. Will need a repo admin to authorise/setup.
I see that currently, you are not running any test, though, except morse check. You have commented out some test that do not run due to configuration issues, but if some do run, it would be useful to run them. One of the reason why the test may fail, though, is because Blender requires an OpenGL context. On travis, we had to create a fake, headless, X server to run the test:
The exact commands run fine on my PC, so as you suggest an issue with Blender not wanting to run headless. I'll see if I can figure out a fix for Appveyor.
Before merging, can you:
Yep, will do those tasks.
Also, I see you are using both InnoSetup and pyinstaller. Do they not achieve the same goal?
Different stages in the process. pyinstaller compiles Morse into a windows executable, so the user doesn't need to worry about Python environments or other dependencies. Inno then wraps a setup script around all that - importantly sets the MORSE_ROOT and MORSE_BLENDER environment vars. This makes it very "plug and play" for the user.
I'd rename morse.spec into morse-windows.spec
Sure. Will do
Ok, that's the documentation side done. Will try to get Blender headless running tomorrow.
Ok, I've figured out running the tests: -Blender 2.79 was crashing in Appveyor due to a lack of hardware graphics -I tried with Blender 2.78 and a software OpenGL renderer and it all works fine
Thus I'll keep the Appveyor build running with Blender 2.78; but it will require any users to ensure they're running Blender 2.78 too. I've updated to documentation to reflect this.
@nicolaje and @severin-lemaignan - are you happy with my changes?
That's perfect for me. Where will the Windows installer be stored ?
@pierriko can this be integrated & the online doc updated to include this change ?
Merged, thanks!
Finally figured out Windows builds via Appveyor! Biggest issue was figuring out how to get the correct version of Python into Appveyor (Blender uses 3.5.3, Appveyor uses 3.5.4 ... it's enough to make Morse not work). I fixed this by using conda instead.
This patch: -Builds Morse on Appveyor -Runs a "morse check" -Creates a Windows installer in both x86 and x86-64 architectures (needs to match Blender). The installer will set the relevant evironment vars too, so the user can get straight into running Morse.
The Morse repo admins will need to enable builds on Appveyor.
Also, we'll need to figure out where to store the built Windows installers.
For reference, the completed builds (based on my repo) are here: https://ci.appveyor.com/project/stephendade/morse/builds/21514582