Skip to content

Commit

Permalink
Revised release workflow to resolve misalignment between sw/rtl repos
Browse files Browse the repository at this point in the history
  • Loading branch information
calebofearth committed May 20, 2024
1 parent a88c67b commit c36f973
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions doc/HWReleaseProcess.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,11 @@

## Major Releases

1. The RTL team will consume the **release collateral** generated by the **Nightly Workflow** and verify it in the DV environment. The verification should include RTL synthesis using the chosen tool from the Caliptra WG.
2. Upon success of the DV verification a new release will be made on the **caliptra** repo
- A ZIP file containing the release collateral will be included as part of the release.
4. The **caliptra-rtl** and **caliptra-sw** repos will be tagged with a **release** version tag.
1. Before finalizing an RTL release, the hardware team will follow the procedure described in [CaliptraReleaseChecklist.md](https://github.com/chipsalliance/caliptra-rtl/blob/cc37991e50f9213219d13f2e0d99b0ba5c7460e0/docs/CaliptraReleaseChecklist.md).
2. Upon finalizing all release checklist items, the hardware team will generate a release tag on the RTL **main** branch, following the naming convention **v<major>.<minor>**.
3. When this is completed, the RTL team will create a new branch following the naming convention **patch_v<major>.<minor>**. This branch will exactly match the contents of the major release tag. Any future fixes that must be applied as patches to this release version will be committed to the **patch_v<major>.<minor>** branch. Branch **main** will continue to receive updated code for the subsequent planned release, and is not guaranteed to contain a valid release except as tagged.
4. The software team will follow the submodule update [steps](#RTL-Submodule-Pointer-Update) to revise the RTL submodule pointer to consume the code from branch **patch_v<major>.<minor>** instead of from branch **main**.
4. The **caliptra-sw** repo will be tagged with a **release** version tag. As a result of the submodule flow, this release will contain a snapshot of the code from **caliptra-rtl** repo that has already been tagged with the release version.

## Fail Case

Expand All @@ -35,7 +36,7 @@
- A dev branch will be created from the tip of the RTL main branch, and WA fixes will be applied as individual commits
- The RTL Sumbodule pointer in the **caliptra sw** repo will manually be updated to point to the dev branch.
- The nightly release workflow will generate all individual patches as part of the collateral archive and list them in the release notes.
4. Once the issue is fixed, the RTL dev branch will be deleted and the RTL submodule pointer will be repositioned to the HEAD of the RTL main branch.
3. Once the issue is fixed, the RTL dev branch will be deleted and the RTL submodule pointer will be repositioned to the HEAD of the RTL main branch.

## Release Collateral

Expand Down Expand Up @@ -67,6 +68,7 @@

- All releases will come from the main branch with nightly cadence.
- Once a release is made the **nightly release branch** SHALL be deleted.
- Code from the **caliptra-rtl** repo that is included in a major release tag on the **caliptra-sw** repo must exactly match the major release tag that was made in the **caliptra-rtl** repo.

<br> *Caliptra Release Flow*
![Caliptra Release Flow Chart](doc/images/Caliptra_release_flow.svg)

0 comments on commit c36f973

Please sign in to comment.