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

[wip] Optimize CI for zokrates.js #558

Merged
merged 6 commits into from Feb 5, 2020
Merged

[wip] Optimize CI for zokrates.js #558

merged 6 commits into from Feb 5, 2020

Conversation

@dark64
Copy link
Collaborator

dark64 commented Jan 30, 2020

Some notes:
Usually the build step includes bundling stdlib to a json file. This file represents the whole stdlib folder structure and is not really needed for building rust related code, but it needs to be bundled for everything to work properly (importing stdlib modules). This process requires both rust and node images to build everything. There are two possible solutions for this; create docker image manually that will contain all dependencies needed for whole process to work (rust nightly, wasm-pack, node and npm) and use that image in the CI step. Downside to this solution is that rust version is then static and needs to be updated manually on each new nightly version. Other solution is to use multi-stage builds inside docker but this takes a lot of time for builds (10min+) as there is no way to use circleci cache in this context as far as I know of. On each push it needs to download base images and install dependencies before starting the build process.

This PR uses the first solution proposed above. If proposed solution is accepted, we should push environment image to official zokrates dockerhub account.

@dark64 dark64 force-pushed the dark64:ci-patch branch from d72cdb4 to 2927801 Jan 30, 2020
@dark64 dark64 force-pushed the dark64:ci-patch branch 2 times, most recently from f3f0378 to 2949b42 Jan 30, 2020
@Schaeff

This comment has been minimized.

Copy link
Member

Schaeff commented Feb 3, 2020

I think it's fine to have a static Rust nightly version. Does that change the solution here?

dark64 added 3 commits Feb 4, 2020
@dark64 dark64 requested a review from Schaeff Feb 4, 2020
zokrates_js/Dockerfile.env Outdated Show resolved Hide resolved
@dark64 dark64 force-pushed the dark64:ci-patch branch from a73aaf3 to c1bbe8c Feb 5, 2020
@Schaeff
Schaeff approved these changes Feb 5, 2020
@Schaeff Schaeff merged commit 0d8f223 into Zokrates:develop Feb 5, 2020
6 checks passed
6 checks passed
ci/circleci: build Your tests passed on CircleCI!
Details
ci/circleci: integration_test Your tests passed on CircleCI!
Details
ci/circleci: test Your tests passed on CircleCI!
Details
ci/circleci: wasm_test Your tests passed on CircleCI!
Details
ci/circleci: zokrates_js_build Your tests passed on CircleCI!
Details
ci/circleci: zokrates_js_test Your tests passed on CircleCI!
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.