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

SystemTest: Build/Run time improvement needed #33

Open
sreuland opened this issue Feb 22, 2023 · 1 comment
Open

SystemTest: Build/Run time improvement needed #33

sreuland opened this issue Feb 22, 2023 · 1 comment

Comments

@sreuland
Copy link
Contributor

sreuland commented Feb 22, 2023

What problem does your feature solve?

long times for building system-test image during GH workflow action execution, right now the build step of system test(make ... build) takes roughly 45 minutes, as it recompiles all components from source(core, rpc, quickstart, rs-xdr)

What would you like to see?

Shorter runtimes for build of system test image during GH workflow action execution.

What alternatives are there?

  • use the system test provided optional config parameters to use an existing docker image of a component rather than compiling from source:
    • CORE_IMAGE - if can use an existing docker image of core, this would reduce build times the most by as much as 20 minutes. - done - allow CORE_IMAGE bin override #95
    • SOROBAN_CLI_IMAGE, SOROBAN_RPC_IMAGE, RS_XDR_IMAGE - if versions of these components were available as pre-build docker images would reduce build times by several minutes.
  • smaller subset of test perf improvement suggested on System Test: shouldn't need to recompile the example contracts once for each test #52 to eliminate duplicate contract compilations between tests.
@sreuland sreuland moved this from Backlog to Next Sprint Proposal in Platform Scrum Feb 22, 2023
@sreuland
Copy link
Contributor Author

sreuland commented Feb 22, 2023

we started initial discussion on some ideas, paraphrasing here:

System tests take ~an hour to run. Any easy ways we can speed it up through caching.

  • Reorg docker file (PR #31) - merged, some marginal effect, overall time is still long
  • attempted using docker gha layer caching with buildx during Github action run (PR #27), it's writing out cache layers, but on subsequent builds in gh, seems to be missing finding layers from the cache, not seeing [CACHED] from docker during build, still investigating.
  • refer to quickstart gha workflow, it does some effective caching with gh cache
  • make quickstart launch faster, since system-test is waiting for that.
  • publish soroban enabled core images to dockerhub under some other image like “experimental” because then gh workflow could pull it from there, instead of compiling from source.
  • Once decoupled from Horizon, will only have core docker dependency

@sreuland sreuland changed the title Build/Run time improvement needed SystemTest: Build/Run time improvement needed Feb 22, 2023
@mollykarcher mollykarcher moved this from Next Sprint Proposal to Current Sprint in Platform Scrum Mar 2, 2023
@mollykarcher mollykarcher moved this from Current Sprint to Next Sprint Proposal in Platform Scrum Mar 20, 2023
@mollykarcher mollykarcher moved this from Next Sprint Proposal to Backlog in Platform Scrum Mar 28, 2023
@mollykarcher mollykarcher moved this from Backlog to Next Sprint Proposal in Platform Scrum Mar 28, 2023
@sreuland sreuland moved this from Next Sprint Proposal to Current Sprint in Platform Scrum Mar 28, 2023
@mollykarcher mollykarcher moved this from Current Sprint to Backlog in Platform Scrum Apr 17, 2023
@mollykarcher mollykarcher removed this from the platform sprint 53 milestone Nov 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Backlog
Development

No branches or pull requests

4 participants