bazelbuild / bazelbuild/continuous-integration

A pipeline should be able to suppress some flags from .bazelrc

Open
#1,024 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
302
Forks
194
Avg merge
1d 19h
Merged PRs (30d)
41

Description

While preparing Bazel 3.5 I encountered this problem
- we flipped the default for a flag and removed it within the same release cycle. --experimental_allow_incremental_repository_updates
- this caused rules_typescript to break. https://buildkite.com/bazel/bazel-at-head-plus-downstream/builds/1608#ceace0eb-4175-4b53-8717-71e722856fe6
```
Starting local Bazel server and connecting to it..
INFO: Reading rc options for 'version' from /var/lib/buildkite-agent/builds/bk-docker-fj3x/bazel-downstream-projects/rules_typescript/.bazelrc:
Inherited 'common' options: --experimental_allow_incremental_repository_updates
ERROR: --experimental_allow_incremental_repository_updates :: Unrecognized option: --experimental_allow_incremental_repository_updates
```
- rules_typescript depended on the flag true, so it had to set it for 3.4.
- if we change rules_typescript to not use the flag the tests will fail with the release bazel
- if we do not change it, it fails with 3.5

But the problem is not really the issues. The point is that when we should be running overview pipelines without any experimental flags set. Individual rule sets might want that for their CI, but if we want a generally interoperable community, we can't allow any of them to require experimental features. So, pipelines like the federation need the ability to remove specific flags from .bazelrc. A regex to remove all --experimental, and/or all --incompatible would ensure that every rule set being tested in that pipeline is not at odds with any of the others. It should be a regex so we don't have to update the pipeline spec every time we add or remove a flag.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.