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

Revise Windows build instructions #12877

Merged
merged 6 commits into from
Sep 2, 2020
Merged

Revise Windows build instructions #12877

merged 6 commits into from
Sep 2, 2020

Conversation

wrowe
Copy link
Contributor

@wrowe wrowe commented Aug 28, 2020

Commit Message: Revise Windows build instructions

Additional Description:

Risk Level: n/a
Testing: n/a
Docs Changes: n/a
Release Notes: n/a
Fixes 12098

wrowe and others added 2 commits August 28, 2020 13:15
- No longer limited to building envoy-static
- Explain the c:\c -> c:\ symlink and TMPDIR more clearly
- Explain output_base path limitations
  #12098
- General wordsmithing

Signed-off-by: William A Rowe Jr <wrowe@vmware.com>
Co-authored-by: Sunjay Bhatia <sunjayb@vmware.com>
Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
@sunjayBhatia
Copy link
Member

cc @envoyproxy/windows-dev

@sunjayBhatia
Copy link
Member

@rmiller14

sunjayBhatia and others added 2 commits August 28, 2020 14:35
Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
Signed-off-by: William A Rowe Jr <wrowe@vmware.com>
@sunjayBhatia
Copy link
Member

I'll wait to stamp this as done for @rmiller14 to weigh in with any thoughts since youre getting familiar with the build setup

bazel/README.md Outdated
Comment on lines 117 to 120
or just install Docker, Git, MSYS2 to use the Docker image (the same as used in the CI pipeline):
```
./ci/run_envoy_docker_windows.sh './ci/windows_ci_steps.sh'
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like this method already has its own section "Building Envoy with the CI Docker image", but is lacking the extra dependency information. Is this supposed to be a recommendation that developers use the docker image?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was thinking we add a note at the top of the "bazel quick start" section that links to the docker section so people who want to use docker can short circuit all the toolchain setup (and also add the dependencies needed for docker down there, will push a change that reflects that

@nigriMSFT
Copy link
Contributor

I added these Windows example setup command steps assuming bazel is invoked via cmd or powershell. This might be stale and/or not recommended already? From what I've heard I think everyone (including CI) invokes bazel from MSYS except me.

Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
@sunjayBhatia
Copy link
Member

I added these Windows example setup command steps assuming bazel is invoked via cmd or powershell. This might be stale and/or not recommended already? From what I've heard I think everyone (including CI) invokes bazel from MSYS except me.

We could make it clear in each instance that these are examples of how to set the PATH in cmd specifically and assume developers will adapt accordingly, change the examples to bash syntax, or omit the examples entirely?

Meta point around bash/MSYS2, we decided to use it in CI scripts/tooling scripts b/c it would be most familiar for the current set of core maintainers/most contributors, if that decision no longer makes sense we can revisit it

Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
Copy link
Member

@sunjayBhatia sunjayBhatia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mattklein123 I'm happy to stamp this as done, approving (though I contributed to it)

@mattklein123 mattklein123 merged commit 71f97c5 into envoyproxy:master Sep 2, 2020
@sunjayBhatia sunjayBhatia deleted the update-windows-docs branch September 2, 2020 16:00
@rmiller14
Copy link
Contributor

@sunjayBhatia Sorry for the delay. I'll submit a PR to add some clearer instructions on top of what was already submitted. The biggest confusion for me was around paths and in which shell to build, as well as the tips for Windows. I also ended up having to enable symlink support as specified in the bazel documentation - I would call that out explicitly.

The big gotcha for me was that the ordering of the entries in the path environment do matter, as link.exe can refer to either the one that's part of VS builds tools or the one that's in /path/to/msys/usr/bin.

It seems like it's ok to build in any of cmd, powershell, or msys at the moment. I ended up building from powershell. I would call that out explicitly too.

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

Successfully merging this pull request may close these issues.

5 participants