@zackees/soldr 0.7.22 → 0.7.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -99,6 +99,35 @@ On runners without `rustup`, the action downloads and installs it into the cache
|
|
|
99
99
|
|
|
100
100
|
The public action lives in [`zackees/setup-soldr`](https://github.com/zackees/setup-soldr) and is generated from this repository's root action source. This repository dogfoods `zackees/setup-soldr@v0` in [setup-soldr-action.yml](./.github/workflows/setup-soldr-action.yml). For fuller examples and fallback patterns, see [INTEGRATION.md](./INTEGRATION.md).
|
|
101
101
|
|
|
102
|
+
### Native vs cross targets
|
|
103
|
+
|
|
104
|
+
`soldr cargo --target ...` runs the build through soldr/zccache, but it does not fetch a target's Rust standard library. If the active toolchain does not already have that target installed, the canonical failure is `error[E0463]: can't find crate for core/std` (or `compiler_builtins`) at the first compile step.
|
|
105
|
+
|
|
106
|
+
Native host targets work by default because `rustup` installs the host triple as part of the toolchain. Cross targets must be declared explicitly. Building `aarch64-pc-windows-msvc` from a Windows x86 runner, for example, requires provisioning `aarch64-pc-windows-msvc` before any `soldr cargo --target aarch64-pc-windows-msvc` invocation.
|
|
107
|
+
|
|
108
|
+
Two equivalent ways to declare a cross target: declaratively via `rust-toolchain.toml`'s `[toolchain].targets` (preferred — `setup-soldr` honors it during toolchain install), or imperatively via `soldr rustup target add` / `soldr toolchain prepare` (see [#331](https://github.com/zackees/soldr/issues/331) and [PR #333](https://github.com/zackees/soldr/pull/333)).
|
|
109
|
+
|
|
110
|
+
```toml
|
|
111
|
+
# rust-toolchain.toml — declarative (preferred)
|
|
112
|
+
[toolchain]
|
|
113
|
+
channel = "1.94.1"
|
|
114
|
+
targets = ["aarch64-pc-windows-msvc"]
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# CLI — imperative
|
|
119
|
+
soldr rustup target add aarch64-pc-windows-msvc
|
|
120
|
+
soldr cargo build --target aarch64-pc-windows-msvc
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# Orchestrated
|
|
125
|
+
soldr toolchain prepare
|
|
126
|
+
soldr cargo build --target aarch64-pc-windows-msvc
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
The canonical multi-platform GitHub Actions tutorial lives in [`zackees/setup-soldr#90`](https://github.com/zackees/setup-soldr/issues/90).
|
|
130
|
+
|
|
102
131
|
### CI cache lineage
|
|
103
132
|
|
|
104
133
|
GitHub Actions caches are not shared across arbitrary sibling feature branches. A workflow run can restore caches from its own branch, the default branch, and for pull requests the PR base branch. It cannot directly restore caches created on another feature branch.
|