| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
RELNOTES: --[no]allow_undefined_configs no longer exists, passing undefined configs is an error.
PiperOrigin-RevId: 202518987
|
|
|
|
|
|
|
|
|
| |
enum.
Now that we aren't using enum names for the hash functions, we also accept the standard names, such as SHA-256.
RELNOTES: None.
PiperOrigin-RevId: 201624286
|
|
|
|
|
|
|
| |
RELNOTES[INC]: The mobile-install --skylark_incremental_res flag is no longer
available, use the --skylark flag instead.
PiperOrigin-RevId: 201574876
|
|
|
|
|
|
|
|
|
|
| |
This gives us more coverage for command startup, especially wrt. modules. We
have some modules that are known to be slow, and this immediately shows any
such issues. I've already tracked down two issues with this change, and it
would also have shown a recently fixed regression.
RELNOTES: None.
PiperOrigin-RevId: 201337059
|
|
|
|
|
|
|
| |
The memory savings from this flag are not worth the complexity, and it interferes with action restarting.
RELNOTES: Remove support for --discard_actions_after_execution.
PiperOrigin-RevId: 201077905
|
|
|
|
|
|
| |
Moves more Action-oriented from skyframe package, which has become very unwieldy, to action package. This is needed to avoid circular dependencies caused when build-base is needed for skyframe.
PiperOrigin-RevId: 200996982
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The intent is that the main thread has ~zero gaps in the profile (though there
may still be small gaps due to the time between one try block and an
immediately subsequent try block).
We need to be careful not to wrap markPhase calls (or methods that call
markPhase) in try blocks for the profiler - the Profiler requires that all
markPhase calls happen at top level, and throws an exception if not.
This should not have any performance impact - all of these are once per build,
or at most once per module per build, and we don't expect a very large number
of modules (and if we see an increasing number, we need to change the module
API to not have to call every single module, but only those that are actually
interested in certain events, maybe with an EventBus-based setup).
PiperOrigin-RevId: 200712677
|
|
|
|
|
|
|
|
|
|
| |
The intend is to move the profiler setup earlier in the startup sequence, so we
can get more profiler coverage. Ideally, we'd setup the profiler immediately
after getting the client call, but this is not currently possible due to the
requirement that initialization and shutdown happen in pairs (otherwise the
next command invocation crashes with an exception from the Profiler).
PiperOrigin-RevId: 200707029
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
They weren't actually doing anything. With default flags, createHandler never
returns a FancyTerminalEventHandler, because that always gets wrapped in a
RateLimitingEventHandler. Even so, under normal circumstances, the fancy
terminal event handler always leaves the terminal in a valid state at the end
of each printed line. We can only end up in a bad state if the blaze server is
killed, but even then, this code wasn't doing anything because it didn't get to
run.
The only way to guarantee that the terminal is always in a valid state is to
make sure that every stdout/stderr buffer we send to the client ends with a
reset code sequence. The experimental ui handler is better at sending only
complete buffers (we were previously using an auto-line flushing output stream,
which didn't allow the event handler to reason about how much stuff got
actually printed in a single write call).
Anyway, I think we're in a better place now, and this code wasn't run, and if
we want to fix it properly (if the switch to experimental_ui isn't sufficient),
then we need to fix it elsewhere.
PiperOrigin-RevId: 200699609
|
|
|
|
|
|
|
| |
- reduce the parameters to the minimum required
- change to void, move additional setup into the method
PiperOrigin-RevId: 200692559
|
|
|
|
|
|
|
|
| |
This should be a no-op, mostly replacing PathConverter with
BuildEventArtifactUploader, since none of the implementations perform any
upload yet.
PiperOrigin-RevId: 200685325
|
|
|
|
|
|
|
| |
Deprecates the flag, though it continues to exist as a no-op so that users get a warning before errors.
RELNOTES: --noexpand_configs_in_place is deprecated.
PiperOrigin-RevId: 200572053
|
|
|
|
|
|
|
| |
These are no longer necessary since we don't pipe the subprocess stdout/stderr
through Bazel anymore.
PiperOrigin-RevId: 200534552
|
|
|
|
| |
PiperOrigin-RevId: 200518973
|
|
|
|
| |
PiperOrigin-RevId: 200516863
|
|
|
|
|
|
|
| |
of bazel info crosstool-configuration
RELNOTES: None.
PiperOrigin-RevId: 200437121
|
|
|
|
|
|
|
| |
This is in preparation for dismantling BuildView and merging the relevant
parts into AnalysisPhaseRunner.
PiperOrigin-RevId: 200391088
|
|
|
|
|
|
| |
Do the work in beforeCommand instead.
PiperOrigin-RevId: 200391086
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When this flag is turned on, and the user's working directory is beneath the
workspace (but is not the workspace itself), the workspace's absolute path is
printed as a prefix to the convenience symlink.
With this flag off, the displayed convenience symlink path is always relative
to the user's workspace, even if that isn't the current working directory.
(This is the current behavior.)
The new (flag-on) behavior will become default soon, and then this flag will
be removed.
RELNOTES: None.
PiperOrigin-RevId: 200278355
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a --experimental_generate_json_trace_profile option that puts a file into
the output base (or uses --profile if set).
There are still a lot of problems with this.
- unexplained holes
- way too many threads
- nonsensical event titles
- too many detail events, too little overview
- it may also cause unnecessary load
- it silently overwrites the existing file on subsequent invocations
The format is documented here: goo.gl/oMZPLh
PiperOrigin-RevId: 200259431
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- move the save method to an inner class
- don't use a timer, use a blocking queue instead
- add a format enum (in anticipation of adding a json output format)
- update the test to use an in memory buffer, and avoid FoundationTestCase
Compared to the original https://github.com/bazelbuild/bazel/commit/15b8c259db111012b4642287172cb4d1d82151f3, it contains these changes:
- Make it so we don't create a queue if we are not going to write any
data! The queue is now owned by the writer, and if there is no writer, there
is no queue.
This was causing a memory regression because slowest task profiling is
enabled by default, in which case the profiler is started with no output
file. In that case, there's no thread that is emptying the queue, but the
queue was still created by default.
- add additional tests for slowest task and histogram handling; these also
provide coverage for the case where the profiler is started without an output
stream
- move all the writer thread handling into the inner class
- make writer access thread-safe
- add a bunch of documentation
PiperOrigin-RevId: 200212978
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- the TargetPatternPreloader is still used for query in all its forms
- the remaining TargetPatternEvaluator part is no longer used except in tests
- also make both implementations stateless and pass the offset to the methods
instead; note that they both modify the underlying skyframe graph, so there
are side effects to the calls even if there's no direct state anymore
The intent is to migrate the relevant tests to LoadingPhaseRunnerTest (which
could also now be renamed since it's not doing a loading phase), and then
delete the TargetPatternEvaluator interface.
This depends on the previous commit that removed the last direct use of TPE
from an internal command.
PiperOrigin-RevId: 200198067
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks internal performance tests.
PiperOrigin-RevId: 200103033
|
|
|
|
|
|
|
|
|
| |
- move the save method to an inner class
- don't use a timer, use a blocking queue instead
- add a format enum (in anticipation of adding a json output format)
- update the test to use an in memory buffer, and avoid FoundationTestCase
PiperOrigin-RevId: 200065404
|
|
|
|
|
|
| |
- migrate all startTask/completeTask pairs to the new API
PiperOrigin-RevId: 200038703
|
|
|
|
| |
PiperOrigin-RevId: 199849102
|
|
|
|
|
|
|
|
|
|
|
| |
When checking for a file called DO_NOT_BUILD_HERE in the parent direcotry of the
workspace path, first verify that there is such a parent directory. This avoids
a null pointer exception if the WORKSPACE file is in the top-level directory.
Fixes #5349
Change-Id: I81289a27a3f7fb0f4b5a112343de1b454fb5b8c5
PiperOrigin-RevId: 199790735
|
|
|
|
| |
PiperOrigin-RevId: 199786555
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Report failures in TargetPatternFunction, rather than in its callers. Since we
can't distinguish between keep_going and nokeep_going modes, we otherwise end
up double-reporting errors. In the particular case that's covered by the
build_event_stream_test.sh, we end up reporting the same target pattern as both
skipped and failed.
Unfortunately, this means we cannot report whether the target pattern was
skipped or failed, so the pattern_skipped event is now unused (if we agree that
this is acceptable, I'll remove the corresponding infrastructure).
PiperOrigin-RevId: 199593700
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 199503117
|
|
|
|
|
|
|
| |
Remove blaze references and add a missing "a".
RELNOTES: None.
PiperOrigin-RevId: 199300497
|
|
|
|
|
|
| |
We now track Causes instead of plain Labels, which will allow us to do better reporting in the future. Add basic tests.
PiperOrigin-RevId: 198380468
|
|
|
|
|
|
|
|
| |
Fixes #5263
RELNOTES: execution strategies line no longer handles differently the case
where all processes have the same strategy.
PiperOrigin-RevId: 198057496
|
|
|
|
|
|
|
|
| |
Split the AnalysisFailureEvent into a legacy and a new variant; always post an
AnalysisFailureEvent, even if the legacy variant is not posted - this gives us
some coverage for loading failures.
PiperOrigin-RevId: 197862257
|
|
|
|
|
|
| |
Having it in there makes serializing events harder.
PiperOrigin-RevId: 197648233
|
|
|
|
|
| |
RELNOTES: An internal action for symlinking runfiles will use Command instead of a Spawns. This should have no functional chages; the only user visible consequence should be that the internal action is no longer be included in statistics when calculating processes count.
PiperOrigin-RevId: 197131917
|
|
|
|
|
|
| |
RELNOTES[INC]: "bazel run --noas_test" is not supported anymore.
PiperOrigin-RevId: 197126838
|
|
|
|
|
|
|
| |
RELNOTES[INC]: Bazel now always runs binaries in with "bazel run" in
interactive mode. The "--nodirect_run" command line option is now a no-op.
PiperOrigin-RevId: 197121535
|
|
|
|
|
|
|
| |
This is in preparation for adding options to the class, which can be used
to modify the behavior of build events posted to the BEP.
PiperOrigin-RevId: 196997573
|
|
|
|
|
|
|
|
|
| |
This constructor was creating an Exception with a null message leading to possible
NullPointerExceptions in a few places in our codebase. The call sites have
been replaced with calls to AbruptException(String message, ExitCode exitCode) with
a meaningful message.
PiperOrigin-RevId: 196973540
|
|
|
|
| |
PiperOrigin-RevId: 196840344
|
|
|
|
|
|
|
|
|
| |
This way the documentation logs them correctly as named "bazel," and describes the correct behavior.
Needed for #4502.
RELNOTES: None.
PiperOrigin-RevId: 196837021
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This overrides --bazelrc and --[no]master_bazelrc regardless of order. Like --bazelrc and --[no]master_bazelrc, it cannot be mentioned in an rc file, this would be a contradiction. This flag is useful for testing, and for having a version-agnostic way to turn off all rc files, such as in the canonical command line reporting. Now that blazerc and bazelrc are separate, this is necessary.
If explicit values for --bazelrc or --master_bazelrc are provided which are now ignored, Bazel will warn the user.
#4502
Alternatives considered - We could avoid this flag but would need to have some well-documented, reusable list of the startup flags that effectively come to the same effect. This would be necessary in our integration tests and in the CommandLineEvent and other places where rc files need to be completely disabled for correctness. We decided that this startup option was more straightforward and usable for both users and Bazel devs: it shouldn't be used when more fine-grained control is needed, but provides warnings if users are likely to be confused by the outcome.
RELNOTES: None.
PiperOrigin-RevId: 196750704
|
|
|
|
|
|
| |
CommonCommandOptions to better facilitate certain kinds of benchmarking.
PiperOrigin-RevId: 196695342
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a command-line option which can be used to force Bazel to split up
very large events, e.g., events with hundreds of thousands of entries. This is
rare, but happens occasionally.
It would be better to control the maximum event size directly, but that is
significantly more difficult to do here.
PiperOrigin-RevId: 196690600
|
|
|
|
|
|
|
| |
Since it's not a provider, it doesn't need the Info suffix anymore.
RELNOTES:none
PiperOrigin-RevId: 196498526
|
|
|
|
|
|
|
|
| |
For flaky tests, Bazel may have cached information about multiple test attempts. In that case, we might want to post all of them on a subsequent cache hit, rather than posting only the passing attempt.
We currently subclass TestResult inside Google, which overrides the new getCachedTestAttempts method.
PiperOrigin-RevId: 196491575
|
|
|
|
|
|
| |
and continue to use the embedded JDK as the default host_javabase.
PiperOrigin-RevId: 196471714
|
|
|
|
|
|
|
|
|
| |
These flags cannot be specified under any circumstances - the parser treats
them as absent, and they can't be named in config_setting, etc. - so listing
them here doesn't help anyone.
RELNOTES: None.
PiperOrigin-RevId: 194419952
|
|
|
|
|
|
|
|
|
|
|
|
| |
When completing the build and doing the final flush of the
incomplete stdout/stderr lines, remove any existing progress
bar first (and redraw afterwards) to avoid interference.
Also, upon receiving the AfterCommandEvent, just call
completeBuild instead of trying to do the same manually
again.
Change-Id: If375be798a5e66558676f0ffb845fb64279584f8
PiperOrigin-RevId: 194203925
|