jmacheta/Setup GCC Toolchain

Download and configure a GCC cross-compilation toolchain for use in CI workflows

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
toolchainToolchain 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
vendorToolchain 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""
versionToolchain 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. nolatest
cache-strategyWhich 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. noremote
local-cache-locationDirectory 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-pathPrepend 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. notrue
namedescription
toolchain-pathPath to the installed toolchain root directory
cache-hitWhether the toolchain was restored from cache