Skip to content

Windows ci add bazel args#16643

Merged
wrowe merged 9 commits intoenvoyproxy:mainfrom
wrowe:windows-ci-add-bazel-args
Jun 4, 2021
Merged

Windows ci add bazel args#16643
wrowe merged 9 commits intoenvoyproxy:mainfrom
wrowe:windows-ci-add-bazel-args

Conversation

@wrowe
Copy link
Contributor

@wrowe wrowe commented May 24, 2021

Commit Message: Windows ci add bazel args
Additional Description:

The linux do_ci.sh script has it's own unique syntax, earlier represented in windows_ci_steps.ps1.
It turns out this isn't the most obvious syntax, but bazel instead, as the macos_ci_steps.sh script
uses.

Enhance windows_ci_steps.sh to default to //source/exe:envoy-static + //test/... as was the current
default behavior, but recognize either of these independently, or allow pretty much any bazel
target to be named on the command line for development and diagnostics.

Risk Level: low
Testing: local msvc
Docs Changes: TBD
Release Notes: TBD
Platform Specific Features: Windows build only

@wrowe wrowe requested review from davinci26 and sunjayBhatia May 24, 2021 16:59
- Watch for //source/exe:envoy-static or empty args to trigger the build
- Treat arbitrary args as bazel test directives

This allows forms such as;

  ci/windows_ci_steps.sh //source/exe:envoy-static   - build the binary, nothing else
  ci/windows_ci_steps.sh //test/...                  - test everything with exceptions and flake processing

The default (no args) does both of the above, and checks unused deps under bazel/... that are not skip_on_windows

  ci/windows_ci_steps.sh //test/common/...           - test everything with no exceptions below common
  ci/windows_ci_steps.sh //test/common/... --test_tag_filters=-skip_on_windows
                                                     - same as above, avoiding broken components under common

Signed-off-by: William A Rowe Jr <wrowe@vmware.com>
@wrowe wrowe force-pushed the windows-ci-add-bazel-args branch from 2bd88bb to b0aa7b2 Compare May 24, 2021 17:28
@wrowe
Copy link
Contributor Author

wrowe commented May 24, 2021

Note, that this commit moves //bazel/... to the end of the build. Yes, we want to ensure we catch anything dropped in on bazel/foreign_cc or bazel/external, but we don't have to delay 98% of all PR's to look at this upfront. Fail faster in the general case.

Signed-off-by: William A Rowe Jr <wrowe@vmware.com>
Copy link
Member

@davinci26 davinci26 left a comment

Choose a reason for hiding this comment

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

LGTM, thanks!

Do you mind also updating the docs at bazel\Readme.md and ci\Readme.md

sunjayBhatia
sunjayBhatia previously approved these changes May 25, 2021
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.

👍🏽

@davinci26 davinci26 self-assigned this May 26, 2021
wrowe added 4 commits May 27, 2021 14:12
…args

Signed-off-by: William A Rowe Jr <wrowe@vmware.com>
- If building an 18 month old envoy, an 18 month old copy of this document
  is present in that source tarball
- Offer a more recognizable symlink/path advisory based on current Python release

Signed-off-by: William A Rowe Jr <wrowe@vmware.com>
Signed-off-by: William A Rowe Jr <wrowe@vmware.com>
…args

Signed-off-by: William A Rowe Jr <wrowe@vmware.com>
wrowe added 3 commits June 3, 2021 15:40
Signed-off-by: William A Rowe Jr <wrowe@vmware.com>
- Bazel before 5.0.0 fails to shorten executable path names of a specific length.
- SymInitialize() fails to load the executable paths of a specific length
- abesil tries to prepare for crash analysis and silently continue on failure
- grps tries and abruptly aborts the program if symbols cannot be loaded

Fix is in for the next bazel rolling release of the 5.0.0 series

Signed-off-by: William A Rowe Jr <wrowe@vmware.com>
…args

Signed-off-by: William A Rowe Jr <wrowe@vmware.com>
@wrowe wrowe requested a review from davinci26 June 4, 2021 16:35
@wrowe wrowe assigned mattklein123 and unassigned lizan and davinci26 Jun 4, 2021
@wrowe
Copy link
Contributor Author

