- Nov 15, 2023
-
-
Bot authored
# 1.0.0-alpha.1 (2023-11-15) ### Bug Fixes * correct executable permissions of repository files ([7e3b5863](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/7e3b58635c7c375269e1643195f0a829ec59dcf1)) * **rules_toolchain:** add `amd64`/`arm64` aliases ([332bb9b8](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/332bb9b839176d7ad211f7e2f499b80716d37500)) * **rules_toolchain:** add `no-remote` to local binary symlinks ([254a3d5d](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/254a3d5d9c78772ffc681f7e5ea099e754bbb3b9)) * **rules_toolchain:** add `x86_64`/`aarch64` CPU targets ([bed57561](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/bed5756126fa64764d80a61cb78afada41d09de0)) * **rules_toolchain:** add locally detect OS version to constraints ([a1eae556](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/a1eae55624fb1b2253a3c254943dddb3a98ddc3b)) * **rules_toolchain:** all multiple files to `symlink` ([843f6cc7](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/843f6cc729a213a6d367f54bd11d9d8f87daf842)) * **rules_toolchain:** correct GNU libc check ([1689f920](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/1689f9201b70e6f9a22bebb879d67175421d51a3)) * **rules_toolchain:** do a better job of processing `/etc/release` ([561463ab](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/561463ab90b43341d4f0b66145a3816d64231c41)) * **rules_toolchain:** local binary not found error ([eb0dcd8b](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/eb0dcd8b3ea19c7a414486a6a1e00935ebee6a32)) * **rules_toolchain:** only expose unversioned triplets ([6f607646](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/6f6076467613bba30c3bdefe92a7450d266c60c4)) * **rules_toolchain:** respect `target` attribute ([b5773053](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/b577305399516eaf21d341cf7e687a25ef20ed68)) * **rules_toolchain:** simplify Bazel run commands ([cb5ae502](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/cb5ae5022da29042416443699c82a65d3fdfd955)) * **rules_toolchain:** support no legacy runfiles ([fdc609e4](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/fdc609e4aeda92fadf8c1154b0f012556cdfb133)) ### Features * add a `resolved` target to local binary repositories ([7ad98062](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/7ad98062778c17c7b143a2a366b18361ba950d09)) * **rules_toolchain:** add `DataInfo.executable` ([6cc16f24](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/6cc16f24832cd3b1948929d52fb738d76be90f2c)) * **rules_toolchain:** add `echo` toolchain end-to-end test ([9309dd1a](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/9309dd1acd992fe6be15faaef180a43febcc94c0)) * **rules_toolchain:** add `host` platform and constraint ([9f8ae2c7](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/9f8ae2c728914d7d8adbed93c75338e962ffdd2f)) * **rules_toolchain:** add `local.select` extension ([97b4386f](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/97b4386fdbc416ba7b2b701ac6a56f1ed9abf187)) * **rules_toolchain:** add `toolchain_symlink_path` rule ([f03782a0](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/f03782a088727dba597915d65aa83ed8830eb87b)) * **rules_toolchain:** add `toolchain_symlink_target` rule ([f8987a49](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/f8987a4989363331142df10bce7b6269456da14f)) * **rules_toolchain:** add `toolchain_test` rule ([550b3b1f](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/550b3b1fc183bed745366320ba26632ecb055f9f)) * **rules_toolchain:** add `uname` release detection ([23260b3b](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/23260b3baa8d6e157390e6656dea2309454017cd)) * **rules_toolchain:** add customising the basename for symlink rules ([9ad523df](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/9ad523dfe0e31f0c5bdf17163741befca139e519)) * **rules_toolchain:** add extension for finding local binaries ([2ed07d3b](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/2ed07d3b5ec30b7fceac760c6249d6a9f35bc15d)) * **rules_toolchain:** add host triplet detection ([0e2e2116](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/0e2e211668df6fc8af0ccb0fe1e6bf4ac25566c4)) * **rules_toolchain:** add local toolchain information rule ([d6b279dc](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/d6b279dc9aeb5522746d944b3ee59ae6ae3f067d)) * **rules_toolchain:** add triplet constraints ([52205111](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/522051114a772fb7a878e5f6df44446c944dcba6)) * **rules_toolchain:** add triplet platforms ([14aba1de](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/14aba1de9d9c97ab71b49c2a832960ed64640d7e)) * **rules_toolchain:** add triplet targets and information ([61871330](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/6187133091be4f6f6fc5b24444d380033ba244eb)) * **rules_toolchain:** expose `glibc` `VERSIONS` collection ([5db2957e](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/5db2957e727342dfc00e000c34310b1a08a1f088)) * **rules_toolchain:** generate LTS version variants ([6deceb46](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/6deceb4619a4a0fd04565d2403ac60297eeae931)) * **rules_toolchain:** generate versioned triplets ([63c94365](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/63c943658fdce7fbb7a151374c60bdb615261da2)) * **rules_toolchain:** test anything protocol for testing ([191ce97e](https://git.gitlab.arm.com/bazel/rules_toolchain/commit/191ce97e2c613e849f803dc1c7ff958f0ff9f021))
-
Matthew Clarkson authored
-
Matthew Clarkson authored
This removes the need for a custom `resolved` rule for every toolchain. Upgrade path is to add the `toolchain_type` to the local repository rule in `MODULE.bazel` and change the `resolved` target to an alias. A `toolchain_resolved` repository rule is added as well for toolchains that do not use local binaries. This patch hugely simplifies the creation of toolchains downstream.
-
Matthew Clarkson authored
The default is to set files as executable in repository rules. We often do not want that.
-
Matthew Clarkson authored
-
Alexander Khabarov authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
-
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
Especially disabling legacy runfiles.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
`use_repo_rule` is available in `6.4.0` and above. It _hugely_ simplifies what we want to do. That should be the new minimum version for our rulesets. As of writing, `6.4.0` is not released. The release candidates do not have the `use_repo_rule` added, yet. Most rules use `last_rc` Bazel version. `visibility` is available in 6.0+.
-
Matthew Clarkson authored
-
Adds an tag class that can select a repository based on the current local machine triplet.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
For some reason, the `triplet:test` target creates all the Posix shell scripts for each triplet. We need a more efficient `triplet` rule implementation. We also need to figure out why every single triplet is getting resolved.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
It is almost impossible to correctly transfer all the local files necessary for a local binary to the remote service. For safety, constraint all local toolchains to run on the local client until we have more time to validate that local toolchains work remotely. This is certainly possible: C/C++ toolchain define all the local files needed for remote execution. We will need to expose the `data` attribute through so that arbitary files can be globbed and sent along with the binary.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
Bazel has conflicting nomenclature here. They use host machine, in particular `--host_platform` but they also use local machine when refering to remote execution. It makes sense to align on one, local seems sensible as that works in both non-remote-execution and remote-execution conversations.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
Allows easy testing of a toolchain binary.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
This allows rules that need to propagate multiple files. `sh_binary` is one example of this. _Technically_, this should be possible by propagating runfiles but the toolchains are needed at build time, not runtime.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
Importantly, includes the `executable = True` keyword.
-
Matthew Clarkson authored
Allows usage of `--host_platform=@rules_toolchain//toolchain/platform:host` to get `libc` aware host constraints.
-
Matthew Clarkson authored
They are not _real_ constraints but `config_settings` which can be used in a `select` to switch on the triplet.
-