Skip to content

Remove redundant text from Python codelab conclusion#3487

Closed
scyyx5 wants to merge 39 commits intothought-machine:update-codelab-docsfrom
scyyx5:update-codelab-docs
Closed

Remove redundant text from Python codelab conclusion#3487
scyyx5 wants to merge 39 commits intothought-machine:update-codelab-docsfrom
scyyx5:update-codelab-docs

Conversation

@scyyx5
Copy link
Contributor

@scyyx5 scyyx5 commented Feb 18, 2026

No description provided.

chrisnovakovic and others added 30 commits October 23, 2025 09:54
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.
Copy link
Contributor

@toastwaffle toastwaffle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merge needs to be fixed

@Birkalo Birkalo closed this Feb 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

Comments