Remove redundant text from Python codelab conclusion#3487
Closed
scyyx5 wants to merge 39 commits intothought-machine:update-codelab-docsfrom
Closed
Remove redundant text from Python codelab conclusion#3487scyyx5 wants to merge 39 commits intothought-machine:update-codelab-docsfrom
scyyx5 wants to merge 39 commits intothought-machine:update-codelab-docsfrom
Conversation
This has no direct impact on Please, but the new `--include` option to the `zip` command in this version is necessary for a feature that will be added to the python-rules plugin imminently.
It would be useful for executables to be able to tell whether they are running within a Please build environment, whether or not that environment is sandboxed. One definitive use case is when deciding whether or not resources should be loaded from `$TMP_DIR`, which has a special (and well-defined) meaning within a Please build environment but not outside of one, even though the variable may still be defined in the environment. The java-rules and python-rules plugins would both benefit from this, given that `java_binary` JARs and `python_binary` pexes have runtimes that are expected to be discovered dynamically at run time but will be located at different paths depending on whether they are executing inside a build environment. Define the `PLZ_ENV` variable in Please build environments. This of course does not guarantee that the environment was created by Please, but is a better indicator of that than heuristics such as testing for the presence of other variables that happen to be defined in certain build environments, such as `BUILD_CONFIG` and `_TEST_ID`.
The only notable (but minor) change caused by this is that symbols are now stripped from the please_sandbox binary.
) Add a `runtime_deps` parameter, allowing for the declaration of run-time dependencies, to `build_rule` and several of the built-in build definitions that permit binary outputs. The semantics of `runtime_deps` are a combination of the semantics of `deps` and `data`. If the output of a `build_rule` is marked as binary, targets listed in `runtime_deps` are: - guaranteed to have been built before the dependent target runs; - copied into build and test environments alongside the dependent target. Like build-time dependencies declared with `deps`, run-time dependencies are computed transitively; i.e., if target A has a run-time dependency on target B which in turn has a run-time dependency on target C, targets B and C will be built before `plz run`ning target A, and the outputs of targets B and C will be copied into build environments (or test environments, if target A is a test) alongside the outputs of target A. Unlike build-time dependencies, downward searches for transitive run-time dependencies are not blocked by the `output_is_complete` parameter.
…t-machine#3453) The code path taken when `plz run`ning a binary target is slightly different for remote execution vs local execution - ensure the target's transitive run-time dependencies are all downloaded by the client before it runs the target.
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.36.0 to 0.45.0. - [Commits](golang/crypto@v0.36.0...v0.45.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-version: 0.45.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Chris Novakovic <chris@chrisn.me.uk>
At the start of the script, ensure that `uname` and `uname -m` produce an OS and architecture that are supported by Please. If they do, set `OS` and `ARCH` to the names of the OS and architecture as Please knows them; if they don't, exit unsuccessfully. Fixes thought-machine#3457.
Add a `maxdepth` parameter to the `get_labels` built-in function that controls the maximum depth of `get_labels`' recursive dependency search. The default is -1, meaning "no limit". The main use case is to help limit the collection of `cc:inc:` labels to direct dependencies in the cc-rules plugin, since headers used by transitive (library) dependencies shouldn't be required at compilation time. This is an alternative to (and is in fact a superset of the functionality offered by) the `transitive` parameter: `transitive=True` is equivalent to `maxdepth=-1`, and `transitive=False` is equivalent to `maxdepth=0`. The `transitive` parameter remains for backwards compatibility, although it could now be removed in a future major release.
This fixes a bug whereby symbol tables in BSD-variant ar archives are erroneously treated as real files, and are therefore copied into output archives when input archives are merged via `--combine` - see please-build/ar#22.
The FreeBSD 14.2-RELEASE runner seems to have been deprecated in the last week.
…ght-machine#3466) There are circumstances under which a target might want to inherit the run-time dependencies of certain build-time dependencies, because the target's output is built in such a way that its dependencies don't have their own run-time dependencies resolved. An example of this is the shell-rules plugin's `sh_binary` rule: a `sh_binary` is a zip file of its dependencies (`deps`) concatenated onto a shell script preamble that extracts those dependencies into a temporary directory during initialisation. If one of those `deps` happens to have its own run-time dependencies, Please will not resolve them, and they will therefore not be built before the target runs (and will not be sent to the remote worker along with the target's output). Add two parameters to `build_rule` - `runtime_deps_from_srcs` and `runtime_deps_from_deps` - that indicate to Please that run-time dependencies should additionally be collected from the target's `srcs` and `deps` respectively. This allows build definitions to inherit the run-time dependencies of their sources and/or build-time dependencies if they know they will be needed when running the target they generate.
…achine#3469) `data` (and `debug_data`) targets themselves may have their own run-time dependencies - also mark those targets as prerequisites for executing the top-level target.
Instead of looking for .plzconfig in the current directory only, traverse upwards until we find it. This replicates the behavior of getRepoRoot in src/core/utils.go. Fixes thought-machine#3473 Co-authored-by: Simon Reiser <simon.reiser@pascom.net>
Co-authored-by: Jonathan Poole <jpoole@thoughtmachine.net> Co-authored-by: Samuel Littley <samuel.littley@toastwaffle.com> Co-authored-by: Chris Novakovic <chris@chrisn.me.uk>
…-machine#3477) M1 is deprecated, and m4pro.medium is the new hotness (with significantly more RAM...)
…y with Buildbarn and SRI standard (thought-machine#3472) Buildbarn assumes that only one SHA per binary is provided, or the SHAs are of different algorithms. To enable Buildbarn as a backend to Please, this change is necessary. With this change, current Buildbarn works as a backend. --------- Co-authored-by: Andrzej J Skalski <gitstuff@s5i.ch>
This adds the ability to do regular expression checks on strings using the go `regexp` package.
toastwaffle
approved these changes
Feb 18, 2026
this change will be in a new PR
…into update-codelab-docs
toastwaffle
requested changes
Feb 18, 2026
Contributor
toastwaffle
left a comment
There was a problem hiding this comment.
Merge needs to be fixed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.