jmacheta/Setup GCC Toolchain
Download and configure a GCC cross-compilation toolchain for use in CI workflows
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| toolchain | Toolchain variant to install. Available: arm-none-eabi, aarch64-none-elf, arm-none-linux-gnueabihf, aarch64-none-linux-gnu, riscv-none-elf, xtensa-esp-elf, riscv32-esp-elf, avr | yes | — |
| vendor | Toolchain vendor to use when multiple vendors provide the same toolchain name (e.g. "xpack" or "arm" for arm-none-eabi). Optional — omit to use the first available vendor; an error is raised if the requested version is ambiguous. | no | "" |
| version | Toolchain version to install (e.g. "15.2.1-1.1" for xPack, "esp-14.2.0_20241119" for Espressif, "14.1.0" for ZakKemble AVR). Use "latest" or omit to install the newest available version. | no | latest |
| cache-strategy | Which cache(s) to use: "remote" (actions/cache, default) — works on any runner, including ephemeral GitHub-hosted ones; "local" (a directory on the runner's disk, requires local-cache-location) — only useful on a persistent self-hosted runner, but avoids network round-trips and actions/cache quota entirely; "both" — e.g. for a matrix mixing persistent self-hosted and ephemeral hosted runners, where local cache helps the former and remote cache is the only option for the latter; or "none" to always download fresh. | no | remote |
| local-cache-location | Directory used to store/reuse downloaded toolchain archives when cache-strategy is "local" or "both". Left empty (the default), falls back to the SETUP_GCC_TOOLCHAIN_LOCAL_CACHE_LOCATION environment variable — so a self-hosted runner can set its cache path once instead of every workflow repeating it. An error if neither is set. | no | "" |
| set-ld-library-path | Prepend the toolchain's lib/lib64 directory to LD_LIBRARY_PATH so binaries built with it link against its bundled libstdc++/libgcc at runtime instead of an older system one (avoids "GLIBCXX_x.y.z not found" errors). Set to "false" to leave LD_LIBRARY_PATH untouched. | no | true |
Outputs
| name | description |
|---|---|
| toolchain-path | Path to the installed toolchain root directory |
| cache-hit | Whether the toolchain was restored from cache |