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

CI: Split the RISC-V Build Jobs into smaller jobs #85

Closed
wants to merge 1 commit into from
Closed

Conversation

lupyuen
Copy link

@lupyuen lupyuen commented Oct 9, 2024

Summary

To speed up the CI Workflow, this PR splits the CI Build Jobs for RISC-V into smaller jobs. Each job will now complete within 1 hour.

Before the PR: There are 2 jobs for RISC-V, each requiring more than 1.5 hours

  • risc-v-01 (1 hour 42 mins): BL602, Ox64, ESP32-C3 / C6 / H2
  • risc-v-02 (1 hour 41 mins): K230, Icicle, QEMU, RV32M1-Vega

After the PR: The build is spread across 6 jobs for RISC-V, each job completes within 1 hour

  • risc-v-01 (19 mins): BL602, Ox64
  • risc-v-02 (44 mins): ESP32-C3
  • risc-v-03 (45 mins): ESP32-C6, ESP32-H2
  • risc-v-04 (31 mins): K230, Icicle
  • risc-v-05 (41 mins): QEMU CITest
  • risc-v-06 (38 mins): Rest of QEMU, RV32M1-Vega

Following the same convention as the Arm32 Build Jobs, the above jobs are sorted by Target Name. Performance of the RISC-V Build Jobs is discussed in apache#13775

Impact

With this PR, RISC-V Build Jobs will finish earlier:

Before the PR: RISC-V Build Jobs take up to 1 hour 42 mins (risc-v-01) to complete.

After the PR: RISC-V Build Jobs will take at most 45 mins (risc-v-03) to complete.

The Updated CI Workflow shall be synced to nuttx-apps repo in the next PR.

Testing

We verified that RISC-V Build Jobs are executed successfully with the Updated CI Workflow: https://github.com/lupyuen5/label-nuttx/actions/runs/11255875050

Timings for the RISC-V Build Jobs:

Before the PR

  • risc-v-01: 1 hour 42 mins
  • risc-v-02: 1 hour 41 mins

After the PR

  • risc-v-01: 19 mins
  • risc-v-02: 44 mins
  • risc-v-03: 45 mins
  • risc-v-04: 31 mins
  • risc-v-05: 41 mins
  • risc-v-06: 38 mins

@lupyuen lupyuen changed the title CI: Split RISC-V Build Jobs into smaller jobs CI: Split the RISC-V Build Jobs into smaller jobs Oct 9, 2024
To speed up the CI Workflow, this PR splits the CI Build Jobs for RISC-V into smaller jobs. Each job will now complete within 1 hour.

Before the PR: There are 2 jobs for RISC-V, each requiring more than 1.5 hours
- `risc-v-01` (1 hour 42 mins): BL602, Ox64, ESP32-C3 / C6 / H2
- `risc-v-02` (1 hour 41 mins): K230, Icicle, QEMU, RV32M1-Vega

After the PR: The build is spread across 6 jobs for RISC-V, each job completes within 1 hour
- `risc-v-01` (19 mins): BL602, Ox64
- `risc-v-02` (44 mins): ESP32-C3
- `risc-v-03` (45 mins): ESP32-C6, ESP32-H2
- `risc-v-04` (31 mins): K230, Icicle
- `risc-v-05` (41 mins): QEMU CITest
- `risc-v-06` (38 mins): Rest of QEMU, RV32M1-Vega

Following the same convention as the Arm32 Build Jobs, the above jobs are sorted by Target Name. Performance of the RISC-V Build Jobs is discussed in apache#13775
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant