8000 GHA Improvements by csegarragonz · Pull Request #763 · faasm/faasm · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

GHA Improvements #763

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

Merged
merged 20 commits into from
Jun 21, 2023
Merged

GHA Improvements #763

merged 20 commits into from
Jun 21, 2023

Conversation

csegarragonz
Copy link
Collaborator
@csegarragonz csegarragonz commented Jun 17, 2023

Currently, the GHA jobs take around 45' to complete, what really slows down the development cycle. In this PR I introduce a number of improvements to the main integration test workflow.

First, the cpp-funcs and py-funcs steps only need to be re-run if there are any changes in the clients/cpp and clients/python submodules respectively. Unfortunately, the upload-artifact action only works within a workflow run, and not accross workflow runs, so we can't use previous run's artifacts easily. Instead, we use a cache for WASM code. In summary, the cpp-funcs and py-funcs only run if there are changes or the cache has expired. (As a sidenote, GHA's caches have a versioning that depends on the compression algorithm used, which is different inside and outside a container, so we must make sure they are the same by installing zstd in the containers).

Secondly, a lot of time is spent building the codegen binary without sanitisers, and then re-building the tests again with sanitisers enabled. We make a couple of observations:

  • First, code generation needs to happen only if (i) cpp or python have changed, or (ii) cpp and python have not changed, but we have a machine code cache miss (i.e. new CPU).
  • We only need to build the codegen_func binary if we need to re run the codegen, and not always.

@csegarragonz csegarragonz force-pushed the gha-speedup branch 2 times, most recently from e46c55f to f3f81c1 Compare June 18, 2023 14:31
@codecov
Copy link
codecov bot commented Jun 18, 2023

Codecov Report

Merging #763 (2ef24bf) into main (75a8b60) will increase coverage by 0.07%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #763      +/-   ##
==========================================
+ Coverage   67.34%   67.42%   +0.07%     
==========================================
  Files          69       69              
  Lines        7726     7726              
==========================================
+ Hits         5203     5209       +6     
+ Misses       2523     2517       -6     

see 2 files with indirect coverage changes

@csegarragonz csegarragonz force-pushed the gha-speedup branch 3 times, most recently from 360f7b9 to 5954d49 Compare June 19, 2023 08:44
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.

1 participant
0