f4pga-examples
f4pga-examples copied to clipboard
ci: avoid installing the toolchain from scratch in each job
Instead of installing the toolchain in each job, this PR splits CI in two stages. First, the 18 variants of the toolchain are installed in containers, which are pushed to GitHub Packages. Then, example jobs pull the containers/packages and use them straightaway.
BTW, a container step is used instead of a container job, so that actions/checkout
is executed on the "host".
CI is failing because the default token for PRs does not allow pushing to the registry. See a run in my fork: https://github.com/umarcor/f4pga-examples/actions/runs/1878523142 (which uses ghcr.io/umarcor/f4pga/dev/conda
instead of ghcr.io/chipsalliance/f4pga/dev/conda
).