Skip to content

Split Dockerfile#14

Open
Danacus wants to merge 5 commits into
mainfrom
ci-layers
Open

Split Dockerfile#14
Danacus wants to merge 5 commits into
mainfrom
ci-layers

Conversation

@Danacus

@Danacus Danacus commented May 29, 2026

Copy link
Copy Markdown
Contributor

Some refactoring of the CI:

  • Building RISC-V toolchain split off from Dockerfile into Dockerfile.riscv-toolchain.
  • Separate CI workflow builds the RISC-V toolchain and pushes the image to the registry. This workflow should only run if there are any changes to the install script or Dockerfile.riscv-toolchain, and only pushes to the registry on the main branch (or when triggered manually through a workflow_dispatch, e.g. gh workflow run "Build RISC-V toolchain image" --ref ci-layers).
  • Main Dockerfile now uses the RISC-V toolchain image as base image.
  • ci.yml and reduced.yml workflows are now merged into a single workflow, with the intention of only having to declare each test once, even if they are used by both workflows. It instead uses conditional execution of certain steps of the workflows.
  • Each test is also moved to a separate step so they can run in parallel. First the ecosystem image is built and pushed with a git SHA to the registry. When all tests pass, and we are on the main branch, the image is retagged to latest. This creates a bit of bloat in the package registry, but it seems to be the only way to have tests run in parallel while also only pushing to latest if all tests pass.

Also fixed the Yosys build and pinned pywellen to an older version (will submit a PR with pywellen update soon).

Some parts are a bit vibe-coded, but it seems to work well from what I can tell.

@Danacus

Danacus commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

All CI seems to pass now. Normally, when this runs on main, it should retag the image to latest, but we can only really test this by merging with main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant