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

Setup core SDK build agent that is similar to Edge gn setup #16

Closed
maxgolov opened this issue Jun 18, 2019 · 8 comments
Closed

Setup core SDK build agent that is similar to Edge gn setup #16

maxgolov opened this issue Jun 18, 2019 · 8 comments
Assignees
Labels
build infra Build, test and CI EDGE Partner Team - Microsoft Edge enhancement New feature or request help wanted Extra attention is needed

Comments

@maxgolov
Copy link
Contributor

Currently 1DS SDK is not built with the same set of compiler dependencies and warning levels as MS Edge. It would help if we can clean up OneDS warnings & Integrate a CI target with a very similar build setup to that of MS Edge (Windows clang-cl, Mac/Linux clang with strict warnings), with continuous run of BVT (unit and functional). That way all potential breaking issues can be caught early-on prior integrating a new SDK source code drop in MS Edge.

@maxgolov maxgolov added build infra Build, test and CI enhancement New feature or request labels Jun 18, 2019
@bliptec
Copy link
Contributor

bliptec commented Jun 18, 2019

There's also a task on me to clean up some suppressed warnings. This might make more sense to do once our set of ignored warnings is a lot smaller. Ideally, I'd also like to move our GN build file into this repo too, but I'm not sure how easy it is to set up GN outside of Chromium projects.

These are the internal suppressed warnings we have:
"-Wno-dangling-else", "-Wno-enum-compare-switch", "-Wno-header-hygiene", "-Wno-microsoft-enum-forward-reference", "-Wno-microsoft-extra-qualification", "-Wno-microsoft-goto", "-Wno-microsoft-template", "-Wno-pragma-once-outside-header", "-Wno-reorder", "-Wno-return-stack-address", "-Wno-self-assign", "-Wno-string-conversion", "-Wno-tautological-constant-out-of-range-compare", "-Wno-tautological-pointer-compare", "-Wno-unknown-pragmas", "-Wno-unused-function", "-Wno-unused-private-field", "-Wno-writable-strings",

@maxgolov maxgolov added the EDGE Partner Team - Microsoft Edge label Jun 24, 2019
@maxgolov
Copy link
Contributor Author

Unfortunately realistically we won't be able to tackle this at least until the end of August. Help is appreciated in this regard, to comment on how we can setup the builds for that using GitHub repo as source.

@maxgolov maxgolov added the help wanted Extra attention is needed label Jun 27, 2019
@maxgolov maxgolov added this to the Vibranium - 08.August milestone Jun 27, 2019
@maxgolov
Copy link
Contributor Author

GitHub-CI now has the rules to use ./build.sh (cmake) on Linux and Mac, plus hosted Azure Pipeline builds on Windows. If you can contribute a build file that utilizes 'gn' tool to build, like build-gn.sh or build-gn.cmd or a build flag to existing build scripts to use ninja, that would be greatly appreciated. Meanwhile I'd have to reforecast this to September.

@bliptec
Copy link
Contributor

bliptec commented Aug 26, 2019

We have a deliverable to track work on adding automated tests for OneDS building with GN. Will discuss it on Friday in planning.

@maxgolov maxgolov removed this from the Vibranium - 09.September milestone Sep 10, 2019
@0xabu 0xabu removed their assignment Sep 10, 2019
@maxgolov
Copy link
Contributor Author

maxgolov commented May 9, 2020

@bliptec - I'm going thru the old backlog items. Currently we don't have GN setup... Unless it "might" work if we generate the GN build files from CMakeLists.txt... But I don't think we have cycles to spend on this. I'm suggesting to close this item. For now we rely on CMake + make and/or msbuild only. No GN.

@maxgolov
Copy link
Contributor Author

@bliptec - this one is stale. I know you guys have your own setup for that. I don't think currently we want to replicate this in our own CI. I'm closing it as Stale, feel free to reopen if you feel like some day you may help with integrating Chromium GN in our CI loop... but probably this is not a requirement for this semester.

@maxgolov
Copy link
Contributor Author

maxgolov commented Mar 22, 2021

I'm reopening it, but with slightly adjusted goal in mind:

  • setup CMake build
  • with clang as a compiler on Windows
  • that uses usual ninja (now shipped in Visual Studio 2019) to build the SDK on Windows

This should be more or less 95% functionally similar to gn build (at least on Windows).

@maxgolov
Copy link
Contributor Author

Closing due to inactivity. Feel free to reopen. No plans to fix. Best solution would be to set up the usual cmake+ninja build (not gn).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build infra Build, test and CI EDGE Partner Team - Microsoft Edge enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants