Skip to content

Conversation

@csegarragonz
Copy link
Collaborator

@csegarragonz csegarragonz commented Mar 6, 2024

This PR simplifies, unifies, and improves the performance of our GHA jobs.

The background motivation is that, after moving to LLVM 17, building dev.tools inside a GHA's hosted container runs out of disk space.

We have been down this road before, this already happened with the SGX tests. Our current fix is to use an action to free disk space in the runner. The action works great and it frees dozens of GBs, so it should be stable enough in the middle term.

Unfortunately, this action can only be used on regular (i.e. non-containerised) GHA jobs. Thus, we move the main tests job matrix to use faasmctl.

In the process, I have spent some time building an action that caches the pulling of all the docker images we use as part of all the tests: https://gitub.com/faasm/image-cache-action

This also greatly speeds-up image pulling time. Currently, getting all the images to deploy a cluster ready to run can be done in < 5', and is bound by the CPU running docker load.

By carefully controlling the outputs of the cache, together with the conan cache, we can be ready to run the tests in 16'. Of this:

  • 4' come from getting the images ready
  • 3' come from starting a faasmctl cluster
  • 9' come from building the tests

The lowest-hanging fruit to push this further down is to improve the test building time. We sill build a some dependencies every time we built the tests: nng, zstd, wavm, wamr, and aws-sdk-cpp.

In the future I would like to move some of those to Conan (again!).

@csegarragonz csegarragonz force-pushed the tests-faasmctl branch 2 times, most recently from 32ac622 to 006f777 Compare March 6, 2024 12:02
@codecov
Copy link

codecov bot commented Mar 6, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 68.14%. Comparing base (b6548e2) to head (aee6d70).
Report is 2 commits behind head on main.

❗ Current head aee6d70 differs from pull request most recent head fe81ebe. Consider uploading reports for the commit fe81ebe to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #849   +/-   ##
=======================================
  Coverage   68.14%   68.14%           
=======================================
  Files          71       71           
  Lines        6987     6987           
=======================================
  Hits         4761     4761           
  Misses       2226     2226           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@csegarragonz csegarragonz force-pushed the tests-faasmctl branch 10 times, most recently from 4d4a219 to 87dac4b Compare March 7, 2024 10:14
@csegarragonz csegarragonz force-pushed the tests-faasmctl branch 4 times, most recently from 8d2fd07 to 9fb866d Compare March 7, 2024 13:52
@csegarragonz csegarragonz merged commit eba6524 into main Mar 8, 2024
@csegarragonz csegarragonz deleted the tests-faasmctl branch March 8, 2024 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants