• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pantsbuild / pants / 36821
0%
main: 80%

Build:
Build:
LAST BUILD BRANCH: gha-deps
DEFAULT BRANCH: main
Ran 11 Dec 2020 06:14PM UTC
Jobs 1
Files 429
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
36821

push

travis-ci-com

web-flow
Implement native Process cache scoping to fix --test-force (cherrypick of #11291) (#11299)

### Problem

The use of `UUIDRequest` to conditionally invalidate `Process` execution was error prone, because it required relevant dependent `@rules` to also be marked `@_uncacheable_rule` (in order to create new `UUIDRequest` objects). This resulted in `--test-force` breaking when those rules were refactored in an attempt to support "per-`pantsd`" caching.

Additionally, the naming/semantics of `ProcessScope` were out of alignment with the meaning of `Session` ("one run of Pants") elsewhere.

### Solution

Replace `UUIDRequest` with a native implementation of `Process` cache scoping centered around:
```
pub enum ProcessCacheScope {
  // Cached in all locations, regardless of success or failure.
  Always,
  // Cached in all locations, but only if the process exits successfully.
  Successful,
  // Cached only in memory (i.e. memoized in pantsd), but never persistently.
  PerRestart,
  // Never cached anywhere: will run once per Session (i.e. once per run of Pants).
  Never,
}
```

...and add `Process` level tests to validate each of these cases.

### Result

Fixes `--test-force` to toggle between the `Never` and `Successful` scopes, and uses `PerRestart` for binary requests.

[ci skip-build-wheels]

0 of 29928 relevant lines covered (0.0%)

0.0 hits per line

Jobs
ID Job ID Ran Files Coverage
5 36821.5 (PANTS_CONFIG_FILES="${TRAVIS_BUILD_DIR}/pants.travis-ci.toml" PANTS_DYNAMIC_UI=false LC_ALL="en_US.UTF-8" AWS_BUCKET=ci-public.pantsbuild.org BOOTSTRAPPED_PEX_KEY_PREFIX=daily/${TRAVIS_BUILD_NUMBER}/${TRAVIS_BUILD_ID}/pants.pex NATIVE_ENGINE_SO_KEY_PREFIX=monthly/native_engine_so PYENV_PY27_VERSION=2.7.18 PYENV_PY36_VERSION=3.6.10 PYENV_PY37_VERSION=3.7.7 PYENV_PY38_VERSION=3.8.3 PYENV_ROOT_OSX=${HOME}/.pants_pyenv PYENV_ROOT="${PYENV_ROOT:-${PYENV_ROOT_OSX}}" PATH="${PYENV_ROOT}/shims:${PATH}" AWS_CLI_ROOT="${HOME}/.aws_cli" AWS_ACCESS_KEY_ID__TO_BE_REEXPORTED_ON_DEPLOYS=AKIAV6A6G7RQ2HFZ5KP7 AWS_SECRET_ACCESS_KEY=[secure] RUST_BACKTRACE="all" BOOTSTRAPPED_PEX_KEY_SUFFIX=py36.linux PANTS_REMOTE_CA_CERTS_PATH=/usr/lib/google-cloud-sdk/lib/third_party/grpc/_cython/_credentials/roots.pem CACHE_NAME=python_tests.py36) 11 Dec 2020 06:14PM UTC 0
0.0
Travis Job 36821.5
Source Files on build 36821
Detailed source file information is not available for this build.
  • Back to Repo
  • Build #36821
  • 7c9cacec on github
  • Prev Build on 2.0.x (#36779)
  • Next Build on 2.0.x (#36839)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc