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: refactor test workflows to use a DRY/matrix approach #4239

Closed
gustavovalverde opened this issue Apr 28, 2022 · 1 comment · Fixed by #4271
Closed

ci: refactor test workflows to use a DRY/matrix approach #4239

gustavovalverde opened this issue Apr 28, 2022 · 1 comment · Fixed by #4271
Assignees
Labels
A-devops Area: Pipelines, CI/CD and Dockerfiles C-enhancement Category: This is an improvement I-usability Zebra is hard to understand or use lightwalletd any work associated with lightwalletd

Comments

@gustavovalverde
Copy link
Member

Motivation

We have a bunch of workflow code repeating to execute almost the same tasks, for example the following jobs have over a 100 line of codes, and both are almost a replica:

  • test-full-sync
  • test-stateful-sync

This also happens with:

  • test-all
  • test-fake-activation-heights
  • test-empty-sync
  • test-lightwalletd-integration
  • regenerate-stateful-disks

This same behavior is repeating with:
#4223

Designs

  • As most test doesn't share a standard cli execution, this makes pipeline standardization a bit harder
  • Using entrypoint.sh can workaround most of this issues. And might be the ideal solution until a more standardize way of executing the test is created within zebra/rust/cargo.
  • All tests can have an execution variable with an specific nomenclature

Related Work

#4237

@gustavovalverde gustavovalverde added A-devops Area: Pipelines, CI/CD and Dockerfiles C-enhancement Category: This is an improvement S-needs-triage Status: A bug report needs triage P-High 🔥 I-usability Zebra is hard to understand or use lightwalletd any work associated with lightwalletd labels Apr 28, 2022
@gustavovalverde gustavovalverde self-assigned this Apr 28, 2022
@teor2345
Copy link
Contributor

Can this wait until after we've finished the next few lightwalletd integration tests?

  • fully synced RPC
  • generate lightwalletd cached state
  • use lightwalletd cached state

Then we'll know the parameters the matrix or sub-workflow needs.

If we try to do this refactor now, we could end up adjusting parameters a lot, in multiple places.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-devops Area: Pipelines, CI/CD and Dockerfiles C-enhancement Category: This is an improvement I-usability Zebra is hard to understand or use lightwalletd any work associated with lightwalletd
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants