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

Speed up CI by re-using relayer binary for E2E tests #582

Closed
5 tasks
romac opened this issue Jan 29, 2021 · 1 comment · Fixed by #604
Closed
5 tasks

Speed up CI by re-using relayer binary for E2E tests #582

romac opened this issue Jan 29, 2021 · 1 comment · Fixed by #604
Assignees
Labels
I: infrastructure Internal: related to Infrastructure (testing, deployment, etc) O: tests Objective: Test more aspect of the relayer
Milestone

Comments

@romac
Copy link
Member

romac commented Jan 29, 2021

We could likely significantly speed up the end-to-end test job by copying the relayer binary built as part of the Rust job into the image instead of rebuilding it.


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate milestone (priority) applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@romac romac added the O: tests Objective: Test more aspect of the relayer label Jan 29, 2021
@adizere adizere added this to the v0.1.0 milestone Feb 3, 2021
@adizere adizere self-assigned this Feb 3, 2021
@adizere adizere added the I: infrastructure Internal: related to Infrastructure (testing, deployment, etc) label Feb 3, 2021
@adizere
Copy link
Member

adizere commented Feb 3, 2021

The original CI infrastructure was done as part of informalsystems/ibc-rs#544.
This was later extended with comprehensive tests in informalsystems/ibc-rs#571.

The work in the original CI consists of three docker images:

  • two of them were gaia chain images called "informaldev/ibc-0" and "informaldev/ibc-1"
  • the third image is for the relayer, and is dependent on the gaia images; this is built on-the-fly upon every commit to a pull-request

There are two basic differences between the original work and the new PR:

  1. the relayer binary is now compiled as part of the Github action, and then this binary is made available (cp) to the relayer docker image:

https://github.com/informalsystems/ibc-rs/blob/81af0b0b0418c4a365617e3cbf6006db80a3c831/.github/workflows/e2e.yaml#L13-L17

in the original work, the binary was compiled directly inside the docker-compose task:

https://github.com/informalsystems/ibc-rs/blob/148e196308a217542f2dc49bfe5881362bf1013d/ci/relayer.Dockerfile#L28

  1. the cargo build command for obtaining the relayer binary no longer relies on --all --release, shortening the build cycle by ~5 minutes (almost halved)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I: infrastructure Internal: related to Infrastructure (testing, deployment, etc) O: tests Objective: Test more aspect of the relayer
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants