nervosnetwork / ckb

The Nervos CKB is a public permissionless blockchain, and the layer 1 of Nervos network.
https://www.nervos.org
MIT License
1.17k stars 232 forks source link

Enhance CI Workflow Efficiency #4567

Closed eval-exec closed 2 months ago

eval-exec commented 3 months ago

Feature Request

Is your feature request related to a problem? Please describe.

Our CI workflows are currently slow, and we'd like to propose a few improvements:

  1. Push Events:

    • Run only lint, unit, and integration tests on Ubuntu to speed up feedback.
  2. Merge Group:

    • Run the full suite (macOS, Windows, Ubuntu) for comprehensive checks.
  3. Optimize Build Time:

    • Make ckb-test as a [bin] in the ckb workspace, let ckb-test bin and ckb bin shared same one target dir.
    • Build once in make prod so that make integration reuses the artifacts, reducing overall time.
  4. Unify Dependency Versions:

    • Use cargo tree --duplicate to ensure each dependency version is used only once, reducing compilation redundancies.
  5. Cache Build Target

  6. Increase Integration Test Concurrency

These changes will streamline our CI processes and reduce build times.

Describe the solution you'd like

Describe alternatives you've considered

github-actions[bot] commented 2 months ago

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.

github-actions[bot] commented 2 months ago

This issue was closed because it has been stalled for 5 days with no activity.