-
Notifications
You must be signed in to change notification settings - Fork 38
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
SEAL5 CI/CD Flow: Build ETISS #152
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kebi-be Thank you for the PR. I added some comments with possible improvements. If you have questions, please reach out to me.
.github/workflows/build_etiss.yml
Outdated
|
||
on: | ||
repository_dispatch: | ||
types: [s4e-cdl-event, seal5-event] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cdl
-> cdsl
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
changed
.github/workflows/build_etiss.yml
Outdated
on: | ||
repository_dispatch: | ||
types: [s4e-cdl-event, seal5-event] | ||
#push: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or comment it in, if we want the workflow to be executed when etiss has new commits (which might be a good idea...)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
commented this in.
.github/workflows/build_etiss.yml
Outdated
ABI: ilp32 | ||
|
||
jobs: | ||
setup-run-M2ISAR: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
setup-run-M2ISAR
-> setup-run-m2isar
.github/workflows/build_etiss.yml
Outdated
git clone https://github.com/tum-ei-eda/etiss_arch_riscv.git --recursive --branch coredsl_exceptions | ||
git clone https://github.com/tum-ei-eda/M2-ISA-R.git --branch coredsl2 | ||
cd M2-ISA-R | ||
virtualenv -p python3.10 venv #Alternative (requires `apt install python3-venv`): python3 -m venv venv |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove alternative comment
.github/workflows/build_etiss.yml
Outdated
@@ -0,0 +1,133 @@ | |||
name: Build ETISS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The workflow name and filename should be a bit more precise:
- We do not only build etiss. The workflow runs m2isar, patches etiss and then builds it
- This workflow is currently S4EMac specific. This should probably be indicated somewhere
- Ideally we could extend this to support other archs than
RV32IMCXS4EMAC
. This should be feasible by moving theenv:
contents into a CI matrix and adding conditionals tto the steps below. I think we should discuss this after the PR is merged as it would require more testing...
- run: | | ||
git config --global url."https://github.com/".insteadOf [email protected]: | ||
git config --global url."https://".insteadOf git:// | ||
git clone [email protected]:wysiwyng/etiss.git etiss_source --branch coverage |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
.github/workflows/build_etiss.yml
Outdated
cd etiss_source | ||
cp ArchImpl/RV32IMACFD/RV32IMACFDArchSpecificImp.cpp ArchImpl/RV32IMCXS4EMAC/RV32IMCXS4EMACArchSpecificImp.cpp | ||
sed -i "s/RV32IMACFD/RV32IMCXS4EMAC/g" ArchImpl/RV32IMCXS4EMAC/RV32IMCXS4EMACArchSpecificImp.cpp | ||
git config --global user.email "[email protected]" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe use this to be more generic?
git config --global user.name "${GITHUB_ACTOR}"
git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com"
- name: Send ETISS RUN-ID to Seal5 | ||
uses: peter-evans/repository-dispatch@v3 | ||
with: | ||
token: ${{ secrets.REPO_ACCESS_TOKEN }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please provide the secrets we need to add to the etiss repo settings
(@kebi-be Oops, I just saw you comment)
@wysiwyng If this flow seems to work fine, we should extend it to automatically open up a PR with the new/patched Architecture. (Not only for S4EMAC but also RV{32,64}IMAFDC) |
IMO this doesn't belong in this repository. The main source for the RISC-V model in this repository is still https://github.com/tum-ei-eda/etiss_arch_riscv, and the main ETISS repository should only contain a non-specialized RV32/64GC core. |
This workflow will receive trigger from DLR-SE/riscv-coredsl-description or SEAL5 repositories to start building etiss for all riscv-coredsl-description files .
For the s4emac example changes from github.com/wysiwyng/etiss.git --branch coverage must be merged to the upstream version for the workflow to be successful