New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 920832 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 18
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Improve Tast build dependency checking

Project Member Reported by derat@chromium.org, Jan 11

Issue description

https://crrev.com/c/1381694 is attempting to simplify the command that "tast run" provides for updating test bundles' dependencies. The existing code is also sub-optimal in that it prompts the user to emerge RDEPEND (runtime) dependencies in the host sysroot, even though they aren't actually needed to build the bundle.

It sounds like we may be able to run  "emerge --onlydeps --onlydeps-with-rdeps=n --pretend -pv tast-local-tests-cros" to figure out if there are any build-only dependencies, and then maybe prompt the user to run that command without "--pretend" to do the update.

This emerge command is much slower than the existing equery commands, though, so I'd like to also update Tast to cache successful dependency checks so we won't need to perform them again until the next time that the checkout is updated.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jan 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/tast/+/f1df3d2d3b78466ec10bcb5408e58c2ecc927d61

commit f1df3d2d3b78466ec10bcb5408e58c2ecc927d61
Author: Daniel Erat <derat@chromium.org>
Date: Sat Jan 12 19:18:31 2019

tast: Cache Portage dependency checks.

Make Tast's bundle-building code cache successful dependency
checks in /tmp/tast/build/check_deps_cache.json to avoid
needing to run slow Portage commands as part of every
build/deploy/test cycle. This reduces build times by several
seconds in most cases.

This also makes it more palatable to run emerge (which is
much slower than the current equery commands), since it will
typically only need to be run once or twice whenever source
code is updated. (Switching to emerge may make it easier for
us to avoid checking RDEPEND and to check lower-level
dependencies.)

BUG= chromium:920832 
TEST=added unit tests; also manually verified that
     dependency checks are performed initially but then
     skipped until overlay is updated again

Change-Id: I77bbb1beb66d4787e9eb90f74eabec2f756d06e2
Reviewed-on: https://chromium-review.googlesource.com/1406328
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>

[modify] https://crrev.com/f1df3d2d3b78466ec10bcb5408e58c2ecc927d61/src/chromiumos/cmd/tast/build/portage.go
[modify] https://crrev.com/f1df3d2d3b78466ec10bcb5408e58c2ecc927d61/src/chromiumos/cmd/tast/run/local.go
[modify] https://crrev.com/f1df3d2d3b78466ec10bcb5408e58c2ecc927d61/src/chromiumos/cmd/tast/build/portage_test.go
[modify] https://crrev.com/f1df3d2d3b78466ec10bcb5408e58c2ecc927d61/src/chromiumos/cmd/tast/build/config.go
[modify] https://crrev.com/f1df3d2d3b78466ec10bcb5408e58c2ecc927d61/src/chromiumos/cmd/tast/run/config.go
[modify] https://crrev.com/f1df3d2d3b78466ec10bcb5408e58c2ecc927d61/src/chromiumos/cmd/tast/build/build.go
[modify] https://crrev.com/f1df3d2d3b78466ec10bcb5408e58c2ecc927d61/src/chromiumos/cmd/tast/run/remote.go

Comment 2 by derat@chromium.org, Jan 18 (5 days ago)

Status: Fixed (was: Started)
Issue 916012 tracks not installing runtime dependencies.

Sign in to add a comment