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

Use a docker registry for E2E tests #3752

Closed
Tracked by #4615
nicolaslara opened this issue Dec 16, 2022 · 4 comments
Closed
Tracked by #4615

Use a docker registry for E2E tests #3752

nicolaslara opened this issue Dec 16, 2022 · 4 comments

Comments

@nicolaslara
Copy link
Contributor

Background

You can't cache docker builds on CI and building it on every run makes it much slower.

Suggested Design

We can modify CI to use an osmosis docker registry so that the builds get posted there and get pulled if there are no changes.

Acceptance Criteria

E2E tests run faster

@ValarDragon
Copy link
Member

ValarDragon commented Dec 16, 2022

We build a docker image for main on most commits. Cref: #2264 (comment)

Its a bit unclear to me though, looking at recent PRs, seems like a lot don't have this build step that we want to make faster. But some still do at 2.5 minutes (#2264 (comment)) (EDIT: And some at 4.5 minutes (https://github.com/osmosis-labs/osmosis/actions/runs/3716362935/jobs/6302602855))

So we want to speed that up.

The idea of this issue, is:

  1. Understand why we have to rebuild only some of the time
  2. Understand if we can get the incremental go build time, if we leveraged docker hub (or is it impossible to get the go CI cache there)

Unassigning myself though, would love if someone can work on it though!

@ValarDragon ValarDragon removed their assignment Dec 16, 2022
@nicolaslara
Copy link
Contributor Author

@niccoloraspa I don't think this is high priority, but mentioning you here since you probably are interested in this particular issue

@p0mvn
Copy link
Member

p0mvn commented Jan 25, 2023

What exactly should be done in this issue for it to be addressed? If it's undefined, can we close it?

The description and Dev's comment seem to talk about different things.

Unfortunately, we cannot post the image to the docker registry because we must make sure that we are running an e2e test for the current commit version of Osmosis.

The only possible mitigation strategies that I'm aware of are the following:

  1. Reduce the frequency of builds by making sure that we only rebuild when the relevant Go files change
  • There is filtering that exists already here
  1. Increase the likelihood of Docker cache being reused by avoiding the copying of misc files in the Dockerfile

So, as far as I understand, we already apply all possible mitigation strategies

@p0mvn p0mvn added this to the E2E: Ice Box milestone Jan 25, 2023
@p0mvn p0mvn added the C:e2e label Jan 25, 2023
@p0mvn p0mvn moved this from Needs Review 🔍 to Blocked ❌ in Osmosis Chain Development Jan 25, 2023
@czarcas7ic czarcas7ic moved this from Blocked ❌ to Needs Triage 🔍 in Osmosis Chain Development Mar 14, 2023
@czarcas7ic
Copy link
Member

Closing this in favor of other speed up ideas

@github-project-automation github-project-automation bot moved this from Needs Triage 🔍 to Done ✅ in Osmosis Chain Development Mar 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

4 participants