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

AppVeyor: Update build environment and save artifacts #875

Merged
merged 13 commits into from
Jul 16, 2020

Conversation

EwoutH
Copy link
Contributor

@EwoutH EwoutH commented Apr 29, 2020

  • Updates the build environment to the Visual Studio 2019 image
  • Use Python 3.8 in AppVeyor builds
  • Saves the build folder as an artifact

 - Updates the build environment to the Visual Studio 2019 image
 - Saves the build folder as an artifact
 - Unfreeze cx_Freeze version to allow dev builds with Python 3.7 and 3.8
 - Use Python 3.8 in AppVeyor builds
@EwoutH
Copy link
Contributor Author

EwoutH commented Apr 29, 2020

Blocked by #874.

@natowi
Copy link
Member

natowi commented Apr 29, 2020

  • rename build to meshroomWin64snapshot%APPVEYOR_PULL_REQUEST_HEAD_COMMIT%.zip
    so we can better distinguish the builds.

@EwoutH
Copy link
Contributor Author

EwoutH commented Apr 30, 2020

Thanks for the quick reply. It's not that quick, since build refers to the build folders path. I implemented it with an dedicated zip command though. Example here.

What do you think of #874?

appveyor.yml Outdated Show resolved Hide resolved
@EwoutH EwoutH marked this pull request as draft May 1, 2020 10:45
@EwoutH
Copy link
Contributor Author

EwoutH commented May 1, 2020

Can someone give me a hand how to build a standalone / release version of Meshroom? (so including aliceVision and the qtPlugins)

@fabiencastan
Copy link
Member

Hi @EwoutH,

Thanks for the PRs.
I'm not sure what is the best way to create standalone binaires.
You can have a look at the dockerfiles:

The docker files are relying on the dockerhub images of AliceVision.
The problem is that it needs binaries of AliceVision aligned with the current branch....

@natowi
Copy link
Member

natowi commented May 1, 2020

It is possible to load builds from other Appveyor sessions. I looked into this when I was updating the AliceVision Appveyor file.
https://help.appveyor.com/discussions/questions/19858-accessing-build-artifacts-from-one-project-in-another
I think it should be possible to merge existing builds of the components or write an Appveyor script to copy all dependencies into the environment and put together a complete build.

But I think before we look into this, we should also save build artifacts for https://github.com/alicevision/QtOIIO and https://github.com/alicevision/qmlAlembic

@EwoutH
Copy link
Contributor Author

EwoutH commented May 4, 2020

The PRs referenced above enable saving build artifacts for QtOIIO and qmlAlembic. From both projects, the whole build folder is saved as .zip, and the following artifacts are also save separately:

  • alembicEntityQmlPlugin.dll
  • alembicEntityQmlPlugin.lib
  • QtOIIOPlugin.dll
  • QtOIIOPlugin.lib
  • depthMapEntityQmlPlugin.dll
  • depthMapEntityQmlPlugin.lib

Is anything else needed from those two projects?

@natowi
Copy link
Member

natowi commented May 5, 2020

@EwoutH Oh, yes, I missed to mention https://github.com/alicevision/QtAliceVision
We could use an appveyor build for that, too.

https://github.com/alicevision/meshroom/blob/665f0b8c28d48ee27091b44f8e7be79f0b62aec3/meshroom/__init__.py#L47

Meshroom standalone structure

  • Meshroom/

    • Meshroom # main executable

    • COPYING.md # Meshroom COPYING file

    • aliceVision/

      • bin/ # runtime bundled binaries (windows: exe + libs, unix: executables)
      • lib/ # runtime bundled libraries (unix: libs)
      • share/ # resource files
        • aliceVision/
          • COPYING.md # AliceVision COPYING file
          • cameraSensors.db # sensor database
          • vlfeat_K80L3.tree # voctree file
  • lib/ # Python lib folder

  • qtPlugins/

    • imageformats
      • QtOIIOPlugin dll/lib
    • qml
      • AlembicEntity
        • alembicEntityQmlPlugin dll/lib
      • AliceVision
        • qtAliceVisionPlugin dll/lib
      • DepthMapEntity
        • depthMapEntityQmlPlugin dll/lib

@EwoutH
Copy link
Contributor Author

EwoutH commented May 18, 2020

I would suggest merging this now. I will open an separate PR for release builds, probably using GitHub Actions.

@EwoutH EwoutH marked this pull request as ready for review May 18, 2020 10:01
@EwoutH EwoutH requested a review from simogasp May 18, 2020 10:01
@jure
Copy link

jure commented Jul 12, 2020

This appears to be a very minimal and non-invasive PR that greatly simplifies testing the latest dev builds. 👍

simogasp
simogasp previously approved these changes Jul 12, 2020
@jure
Copy link

jure commented Jul 16, 2020

The added comment invalidated the review although no code changes occurred. The original review by @simogasp is probably equally applicable to this latest code.

@fabiencastan fabiencastan merged commit 12c5adc into alicevision:develop Jul 16, 2020
@fabiencastan fabiencastan added this to the Meshroom 2020.1.0 milestone Jul 16, 2020
@jure
Copy link

jure commented Jul 20, 2020

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

Successfully merging this pull request may close these issues.

5 participants