wrowe commented Jun 4, 2021

@mattklein123 this is ready with the fix to the three too-long-named borken //test/... entities, let's see if CI passes and merge if so.

Will come back after bazel 5.0.0 is in our rbe to re-enable these.

Copy link
Member

@davinci26 davinci26 left a comment

Choose a reason for hiding this comment

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

LGTM, can you open an issue so we remember to turn these tests back on

@wrowe wrowe added area/build area/windows backport/review Request to backport to stable releases labels Jun 4, 2021
@wrowe wrowe merged commit 436946b into envoyproxy:main Jun 4, 2021
lizan pushed a commit that referenced this pull request Jun 25, 2021
* Windows: Expand functionality of ci/windows_ci_steps.sh

- Watch for //source/exe:envoy-static or empty args to trigger the build
- Treat arbitrary args as bazel test directives

This allows forms such as;

  ci/windows_ci_steps.sh //source/exe:envoy-static   - build the binary, nothing else
  ci/windows_ci_steps.sh //test/...                  - test everything with exceptions and flake processing

The default (no args) does both of the above, and checks unused deps under bazel/... that are not skip_on_windows

  ci/windows_ci_steps.sh //test/common/...           - test everything with no exceptions below common
  ci/windows_ci_steps.sh //test/common/... --test_tag_filters=-skip_on_windows
- same as above, avoiding broken components under common

* Update bazel/README.md

- If building an 18 month old envoy, an 18 month old copy of this document
  is present in that source tarball
- Offer a more recognizable symlink/path advisory based on current Python release

* Clarify windows_build_steps.sh and windows docker invocation

* Skip three longest windows test names for the month

- Bazel before 5.0.0 fails to shorten executable path names of a specific length.
- SymInitialize() fails to load the executable paths of a specific length
- abesil tries to prepare for crash analysis and silently continue on failure
- grps tries and abruptly aborts the program if symbols cannot be loaded

Fix is in for the next bazel rolling release of the 5.0.0 series

Signed-off-by: Dmitri Dolguikh <ddolguik@redhat.com>
Co-authored-by: William A Rowe Jr <wrowe@vmware.com>
@wrowe wrowe deleted the windows-ci-add-bazel-args branch September 27, 2021 16:37
leyao-daily pushed a commit to leyao-daily/envoy that referenced this pull request Sep 30, 2021
* Windows: Expand functionality of ci/windows_ci_steps.sh

- Watch for //source/exe:envoy-static or empty args to trigger the build
- Treat arbitrary args as bazel test directives

This allows forms such as;

  ci/windows_ci_steps.sh //source/exe:envoy-static   - build the binary, nothing else
  ci/windows_ci_steps.sh //test/...                  - test everything with exceptions and flake processing

The default (no args) does both of the above, and checks unused deps under bazel/... that are not skip_on_windows

  ci/windows_ci_steps.sh //test/common/...           - test everything with no exceptions below common
  ci/windows_ci_steps.sh //test/common/... --test_tag_filters=-skip_on_windows
- same as above, avoiding broken components under common

* Update bazel/README.md

- If building an 18 month old envoy, an 18 month old copy of this document
  is present in that source tarball
- Offer a more recognizable symlink/path advisory based on current Python release

* Clarify windows_build_steps.sh and windows docker invocation

* Skip three longest windows test names for the month

- Bazel before 5.0.0 fails to shorten executable path names of a specific length.
- SymInitialize() fails to load the executable paths of a specific length
- abesil tries to prepare for crash analysis and silently continue on failure
- grps tries and abruptly aborts the program if symbols cannot be loaded

Fix is in for the next bazel rolling release of the 5.0.0 series

Signed-off-by: William A Rowe Jr <wrowe@vmware.com>
@alyssawilk alyssawilk added backport/approved Approved backports to stable releases and removed backport/review Request to backport to stable releases labels Nov 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/build area/windows backport/approved Approved backports to stable releases

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants