Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support CI workflow with specified ROM, FMC, and RT versions #1464

Open
jhand2 opened this issue Apr 15, 2024 · 1 comment
Open

Support CI workflow with specified ROM, FMC, and RT versions #1464

jhand2 opened this issue Apr 15, 2024 · 1 comment

Comments

@jhand2
Copy link
Collaborator

jhand2 commented Apr 15, 2024

Revisions of ROM and FMC/RT are spread across different branches/tags. We do not currently have a way to produce a single release which will package binaries at specific revisions (currently our release builds everything from a single commit).

We should be able to build FMC/RT from head, but still bundle ROM for a specific release (e.g. 1.0.1).

This can be a Github workflow which takes as input parameters specific tags/commit hashes at which to build each firmware stage.

@benjamindoron
Copy link
Contributor

At the moment, we can't build FMC and RT separately: the builder does all of this, then creates the image bundle.

  • We could enhance the builder to also support generating a bundle from an FMC and RT ELF

The current plan is to create a new workflow that takes ROM and FW git refs as parameters, and:

  • Execute tests: Pass these in to the FPGA and sw-emulator tests. These will now build twice, and copy in the ROM ELF tests as overrides to a destination folder for cargo-nextest to consume.
    • Progress: Done, but many tests still build their own ROM. We need to refactor them to optionally consume a ROM from, for example, a path in an environment variable.
  • Build release: Pass these into build_release.sh
    • Progress: Done. But we note that it's fragile, because some paths have moved over the course of releases. For example hw-latest/ to hw/latest/. We might address this in rom-1.0 by symlinking the old path over to the new one. But this will not fix it for any possible git ref.

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

No branches or pull requests

2 participants